下面的步骤配置 LVM 卷组的方式是,确保只有集群可以激活卷组,且在启动时不会在集群外激活卷组。如果卷组由集群外的系统激活,则有破坏卷组元数据的风险。
此流程修改
/etc/lvm/lvm.conf
配置文件中的
volume_list
条目。
volume_list
条目中列出的卷组可以在集群管理器控制之外的本地节点中自动激活。与节点本地根目录和主目录相关的卷组应包含在此列表中。由集群管理器管理的所有卷组都必须从
volume_list
条目中排除。请注意,这个过程不需要使用
clvmd。
在集群的每个节点上执行以下步骤。
-
执行以下命令,确保
locking_type
在
/etc/lvm/lvm.conf
文件中被设置为 1,且
use_lvmetad
被设置为 0。这个命令还会立即禁用和停止任何
lvmetad 进程。
# lvmconf --enable-halvm --services --startstopservices
-
使用以下命令确定当前在本地存储中配置哪些卷组。这会输出当前配置的卷组列表。如果您在单独的卷组中为 root 分配了空间,并且为这个节点的主目录分配了空间,您会在输出中看到这些卷,如下例所示。
# vgs --noheadings -o vg_name
my_vg
rhel_home
rhel_root
-
将
my_vg
以外的卷组(您刚刚为集群定义的卷组)添加为
/etc/lvm/lvm.conf
配置文件中的
volume_list
的条目。例如:如果您在不同的卷组中为 root 和您的主目录分配了空间,您可以取消对
lvm.conf
文件的
volume_list
行的注释,并将这些卷组作为条目添加到
volume_list
,如下所示:
volume_list = [ "rhel_root", "rhel_home" ]
注意
如果节点上没有在集群管理器之外激活的本地卷组,您仍需要将
volume_list
条目初始化为
volume_list = []
。
-
重建
initramfs
引导镜像,以确保引导镜像不会尝试激活集群控制的卷组。使用以下命令更新
initramfs
设备。这个命令可能需要一分钟时间完成。
# dracut -H -f /boot/initramfs-$(uname -r).img $(uname -r)
-
重新引导节点。
注意
如果您在引导节点后安装了一个新的 Linux 内核,新的
initrd
镜像将适用于创建该节点时运行的内核,而不是重启节点时运行的新内核。您可以通过在重启前和重启后运行
uname -r 命令确定使用正确的
initrd
设备,以确定正在运行的内核发行版本。如果发行版本不同,请在重启新内核后更新
initrd
文件,然后重新引导节点。
-
当节点重新引导时,通过在该节点上执行
pcs cluster status 命令来检查集群服务是否在该节点上再次启动。如果生成了信息
Error: cluster is not currently running on this node
,请输入以下命令。
另外,您可以等到集群中每个节点重新引导,并使用以下命令在集群中的所有节点上启动集群服务。
# pcs cluster start --all