OpenStack Victoria : Use Cinder Storage (LVM)2021/09/01 |
It's possible to use Virtual Storages provided by Cinder if an Instance needs more disks.
Configure Virtual storage with LVM backend on here.
It needs there are some free spaces on disks of Storage Node. ------------+---------------------------+---------------------------+------------ | | | eth0|10.0.0.30 eth0|10.0.0.50 eth0|10.0.0.51 +-----------+-----------+ +-----------+-----------+ +-----------+-----------+ | [ Control Node ] | | [ Network Node ] | | [ Compute Node ] | | | | | | | | MariaDB RabbitMQ | | L2 Agent | | Libvirt | | Memcached httpd | | L3 Agent | | Nova Compute | | Keystone Glance | | Metadata Agent | | L2 Agent | | Nova API | | Cinder Volume | | | | Neutron Server | | | | | | Metadata Agent | | | | | | Cinder API | | | | | +-----------------------+ +-----------------------+ +-----------------------+ |
[1] | Create a volume group for Cinder on Storage Node. |
root@storage:~# pvcreate /dev/sdb1 Physical volume "/dev/sdb1" successfully created root@storage:~# vgcreate -s 32M vg_volume01 /dev/sdb1 Volume group "vg_volume01" successfully created |
[2] | Configure Cinder Volume on Storage Node. |
root@storage:~#
apt -y install targetcli-fb
root@storage:~#
vi /etc/cinder/cinder.conf # add the value to [enabled_backends] param enabled_backends = lvm
# add to the end [lvm] target_helper = lioadm target_protocol = iscsi # IP address of Storage Node target_ip_address = 10.0.0.50 # volume group name created on [1] volume_group = vg_volume01 volume_driver = cinder.volume.drivers.lvm.LVMVolumeDriver volumes_dir = $state_path/volumes systemctl restart cinder-volume
|
[3] | Configure Nova on Compute Node. |
root@node01:~#
vi /etc/nova/nova.conf # add to the end [cinder] os_region_name = RegionOne systemctl restart nova-compute
|
[4] | Login as a common user you'd like to add volumes to own instances. For example, create a virtual disk [disk01] with 10GB. It's OK to work on any node. (example below is on Control Node) |
# set environment variable debian@dlp ~(keystone)$ echo "export OS_VOLUME_API_VERSION=3" >> ~/keystonerc debian@dlp ~(keystone)$ source ~/keystonerc
openstack volume create --size 10 disk01 +---------------------+--------------------------------------+ | Field | Value | +---------------------+--------------------------------------+ | attachments | [] | | availability_zone | nova | | bootable | false | | consistencygroup_id | None | | created_at | 2021-09-01T05:06:50.000000 | | description | None | | encrypted | False | | id | e9f69d26-261b-4b49-9b2f-6858b8f2e507 | | multiattach | False | | name | disk01 | | properties | | | replication_status | None | | size | 10 | | snapshot_id | None | | source_volid | None | | status | creating | | type | __DEFAULT__ | | updated_at | None | | user_id | 62a91aa559f64acab11861ed7cd51ecc | +---------------------+--------------------------------------+debian@dlp ~(keystone)$ openstack volume list +--------------------------------------+--------+-----------+------+-------------+ | ID | Name | Status | Size | Attached to | +--------------------------------------+--------+-----------+------+-------------+ | e9f69d26-261b-4b49-9b2f-6858b8f2e507 | disk01 | available | 10 | | +--------------------------------------+--------+-----------+------+-------------+ |
[5] | Attach the virtual disk to an Instance. For the example below, the disk is connected as [/dev/vdb]. It's possible to use it as a storage to create a file system on it. |
debian@dlp ~(keystone)$ openstack server list +--------------------------------------+-----------+---------+-------------------------------------+----------+----------+ | ID | Name | Status | Networks | Image | Flavor | +--------------------------------------+-----------+---------+-------------------------------------+----------+----------+ | 86981ae7-d713-414f-966c-ac22387a3226 | Debian-11 | SHUTOFF | private=192.168.100.211, 10.0.0.249 | Debian11 | m1.small | +--------------------------------------+-----------+---------+-------------------------------------+----------+----------+
debian@dlp ~(keystone)$
openstack server add volume Debian-11 disk01
# the status of attached disk turns [in-use] like follows debian@dlp ~(keystone)$ openstack volume list +--------------------------------------+--------+--------+------+------------------------------------+ | ID | Name | Status | Size | Attached to | +--------------------------------------+--------+--------+------+------------------------------------+ | e9f69d26-261b-4b49-9b2f-6858b8f2e507 | disk01 | in-use | 10 | Attached to Debian-11 on /dev/vdb | +--------------------------------------+--------+--------+------+------------------------------------+ # detach the disk debian@dlp ~(keystone)$ openstack server remove volume Debian-11 disk01 |
Sponsored Link |