对接原理
lvm是openstack社区原生支持的一种存储形式,是指将物理节点上的磁盘组成一个vg(volume group),然后切分lv(logic volume)的形式提供给虚拟机使用。
对接方式
对接时需要提供物理节点及其作为lvm使用的磁盘列表。
磁盘列表需要按照不同磁盘类型指定,当前支持SAS、SSD、NVME三种磁盘类型。
对接包制作工具界面如下图:
输入节点编号及对应磁盘列表后可以生成一个商业存储对接包,使用该对接包在"运维管理—>自动化中心—>高级配置—>存储池"
入口进行上传并自动对接。
“LVM裸盘组”配置项用于记录及显示集群的LVM对接批次。
与BlockDevice_block_device所有磁盘全在一个配置包相比,LVM支持分批次对接,无需所有磁盘都一次性填写在一个配置包内。
同一节点上的相同磁盘若在多个配置包均有填写,仅第一次使用到该磁盘的配置包会进行初始化。
存储后端
存储后端是创建卷时需要选择的卷类型(Volume Type),openstack根据卷类型对应的存储后端云创建卷。
针对每个需要对接的物理节点,都会按照不同磁盘类型创建一个对应的存储后端(cinder volume backend),默认格式为lvm-{node-num}-{disk-type}
。
创建虚拟机流程说明
创建虚拟机时先创建计算资源,然后会自动重试将虚拟机迁移到所选裸盘存储后端对应的物理节点。
当节点较多时重试过程可能较慢,因此实际过程上,推荐指定节点调度创建虚拟机。
支持功能列表
lvm与其他类型存储(FC SAN/IP SAN/Ceph)等相比,支持的功能列表有所差异,详细如下表:
功能项 | 是否支持 | 备注 |
---|---|---|
创建云硬盘 | √ | |
删除云硬盘 | √ | |
挂载云硬盘 | √ | 只能挂载至同节点虚机 |
卸载云硬盘 | √ | |
扩展云硬盘 | √ | |
创建云硬盘快照 | × | 不支持 |
删除云硬盘快照 | × | 不支持 |
通过快照创建云硬盘 | × | 不支持 |
通过镜像创建云硬盘 | √ | |
通过云硬盘创建镜像 | √ | |
镜像缓存 | × | 不支持 |
创建虚机 | √ | 若系统盘为LVM,虚机会自动重试调用到裸盘节点,不需要手动调度,但过程可能较慢。 |
重启虚机 | √ | |
删除虚机 | √ | |
虚机冷迁移 | × | 不支持 |
虚机热迁移 | × | 不支持 |
产品边界
由于LVM本身功能受限,因此对应的产品边界也会受到影响,具体边界如下:
- 不支持HostHA,HostHA依赖存储的迁移功能,裸盘不支持迁移所以无法支持HostHA。
- lvm默认使用厚置备、无冗余。
- 物理节点磁盘损坏会导致数据丢失,无法通过平台找回数据。
- 使用LVM磁盘的虚拟机不支持迁移。
- lvm是一种独立的存储类型,支持和已有的HDD(Ceph)类型磁盘混用。
- lvm支持一云多芯场景。