检查 FibreChannel 磁盘是否安装在其他位置

检查 FibreChannel 磁盘是否安装在其他位置

我有两台 RHEL 6.5 服务器。每个都可以访问同一个带有多路径和 LVM 的 FibreChannel LUN – 比方说/dev/mapper/vg0-lv_shared

lv_shared可以安装在 server1 或 server2 上,但不能同时安装在两者上。我无法使用集群服务,因此我正在编写一个简单的脚本。

lv_shared如果服务器之间没有 SSH 连接,是否可以从 server1 检查 server2 是否已安装?
换句话说 – 我如何检查 server1 可用的磁盘是否安装在其他地方?

答案1

这通常是通过 LVM 标签(自 LVM2 起可用)完成的。这是一个简短的示例来演示它们:

假设您有一个名为“vg01”的 VG,具有 2 个 LV“lvtest”和“lvother”:

[root@centos ~]# lvs vg01
  LV      VG   Attr       LSize  Pool Origin Data%  Move Log Cpy%Sync Convert
  lvother vg01 -wi------- 12.00m
  lvtest  vg01 -wi------- 12.00m

现在启用 LVM 主机标签:

[root@centos ~]# grep ^tags /etc/lvm/lvm.conf
tags { hosttags = 1 }

并根据您的主机名设置激活过滤器:

[root@centos ~]# cat /etc/lvm/lvm_centos.conf (centos.conf == hostname.conf)
activation { volume_list=["@centos"] }

现在让我们检查/设置/删除一些标签:

[root@centos ~]# lvs vg01 -o +tags
 LV      VG   Attr       LSize  Pool Origin Data%  Move Log Cpy%Sync Convert LV Tags
 lvother vg01 -wi------- 12.00m
 lvtest  vg01 -wi------- 12.00m

目前没有设置标签(最后一列)

激活音量将不起作用:

[root@centos ~]# vgchange -ay /dev/vg01
 Not activating vg01/lvtest since it does not pass activation filter.
 Not activating vg01/lvother since it does not pass activation filter.
 0 logical volume(s) in volume group "vg01" now active

让我们添加一些标签并重试

[root@centos ~]# lvchange --addtag @centos /dev/vg01/lvtest
 Logical volume "lvtest" changed.

[root@centos ~]# lvchange --addtag @centos /dev/vg01/lvother
 Logical volume "lvother" changed.

[root@centos ~]# lvs vg01 -o +tags
 LV      VG   Attr       LSize  Pool Origin Data%  Move Log Cpy%Sync Convert LV Tags
 lvother vg01 -wi------- 12.00m                                              centos
 lvtest  vg01 -wi------- 12.00m                                              centos

[root@centos ~]# vgchange -ay /dev/vg01
 2 logical volume(s) in volume group "vg01" now active

更好的。 ;-)

lv_shared因此,在您的情况下,您应该只在应该挂载 LV 的服务器的主机名上设置一个标签。

相关内容