cinder配置使用lvm本地盘
cinder-volume 默认使用 LVM 驱动,该驱动当前的实现需要在主机上事先用 LVM 命令创建一个的卷组 , 当该主机接受到创建卷请求的时候,cinder-volume 在该卷组 上创建一个逻辑卷, 并且用 openiscsi 将这个卷当作一个 iscsi tgt 给输出.还可以将若干主机的本地存储用 sheepdog 虚拟成一个共享存储,然后使用 sheepdog 驱动。
1. 本地lvm划分
#pvcreate /dev/sdb
#pvcreate /dev/sdc
#vgcreate cinder-volumes /dev/sdb /dev/sdc
#vgdisplay
--- Volume group ---
VG Name cinder-volumes
System ID
Format lvm2
Metadata Areas 2
Metadata Sequence No 1
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 0
Open LV 0
Max PV 0
Cur PV 2
Act PV 2
VG Size 558.91 GiB
PE Size 4.00 MiB
Total PE 143082
Alloc PE / Size 0 / 0
Free PE / Size 143082 / 558.91 GiB
VG UUID Hb65cQ-gy3h-hd5j-1b4y-EtFz-7yeD-yNA3fg
2. 配置cinder
配置cinder-volume.conf新增backend
[lvmdriver-1]
volume_backend_name=lvmdriverVg
volume_driver=cinder.volume.drivers.lvm.LVMVolumeDriver //后端驱动
volume_group=cinder-volumes //使用的vg卷名字 按照自⼰的配置进⾏修改
volumes_dir=/var/lib/cinder/volumes
#docker restart cinder_volume
配置lvm type
#cinder type-create lvm-test
#cinder type-key lvm-test set volume_backend_name=lvmdriverVg
创建volume
#cinder create 1 --volume-type lvm-test --availability-zone nova --name lvm-1
+--------------------------------+---------------------------------------------------------+
| Property | Value |
+--------------------------------+---------------------------------------------------------+
| attached_servers | [] |
| attachment_ids | [] |
| availability_zone | nova |
| bootable | false |
| consistencygroup_id | None |
| created_at | 2024-08-16T06:52:54.000000 |
| description | None |
| encrypted | False |
| id | ddb8bdde-6b60-4dce-bbc6-6e7f508602fa |
| metadata | |
| migration_status | None |
| multiattach | False |
| name | lvm-1 |
| os-vol-host-attr:host | ***********@lvmdriver-1#lvmdriverVg |
| os-vol-mig-status-attr:migstat | None |
| os-vol-mig-status-attr:name_id | None |
| os-vol-tenant-attr:tenant_id | 8fca5c1e8efa4b7d94212a05317cd78a |
| replication_status | None |
| size | 1 |
| snapshot_id | None |
| source_volid | None |
| status | available |
| updated_at | 2024-08-16T06:52:56.000000 |
| user_id | 2860ba890d7e4dd590776cd1e26d8262 |
| volume_type | lvm-test |
+--------------------------------+---------------------------------------------------------+
3. 操作系统启动iscsid
最终lvm的逻辑卷是使用iSCSI协议提供存储服务的。 在服务端需要部署target 在客户端需要部署inititor
target 部署
Target目前支持两种:TGT、LIO,这里选用默认的tgt模式
配置kolla-ansible global.yml 启用iscsid和tgtd
enable_cinder_backend_lvm: true
enable_iscsid: true
enable_iscsid_for_cinder: true
enable_tgtd: true
nova 挂载本地盘测试吧