Cinder (Block Storage) : Cinder adalah services yang memanage volume storage untuk virtual machine. Jadi apabila kita berbicara mengenai block storage di openstack maka hal itu erat kaitannya dengan cinder.
Layanan Block Storage (cinder) menyediakan perangkat penyimpanan blok untuk ‘guest instance’. Metode di mana penyimpanan yang provisioned and consumed ditentukan oleh driver Block Storage, atau driver dalam kasus konfigurasi multi-backend. Ada berbagai driver yang tersedia: NAS/SAN, NFS, iSCSI, Ceph, dan banyak lagi.
Block Storage API dan layanan scheduler biasanya dijalankan pada controller nodes. Tergantung pada driver yang digunakan, layanan volume yang dapat berjalan pada controllers, ‘compute node’, atau ‘standalone storage 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.
#LAB 30 Membuat database untuk Cinder
lakukan pada node Controller
Sebelum menginstal dan mengkonfigurasi layanan Block Storage, kamu harus membuat database, layanan credentials, dan endpoints API.
Untuk membuat database, lakukan langkah-langkah berikut:
Gunakan klien akses database untuk terhubung ke server database sebagai root user:
$ mysql -u root -pBuatlah 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.
source admin untuk mendapatkan akses ke command CLI ‘admin-only’:
$ source admin-openrcUntuk membuat kredensial layanan, selesaikanlah langkah-langkah ini:
Buatlah user cinder:
$ openstack user create --domain default --password-prompt cinder
Tambahkan peran admin ke user cinder:
$ openstack role add --project service --user cinder admin
Buatlah entitas layanan cinder dan cinderv2:
$ openstack service create --name cinder \
--description "OpenStack Block Storage" volume
$ openstack service create --name cinderv2 \
--description "OpenStack Block Storage" volumev2
Catatan
Layanan Block Storage memerlukan dua entitas layanan.
Buatlah endpoint API layanan Block Storage:
$ openstack endpoint create --region RegionOne \
volume public http://controller:8776/v1/%\(tenant_id\)s
$ openstack endpoint create --region RegionOne \
volume internal http://controller:8776/v1/%\(tenant_id\)s
$ openstack endpoint create --region RegionOne \
volume admin http://controller:8776/v1/%\(tenant_id\)s
$ openstack endpoint create --region RegionOne \
volumev2 public http://controller:8776/v2/%\(tenant_id\)s
$ openstack endpoint create --region RegionOne \
volumev2 internal http://controller:8776/v2/%\(tenant_id\)s
$ openstack endpoint create --region RegionOne \
volumev2 admin http://controller:8776/v2/%\(tenant_id\)s
Catatan
Layanan Block Storage memerlukan endpoint untuk setiap entitas layanan.
#LAB 31 Instal dan konfigurasi komponen Cinder ( Block Storage )
Instal paket:
# apt-get install cinder-api cinder-scheduler python-cinderclientEdit file /etc/cinder/cinder.conf dan ikuti langkah2 berikut:
nano /etc/cinder/cinder.conf
pada bagian [Database], konfigur akses database:
Gantilah CINDER_DBPASS dengan password yang kamu buat untuk database Block Storage.
[database]
...
connection = mysql://cinder:CINDER_DBPASS@controller/cinder
pada bagian [DEFAULT] dan [oslo_messaging_rabbit], konfigur akses antrian pesan (message queue) “RabbitMQ”:
[DEFAULT]Ganti RABBIT_PASS dengan password yang kamu buat akun openstack di RabbitMQ.
...
rpc_backend = rabbit
[oslo_messaging_rabbit]
...
rabbit_host = controller
rabbit_userid = openstack
rabbit_password = RABBIT_PASS
pada bagian [DEFAULT] dan [keystone_authtoken], konfigur akses layanan Identity:
[DEFAULT]Gantilah CINDER_PASS dengan password yang kamu buat untuk user cinder dalam pelayanan Identity.
...
auth_strategy = keystone
[keystone_authtoken]
...
auth_uri = http://controller:5000
auth_url = http://controller:35357
auth_plugin = password
project_domain_id = default
user_domain_id = default
project_name = service
username = cinder
password = CINDER_PASS
Catatan
Hilangkan komentar atau bahkan hapus opsi lain dalam bagian [keystone_authtoken] .
pada bagian [DEFAULT] , konfigurasi opsi my_ip menggunakan manajemen antarmuka alamat IP dari ‘controller node’:
[DEFAULT]pada bagian [oslo concurrency], konfigurasi ‘lock path’:
...
my_ip = 10.0.0.10
[oslo_concurrency](Optional) untuk mempermudah troubleshooting, enable verbose logging pada [DEFAULT]:
...
lock_path = /var/lib/cinder/tmp
[DEFAULT]
...
verbose = True
Konfigurasi Compute menggunakan Block Storage
Edit terlebih dahulu file /etc/nova/nova.conf dan tambahkan command beriku:
nano /etc/nova/nova.conf
[cinder]
os_region_name = RegionOne
#LAB 32 Instalasi dan konfigurasi Cinder pada storage node (cinder)
Bagian ini menjelaskan cara menginstal dan mengkonfigurasi storage nodes untuk layanan Block Storage. Untuk mempermudah, konfigurasi ini gunakan satu storage node dengan perangkat penyimpanan blok lokal kosong. Petunjuk menggunakan /dev/sdb, tetapi kamu dapat mengganti nilai yang berbeda untuk node tertentu.
Ketentuan layanan volume logical pada perangkat ini menggunakan driver :term: LVM <Logical Volume Manager (LVM)> dan menyediakan untuk instance melalui transport :term: iSCSI. kamu dapat mengikuti petunjuk ini dengan sedikit modifikasi pada horizontally scale environtment kamu dengan storage nodes tambahan.
Sebelum kamu menginstal dan mengkonfigurasi layanan Block Storage pada storage node, kamu harus mempersiapkan perangkat penyimpanan.
Catatan
Lakukan langkah ini pada storage node (cinder).
Instal paket utilitas pendukung:
# apt-get install lvm2
Catatan
# pvcreate /dev/sdb1
Physical volume "/dev/sdb" successfully created
Buat grup volume LVM cinder-volumes:
# vgcreate cinder-volume /dev/sdb1
Volume group "cinder-volume" successfully created
Hanya instance dapat mengakses volume Block Storage. Namun, sistem operasi yang mendasari mengelola perangkat yang terkait dengan volume. Secara default, alat penindaian volume LVM menindai direktori /dev untuk perangkat penyimpanan blok yang berisi volume. Jika proyek menggunakan LVM pada volume mereka, alat scanning ini mendeteksi volume ini dan mencoba untuk cache mereka yang dapat menyebabkan berbagai masalah dengan sistem operasi yang mendasari maupun volume proyek. kamu harus mengkonfigurasi ulang LVM untuk memindai perangkat yang berisi kelompok volume cinder-volume.
Edit terlebih dahulu file /etc/lvm/lvm.conf dan ikuti langkah berikut:
nano /etc/lvm/lvm.conf
pada 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. kamu dapat menggunakan perintah vgs untuk test filter
Peringatan
Jika storage nodes kamu menggunakan LVM pada sistem operasi disk, kamu 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 node komputasi kamu menggunakan LVM pada sistem operasi disk, kamu juga harus mengubah filter dalam file /etc/lvm/lvm.conf pada node untuk menyertakan hanya sistem operasi disk. Misalnya, jika perangkat /dev/sda berisi sistem operasi:
filter = [ "a/sda/", "r/.*/"]
lakukan filter, karena partisi LVM hanya ada di sdb1, gunakan sdb1 saja
#LAB 33 Instal dan konfigurasi komponen Cinder
Instal paket:
# apt-get install cinder-volume python-mysqldb
Edit file /etc/cinder/cinder.conf dan ikuti perintah berikut:
nano /etc/cinder/cinder.conf
pada bagian [Database], konfigur akses database:
[database]
...
connection = mysql://cinder:CINDER_DBPASS@controller/cinder
Gantilah CINDER_DBPASS dengan password yang kamu buat untuk database Block Storage.
pada bagian [DEFAULT] dan [oslo_messaging_rabbit] , konfigur 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 kamu buat pada akun openstack di RabbitMQ.
pada 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
Gantilah CINDER_PASS dengan password yang kamu buat untuk user cinder dalam pelayanan Identity.
Catatan
Hilangkan komentar atau bahkan hapus opsi lain dalam bagian [keystone_authtoken].
pada bagian [DEFAULT], konfigurasi opsi my_ip:
[DEFAULT]
...
my_ip = MANAGEMENT_INTERFACE_IP_ADDRESS
Gantilah MANAGEMENT_INTERFACE_IP_ADDRESS dengan alamat IP dari antarmuka jaringan manajemen pada storage node kamu, biasanya 10.0.0.41 untuk node pertama dalam example architecture.
pada bagian [LVM], konfigurasi back end LVM dengan driver LVM, kelompok volume cinder-volumes, protokol iSCSI, dan layanan iSCSI yang tepat:
[lvm]
...
volume_driver = cinder.volume.drivers.lvm.LVMVolumeDriver
volume_group = cinder-volumes
iscsi_protocol = iscsi
iscsi_helper = tgtadm
pada bagian [DEFAULT] , memungkinkan backend LVM:
[DEFAULT]
...
enabled_backends = lvm
Catatan
Nama back-end yang sembarangan. Sebagai contoh, petunjuk ini menggunakan nama driver sebagai nama belakang.
pada bagian [DEFAULT], konfigurasi lokasi dari Image service:
[DEFAULT]
...
glance_host = controller
pada bagian [oslo_concurrency], konfigurasi lock path:
[oslo_concurrency]
...
lock_path = /var/lib/cinder/tmp
(Optional) untuk mempermudah troubleshooting, enable verbose logging pada bagian [DEFAULT] :
[DEFAULT]
...
verbose = True
Finalisasi Instalasi
Restart layanan volume Block Storage termasuk dependensinya:
# service tgt restart
# service cinder-volume restart
#LAB 34Verifikasi pengoperasian layanan Block Storage Cinder.
Catatan
Lakukan commands pada ‘controller node’.
Dapatkan sumber mandat admin untuk mendapatkan akses ke command CLI ‘admin-only’:
Catatan
Lakukan commands pada ‘controller node’.
Dapatkan sumber mandat admin untuk mendapatkan akses ke command CLI ‘admin-only’:
$ source admin-openrcDaftarlah komponen layanan untuk memverifikasi peluncuran suskses setiap proses:
$ cinder service-list
0 Response to "Tutorial Install dan Konfigurasi Openstack : Block Storage kode name (Cinder)"
Post a Comment