openstack yoga版本 cinder 多存储 设置过滤器

博主由于参加云计算比赛 学校设备有限 只能单机部署 用来做实验环境

1.创建卷组

博主在搭建openstack过程中 遇到一个问题,就是作者服务器上有两种存储,2t的固态硬盘,12t的机械硬盘,想着不能浪费,于是在openstack官网看到支持多个存储

服务器磁盘阵列,由于是实验环境不要在意raid0

官方文档地址](https://docs.openstack.org/cinder/yoga/admin/multi-backend.html))

也可以参考博主的配置文件

apt install lvm2 thin-provisioning-tools
# 创建物理卷
pvcreate /dev/sdb4
# 创建 LVM 卷组
vgcreate SSD /dev/sdb4
# 创建物理卷
pvcreate /dev/sda1
# 创建 LVM 卷组
vgcreate HDD /dev/sda1

# 只有实例可以访问块存储卷。但是,底层操作系统管理与卷关联的设备。默认情况下,LVM 卷扫描工具会扫描目录中包含卷的块存储设备。如果项目在其卷上使用 LVM,扫描工具会检测这些卷并尝试缓存它们,这可能会导致底层操作系统和项目卷出现各种问题。必须重新配置 LVM 以仅扫描包含卷组的设备。编辑文件并完成以下操作:
vim /etc/lvm/lvm.conf
filter = [ "a/vdb/", "r/.*/"]
apt install cinder-volume tgt
vim /etc/cinder/cinder.conf 

# 创建lvm后端
[ssd]
volume_driver = cinder.volume.drivers.lvm.LVMVolumeDriver
volume_group = SSD
# 设置volume_backend_name 名 可以在 控制面板中设置卷类型 用于指定
volume_backend_name = LVM_SSD
target_protocol = iscsi
target_helper = tgtadm
[hdd]
volume_driver = cinder.volume.drivers.lvm.LVMVolumeDriver
volume_group = HDD
# 设置volume_backend_name 名 可以在 控制面板中设置卷类型 用于指定
volume_backend_name = LVM_HDD
target_protocol = iscsi
target_helper = tgtadm

设置卷类型

2.官方示例

这个时候应该没问题了,但是问题又来了,大家也知道cinder使用镜像创建卷的时候创建的速度跟硬盘速度挂钩,我尝试创建卷,发现cinder会把卷创建在机械硬盘上,瞬间就无语了,那多慢呀,好在官方找到了,cinder支持过滤器,支持按大小过滤。

官方地址](https://docs.openstack.org/cinder/yoga/admin/driver-filter-weighing.html))

可以看到官方提供了样例,可以使用过滤器按照大小让指定卷组创建卷

Driver filter and weigher usage examples
Below are examples for using the filter and weigher separately, together, and using driver-specific properties.

Example file configuration for customizing the filter function:cinder.conf

[default]
scheduler_default_filters = DriverFilter
enabled_backends = lvm-1, lvm-2

[lvm-1]
volume_driver = cinder.volume.drivers.lvm.LVMVolumeDriver
volume_backend_name = sample_LVM01
filter_function = "volume.size < 10"

[lvm-2]
volume_driver = cinder.volume.drivers.lvm.LVMVolumeDriver
volume_backend_name = sample_LVM02
filter_function = "volume.size >= 10"
The above example will filter volumes to different back ends depending on the size of the requested volume. Default OpenStack Block Storage scheduler weighing is done. Volumes with a size less than 10 GB are sent to lvm-1 and volumes with a size greater than or equal to 10 GB are sent to lvm-2.

3.配置过滤器

作者配置文件

[ssd]
volume_driver = cinder.volume.drivers.lvm.LVMVolumeDriver
volume_group = SSD
volume_backend_name = LVM_SSD
target_protocol = iscsi
target_helper = tgtadm
filter_function = "volume.size <= 40"
[hdd]
volume_driver = cinder.volume.drivers.lvm.LVMVolumeDriver
volume_group = HDD
volume_backend_name = LVM_HDD
target_protocol = iscsi
target_helper = tgtadm
filter_function = "volume.size > 40"

image.png

openstack cinder 磁盘调度

sda                                                            8:0    0 10.9T  0 disk
└─sda1                                                         8:1    0    5T  0 part
  ├─HDD-HDD--pool_tmeta                                      253:2    0   76M  0 lvm
  │ └─HDD-HDD--pool-tpool                                    253:7    0  4.8T  0 lvm
  │   ├─HDD-HDD--pool                                        253:8    0  4.8T  1 lvm
  │   ├─HDD-volume--d38fe450--7417--4679--ac61--507aaa9e8dbf 253:10   0  100G  0 lvm
  │   ├─HDD-volume--34beb8f7--3b63--43b2--bd18--5455b7ea14e8 253:11   0  100G  0 lvm
  │   └─HDD-volume--ea777184--1afa--4fdc--9453--d74ca672385e 253:14   0  200G  0 lvm
  └─HDD-HDD--pool_tdata                                      253:3    0  4.8T  0 lvm
    └─HDD-HDD--pool-tpool                                    253:7    0  4.8T  0 lvm
      ├─HDD-HDD--pool                                        253:8    0  4.8T  1 lvm
      ├─HDD-volume--d38fe450--7417--4679--ac61--507aaa9e8dbf 253:10   0  100G  0 lvm
      ├─HDD-volume--34beb8f7--3b63--43b2--bd18--5455b7ea14e8 253:11   0  100G  0 lvm
      └─HDD-volume--ea777184--1afa--4fdc--9453--d74ca672385e 253:14   0  200G  0 lvm
sdb                                                            8:16   0  1.7T  0 disk
├─sdb1                                                         8:17   0    1G  0 part /boot/efi
├─sdb2                                                         8:18   0  100G  0 part /
├─sdb3                                                         8:19   0  150G  0 part /var
└─sdb4                                                         8:20   0  1.5T  0 part
  ├─SSD-SSD--pool_tmeta                                      253:0    0   92M  0 lvm
  │ └─SSD-SSD--pool-tpool                                    253:4    0  1.4T  0 lvm
  │   ├─SSD-SSD--pool                                        253:5    0  1.4T  1 lvm
  │   ├─SSD-volume--46341aad--c40e--425c--9d2b--c2c194548a00 253:6    0   40G  0 lvm
  │   ├─SSD-volume--c72e473c--cb90--44d6--a2c2--a1297d3c287d 253:9    0   40G  0 lvm
  │   ├─SSD-volume--5a708b1b--28dc--4e20--82f8--753e0edff9c4 253:12   0   40G  0 lvm
  │   ├─SSD-volume--959f95d0--16e7--4e45--8bae--a65738b6ed32 253:13   0   40G  0 lvm
  │   ├─SSD-volume--b59ec086--fa99--4c3c--951d--62ee4d861a95 253:15   0   40G  0 lvm
  │   ├─SSD-volume--7c2d7df0--303c--402e--acde--d933bdd9f801 253:16   0   40G  0 lvm
  │   ├─SSD-volume--c0162b38--7c20--47e9--b40a--1fdeafad2e5d 253:17   0   40G  0 lvm
  │   ├─SSD-volume--7a3f950b--edb7--4f4c--bfe9--5d6bb5d23fc6 253:18   0   40G  0 lvm
  │   ├─SSD-volume--87295212--3a5c--4086--a946--790a6dccade7 253:19   0   40G  0 lvm
  │   ├─SSD-volume--99ef5465--d0ab--42fb--976b--1139a375b4f3 253:20   0   40G  0 lvm
  │   ├─SSD-volume--99c430b9--9282--4860--8852--08a749757520 253:21   0   40G  0 lvm
  │   ├─SSD-volume--54eb13c5--c78a--4979--a6f2--e8673ce0147d 253:22   0   40G  0 lvm
  │   ├─SSD-volume--e8277e3b--e917--47e8--895a--4ce3aabbb736 253:23   0   40G  0 lvm
  │   ├─SSD-volume--accd2608--bba4--4da2--a045--e4c771222eb7 253:24   0   40G  0 lvm
  │   ├─SSD-volume--078baa72--270f--4e91--a98a--49c881094623 253:26   0   40G  0 lvm
  │   └─SSD-volume--d87a8ce5--6329--48a5--af8a--91a84e552aa5 253:28   0   40G  0 lvm
  └─SSD-SSD--pool_tdata                                      253:1    0  1.4T  0 lvm
    └─SSD-SSD--pool-tpool                                    253:4    0  1.4T  0 lvm
      ├─SSD-SSD--pool                                        253:5    0  1.4T  1 lvm
      ├─SSD-volume--46341aad--c40e--425c--9d2b--c2c194548a00 253:6    0   40G  0 lvm
      ├─SSD-volume--c72e473c--cb90--44d6--a2c2--a1297d3c287d 253:9    0   40G  0 lvm
      ├─SSD-volume--5a708b1b--28dc--4e20--82f8--753e0edff9c4 253:12   0   40G  0 lvm
      ├─SSD-volume--959f95d0--16e7--4e45--8bae--a65738b6ed32 253:13   0   40G  0 lvm
      ├─SSD-volume--b59ec086--fa99--4c3c--951d--62ee4d861a95 253:15   0   40G  0 lvm
      ├─SSD-volume--7c2d7df0--303c--402e--acde--d933bdd9f801 253:16   0   40G  0 lvm
      ├─SSD-volume--c0162b38--7c20--47e9--b40a--1fdeafad2e5d 253:17   0   40G  0 lvm
      ├─SSD-volume--7a3f950b--edb7--4f4c--bfe9--5d6bb5d23fc6 253:18   0   40G  0 lvm
      ├─SSD-volume--87295212--3a5c--4086--a946--790a6dccade7 253:19   0   40G  0 lvm
      ├─SSD-volume--99ef5465--d0ab--42fb--976b--1139a375b4f3 253:20   0   40G  0 lvm
      ├─SSD-volume--99c430b9--9282--4860--8852--08a749757520 253:21   0   40G  0 lvm
      ├─SSD-volume--54eb13c5--c78a--4979--a6f2--e8673ce0147d 253:22   0   40G  0 lvm
      ├─SSD-volume--e8277e3b--e917--47e8--895a--4ce3aabbb736 253:23   0   40G  0 lvm
      ├─SSD-volume--accd2608--bba4--4da2--a045--e4c771222eb7 253:24   0   40G  0 lvm
      ├─SSD-volume--078baa72--270f--4e91--a98a--49c881094623 253:26   0   40G  0 lvm
      └─SSD-volume--d87a8ce5--6329--48a5--af8a--91a84e552aa5 253:28   0   40G  0 lvm
最后修改:2022 年 07 月 26 日
如果觉得我的文章对你有用,请随意赞赏