2.11. 在 overcloud 节点上启用 LVM2 过滤
如果您使用带有某些块存储服务(cinder)后端的 LVM2 (逻辑卷管理)卷,您在 Red Hat OpenStack Platform (RHOSP)客户机中创建的卷可能会在主机 cinder-volume
或 nova-compute
容器的 overcloud 节点上可见。在这种情况下,主机上的 LVM2 工具扫描 OpenStack 客户机创建的 LVM2 卷,这可能会在 Compute 或 Controller 节点上产生一个或多个问题:
- LVM 似乎查看客户机中的卷组
- LVM 报告重复的卷组名称
- 卷分离失败,因为 LVM 正在访问存储
- 由于 LVM 存在问题,客户机无法引导
- 因为缺少实际存在的磁盘,客户机机器上的 LVM 处于部分状态
- 在具有 LVM 的设备中,块存储服务(cinder)操作会失败
- 块存储服务(cinder)快照无法正确删除
-
实时迁移过程中出现错误:
/etc/multipath.conf
不存在
要防止这种错误扫描,并从主机节点隔离客户机 LVM2 卷,您可以在部署或更新 overcloud 时使用 LVMFilterEnabled
heat 参数启用和配置过滤器。这个过滤器从托管活跃 LVM2 卷的物理设备列表中计算。您还可以使用 LVMFilterAllowlist
和 LVMFilterDenylist
参数明确允许或拒绝块设备。您可以在全局范围内、针对特定节点角色或特定设备应用此过滤。
先决条件
- 已安装 undercloud。如需更多信息,请参阅使用 director 安装和管理 Red Hat OpenStack Platform 中的安装 director。
流程
-
以
stack
用户身份登录 undercloud 主机。 查找
stackrc
undercloud 凭证文件:$ source ~/stackrc
在 overcloud 部署命令中添加一个环境文件,其中包含以下参数:
parameter_defaults: LVMFilterEnabled: true
您可以进一步自定义 LVM2 过滤器的实现。例如,要只在 Compute 节点上启用过滤,请使用以下配置:
parameter_defaults: ComputeParameters: LVMFilterEnabled: true
这些参数还支持正则表达式。要只在 Compute 节点上启用过滤,并忽略所有以
/dev/sd
开头的设备,请使用以下配置:parameter_defaults: ComputeParameters: LVMFilterEnabled: true LVMFilterDenylist: - /dev/sd.*
- 将更新保存到环境文件中。
- 使用其他环境文件将环境文件添加到堆栈中,并部署 overcloud。