Menginstal dan mengkonfigurasi controller node

Menginstal dan mengkonfigurasi controller node

Bagian ini menjelaskan cara menginstal dan mengkonfigurasi layanan Block Storage, code-named cinder, pada controller node. Layanan ini memerlukan setidaknya satu node storage tambahan yang memberikan volume untuk instance.

Prasyarat (Prerequisite)

Sebelum Anda menginstal dan mengkonfigurasi layanan Block Storage, Anda harus membuat database, layanan credentials, dan endpoints API.

  1. Untuk membuat database, lakukan langkah-langkah berikut:

    • Gunakan klien akses database untuk berhubung ke server database sebagai root user:

      $ mysql -u root -p
      
    • Membuat database cinder:

      CREATE DATABASE cinder;
      
    • Memberikan akses yang tepat untuk database cinder:

      GRANT ALL PRIVILEGES ON cinder.* TO 'cinder'@'localhost' \
        IDENTIFIED BY 'CINDER_DBPASS';
      GRANT ALL PRIVILEGES ON cinder.* TO 'cinder'@'%' \
        IDENTIFIED BY 'CINDER_DBPASS';
      

      Ganti CINDER_DBPASS dengan password yang sesuai.

    • Keluarlah dari client untuk mengakses database.

  2. Dapatkan sumber mandat admin untuk mendapatkan akses ke command CLI ‘admin-only’:

    $ . admin-openrc
    
  3. Untuk membuat kredensial layanan, selesaikanlah langkah-langkah ini:

    • Membuat user cinder:

      $ openstack user create --domain default --password-prompt cinder
      User Password:
      Repeat User Password:
      +-----------+----------------------------------+
      | Field     | Value                            |
      +-----------+----------------------------------+
      | domain_id | e0353a670a9e496da891347c589539e9 |
      | enabled   | True                             |
      | id        | bb279f8ffc444637af38811a5e1f0562 |
      | name      | cinder                           |
      +-----------+----------------------------------+
      
    • Tambahkan peran admin ke user cinder:

      $ openstack role add --project service --user cinder admin
      

      Catatan

      Command ini tidak memberikan output.

    • Membuat entitas layanan cinder dan cinderv2:

      $ openstack service create --name cinder \
        --description "OpenStack Block Storage" volume
      +-------------+----------------------------------+
      | Field       | Value                            |
      +-------------+----------------------------------+
      | description | OpenStack Block Storage          |
      | enabled     | True                             |
      | id          | ab3bbbef780845a1a283490d281e7fda |
      | name        | cinder                           |
      | type        | volume                           |
      +-------------+----------------------------------+
      
      $ openstack service create --name cinderv2 \
        --description "OpenStack Block Storage" volumev2
      +-------------+----------------------------------+
      | Field       | Value                            |
      +-------------+----------------------------------+
      | description | OpenStack Block Storage          |
      | enabled     | True                             |
      | id          | eb9fd245bdbc414695952e93f29fe3ac |
      | name        | cinderv2                         |
      | type        | volumev2                         |
      +-------------+----------------------------------+
      

    Catatan

    Layanan Block Storage memerlukan dua entitas layanan.

  4. Membuat endpoint API layanan Block Storage:

    $ openstack endpoint create --region RegionOne \
      volume public http://controller:8776/v1/%\(tenant_id\)s
      +--------------+-----------------------------------------+
      | Field        | Value                                   |
      +--------------+-----------------------------------------+
      | enabled      | True                                    |
      | id           | 03fa2c90153546c295bf30ca86b1344b        |
      | interface    | public                                  |
      | region       | RegionOne                               |
      | region_id    | RegionOne                               |
      | service_id   | ab3bbbef780845a1a283490d281e7fda        |
      | service_name | cinder                                  |
      | service_type | volume                                  |
      | url          | http://controller:8776/v1/%(tenant_id)s |
      +--------------+-----------------------------------------+
    
    $ openstack endpoint create --region RegionOne \
      volume internal http://controller:8776/v1/%\(tenant_id\)s
      +--------------+-----------------------------------------+
      | Field        | Value                                   |
      +--------------+-----------------------------------------+
      | enabled      | True                                    |
      | id           | 94f684395d1b41068c70e4ecb11364b2        |
      | interface    | internal                                |
      | region       | RegionOne                               |
      | region_id    | RegionOne                               |
      | service_id   | ab3bbbef780845a1a283490d281e7fda        |
      | service_name | cinder                                  |
      | service_type | volume                                  |
      | url          | http://controller:8776/v1/%(tenant_id)s |
      +--------------+-----------------------------------------+
    
    $ openstack endpoint create --region RegionOne \
      volume admin http://controller:8776/v1/%\(tenant_id\)s
      +--------------+-----------------------------------------+
      | Field        | Value                                   |
      +--------------+-----------------------------------------+
      | enabled      | True                                    |
      | id           | 4511c28a0f9840c78bacb25f10f62c98        |
      | interface    | admin                                   |
      | region       | RegionOne                               |
      | region_id    | RegionOne                               |
      | service_id   | ab3bbbef780845a1a283490d281e7fda        |
      | service_name | cinder                                  |
      | service_type | volume                                  |
      | url          | http://controller:8776/v1/%(tenant_id)s |
      +--------------+-----------------------------------------+
    
    $ openstack endpoint create --region RegionOne \
      volumev2 public http://controller:8776/v2/%\(tenant_id\)s
    +--------------+-----------------------------------------+
    | Field        | Value                                   |
    +--------------+-----------------------------------------+
    | enabled      | True                                    |
    | id           | 513e73819e14460fb904163f41ef3759        |
    | interface    | public                                  |
    | region       | RegionOne                               |
    | region_id    | RegionOne                               |
    | service_id   | eb9fd245bdbc414695952e93f29fe3ac        |
    | service_name | cinderv2                                |
    | service_type | volumev2                                |
    | url          | http://controller:8776/v2/%(tenant_id)s |
    +--------------+-----------------------------------------+
    
    $ openstack endpoint create --region RegionOne \
      volumev2 internal http://controller:8776/v2/%\(tenant_id\)s
    +--------------+-----------------------------------------+
    | Field        | Value                                   |
    +--------------+-----------------------------------------+
    | enabled      | True                                    |
    | id           | 6436a8a23d014cfdb69c586eff146a32        |
    | interface    | internal                                |
    | region       | RegionOne                               |
    | region_id    | RegionOne                               |
    | service_id   | eb9fd245bdbc414695952e93f29fe3ac        |
    | service_name | cinderv2                                |
    | service_type | volumev2                                |
    | url          | http://controller:8776/v2/%(tenant_id)s |
    +--------------+-----------------------------------------+
    
    $ openstack endpoint create --region RegionOne \
      volumev2 admin http://controller:8776/v2/%\(tenant_id\)s
    +--------------+-----------------------------------------+
    | Field        | Value                                   |
    +--------------+-----------------------------------------+
    | enabled      | True                                    |
    | id           | e652cf84dd334f359ae9b045a2c91d96        |
    | interface    | admin                                   |
    | region       | RegionOne                               |
    | region_id    | RegionOne                               |
    | service_id   | eb9fd245bdbc414695952e93f29fe3ac        |
    | service_name | cinderv2                                |
    | service_type | volumev2                                |
    | url          | http://controller:8776/v2/%(tenant_id)s |
    +--------------+-----------------------------------------+
    

    Catatan

    Layanan Block Storage memerlukan endpoint untuk setiap entitas layanan.

