Bagian ini menjelaskan cara menginstal dan mengkonfigurasi node penyimpanan untuk layanan Block Storage. Untuk mempermudah, konfigurasi ini mereferensi satu node penyimpanan dengan perangkat penyimpanan blok lokal kosong. Petunjuk menggunakan /dev/sdb
, tetapi Anda dapat mengganti nilai yang berbeda untuk node tertentu.
Layanan menyediakan (provision) volume logis pada perangkat ini menggunakan driver LVM dan menyediakan mereka untuk instance melalui transport iSCSI. Anda dapat mengikuti petunjuk ini dengan sedikit modifikasi untuk skala lingkungan Anda secara horizontal dengan node penyimpanan tambahan.
Sebelum Anda menginstal dan mengkonfigurasi layanan Block Storage pada node penyimpanan, Anda harus mempersiapkan perangkat penyimpanan.
Catatan
Lakukan langkah ini pada node penyimpanan.
Instal paket utilitas pendukung:
Instal paket LVM:
# yum install lvm2
Mulai layanan LVM metadata dan mengkonfigurasinya untuk memulai booting:
# systemctl enable lvm2-lvmetad.service
# systemctl start lvm2-lvmetad.service
Catatan
Beberapa distribusi termasuk LVM secara default.
Buat LVM volume yang fisik /dev/sdb
:
# pvcreate /dev/sdb
Physical volume "/dev/sdb" successfully created
Buat grup volume LVM cinder-volumes
:
# vgcreate cinder-volumes /dev/sdb
Volume group "cinder-volumes" successfully created
Layanan Block Storage menciptakan volume logis dalam group volume ini.
Hanya instance dapat mengakses volume Block Storage. Namun, sistem operasi yang mendasarinya mengelola perangkat yang terkait dengan volume. Secara default, alat pemindaian volume LVM melakukan scan direktori /dev
untuk perangkat penyimpanan blok yang berisi volume. Jika proyek menggunakan LVM pada volume mereka, alat scanning mendeteksi volume ini dan mencoba untuk melakukan cache hal hal yang dapat menyebabkan berbagai masalah dengan sistem operasi yang mendasarinya dan volume proyek. Anda harus mengkonfigurasi ulang LVM hanya untuk memindai perangkat yang berisi kelompok volume cinder-volumes`. Edit file ``/etc/lvm/lvm.conf
dan selesaikan tindakan berikut:
Dalam bagian devices
, tambahkan filter yang menerima perangkat /dev/sdb
dan menolak semua perangkat lain:
devices {
...
filter = [ "a/sdb/", "r/.*/"]
Setiap item dalam array filter yang dimulai dengan a
untuk accept atau r
untuk reject dan termasuk ekspresi reguler untuk nama perangkat. Array harus diakhiri dengan ``r /.*/ `` untuk menolak setiap perangkat yang tersisa. Anda dapat menggunakan command vgs -vvvv untuk menguji filter.
Peringatan
Jika node penyimpanan Anda menggunakan LVM pada sistem operasi disk, Anda juga harus menambahkan perangkat yang terkait dengan filter. Misalnya, jika perangkat /dev/sda`
berisi sistem operasi:
filter = [ "a/sda/", "a/sdb/", "r/.*/"]
Demikian pula, jika compute node Anda menggunakan LVM pada sistem operasi disk, Anda juga harus mengubah filter dalam file /etc/lvm/lvm.conf
pada mereka node untuk menyertakan hanya sistem operasi disk. Misalnya, jika perangkat /dev/sda
berisi sistem operasi:
filter = [ "a/sda/", "r/.*/"]
Instal paket:
# yum install openstack-cinder targetcli python-keystone
Edit file /etc/cinder/cinder.conf
dan menyelesaikan tindakan berikut:
Dalam bagian `` [Database] ``, konfigurasi akses database:
[database]
# ...
connection = mysql+pymysql://cinder:CINDER_DBPASS@controller/cinder
Ganti CINDER_DBPASS
dengan password yang Anda pilih untuk database Block Storage.
Dalam bagian [DEFAULT]
, lakukan konfigurasi akses antrian pesan RabbitMQ
:
[DEFAULT]
# ...
transport_url = rabbit://openstack:RABBIT_PASS@controller
Ganti RABBIT_PASS
dengan password yang Anda pilih untuk akun openstack
di `` RabbitMQ``.
Dalam bagian ``[DEFAULT] `` dan `` [keystone_authtoken] ``, konfigurasi 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
Ganti CINDER_PASS
dengan password yang Anda pilih untuk cinder
user dalam pelayanan Identity.
Dalam bagian [DEFAULT] ``, mengkonfigurasi opsi ``my_ip
:
[DEFAULT]
# ...
my_ip = MANAGEMENT_INTERFACE_IP_ADDRESS
Ganti `` MANAGEMENT_INTERFACE_IP_ADDRESS`` dengan alamat IP dari interface jaringan manajemen pada node penyimpanan Anda, biasanya 10.0.0.41 untuk node pertama dalam example architecture.
Dalam bagian [lvm]
, lakukan konfigurasi LVM back end dengan LVM driver, kelompok volumes cinder-volumes
, protokol iSCSI, dan layanan iSCSI yang tepat. Jika bagian ``[LVM] `` tidak ada, buatlah:
[lvm]
volume_driver = cinder.volume.drivers.lvm.LVMVolumeDriver
volume_group = cinder-volumes
iscsi_protocol = iscsi
iscsi_helper = lioadm
Dalam bagian ``[DEFAULT] ``, aktifkan backend LVM:
[DEFAULT]
# ...
enabled_backends = lvm
Catatan
Nama back-end menggunakan sembarang nama. Sebagai contoh, buku ini menggunakan nama driver sebagai nama back end.
Dalam bagian ``[DEFAULT] ``, konfigurasikan lokasi layanan Image API:
[DEFAULT]
# ...
glance_api_servers = http://controller:9292
Dalam bagian [oslo_concurrency]
, konfigurasi lock path:
[oslo_concurrency]
# ...
lock_path = /var/lib/cinder/tmp
Mulailah layanan volume Block Storage termasuk dependensinya dan konfigurasikan mereka untuk mulai booting:
# systemctl enable openstack-cinder-volume.service target.service
# systemctl start openstack-cinder-volume.service target.service
Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.