Instal dan konfigurasi komponen

  1. Instal paket:

    # yum install openstack-cinder
    
  1. Edit file /etc/cinder/cinder.conf dan menyelesaikan tindakan berikut:

    • Dalam bagian ``[Database] ``, konfigurlah akses database:

      [database]
      ...
      connection = mysql+pymysql://cinder:CINDER_DBPASS@controller/cinder
      

      Mengganti CINDER_DBPASS dengan password yang Anda pilih untuk database Block Storage.

    • Dalam bagian ``[DEFAULT] `` dan `` [oslo_messaging_rabbit] ``, konfigurlah akses antrian pesan (message queue) “RabbitMQ”:

      [DEFAULT]
      ...
      rpc_backend = rabbit
      
      [oslo_messaging_rabbit]
      ...
      rabbit_host = controller
      rabbit_userid = openstack
      rabbit_password = RABBIT_PASS
      

      Ganti `` RABBIT_PASS`` dengan password yang Anda pilih akun openstack di RabbitMQ.

    • Dalam bagian ``[DEFAULT] `` dan ``[keystone_authtoken] ``, konfigurlah akses layanan Identity:

      [DEFAULT]
      ...
      auth_strategy = keystone
      
      [keystone_authtoken]
      ...
      auth_uri = http://controller:5000
      auth_url = http://controller:35357
      memcached_servers = controller:11211
      auth_type = password
      project_domain_name = default
      user_domain_name = default
      project_name = service
      username = cinder
      password = CINDER_PASS
      

      Mengganti CINDER_PASS dengan password yang Anda pilih untuk user cinder dalam pelayanan Identity.

      Catatan

      Menghilangkan komentar atau bahkan hapus opsi lain dalam bagian ``[keystone_authtoken] `` .

    • Dalam bagian [DEFAULT] ``, konfigurasi opsi ``my_ip menggunakan manajemen antarmuka alamat IP dari ‘controller node’:

      [DEFAULT]
      ...
      my_ip = 10.0.0.11
      
    • Dalam bagian ``[oslo concurrency] ``, konfigurasi ‘lock path’:

      [oslo_concurrency]
      ...
      lock_path = /var/lib/cinder/tmp
      
  1. Melakukan pengisian database Block Storage:

    # su -s /bin/sh -c "cinder-manage db sync" cinder
    

    Catatan

    Mengabaikan semua pesan bantahan dalam output ini.

Melakukan konfigurasi Compute menggunakan Block Storage

  • Editlah file ``/etc/nova/nova.conf``dan tambahkan berikut untuk itu:

    [cinder]
    os_region_name = RegionOne
    

Finalisasi instalasi

  1. Restart layanan Compute API:

    # systemctl restart openstack-nova-api.service
    
  2. Mulailah layanan Block Storage dan konfigurasikan mereka untuk mulai saat booting:

    # systemctl enable openstack-cinder-api.service openstack-cinder-scheduler.service
    # systemctl start openstack-cinder-api.service openstack-cinder-scheduler.service
    
Creative Commons Attribution 3.0 License

Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.