客户端上具有自定义设备名称的 iSCSI 共享磁盘

客户端上具有自定义设备名称的 iSCSI 共享磁盘

我正在使用 RHEL 7.9(Maipo),需要为所有 iSCSI 客户端设置相同的设备名称,例如 /dev/sdb 或 /dev/thiscustomname。

我可以通过使用多路径共享源磁盘来实现这一点,但对于 Db2 pureScale,它不能是符号链接。这是它在客户端 A 和 B 中显示的方式:

Client A:

/dev/sdb                  mpath_me
└─/dev/mapper/db2data
/dev/sdc                  mpath_me
└─/dev/mapper/db2tieb

Client B (has 2 more disks than Client A):

/dev/sdd                  mpath_me
└─/dev/mapper/db2data
/dev/sde                  mpath_me
└─/dev/mapper/db2tieb

对于 Db2 purScale,当我使用以下命令发出实例创建时:

/opt/ibm/db2/V115fp8ps/instance/db2icrt \
    -m  n1.local -mnet  n1  \
    -cf c1.local -cfnet c1  \
    -instance_shared_dev  /dev/mapper/db2data          \
    -tbdev                /dev/mapper/db2tieb          \
    -u  db2fenc1   db2inst1

错误是

DBI20013E  The database product installer detected that the given device path
"/dev/mapper/db2data" is a symbolic link on the host "c1.local".

Db2 pureScale 实例创建抱怨符号链接,所以我不能使用 /dev/disk 中的任何其他条目,因为它们都是符号链接并引发相同的错误:

/dev/disk/by-id
/dev/disk/by-label
/dev/disk/by-partlabel
/dev/disk/by-partuuid
/dev/disk/by-path
/dev/disk/by-uuid

这就是我需要使用设备名称(而不是映射器名称/符号链接)的原因。

是否有可能所有客户端都为这些 iSCSI 远程磁盘设置相同的设备名称,当然,我可以自己设置这些名称/dev/sfa或者与内核为本地磁盘(sda,sdb,sdc 等)设置的磁盘相距甚远的东西?

答案1

您尝试修复的名称不应该在任何现代 Linux 环境中保留。您不应尝试修复它们,而应考虑使用、 或/dev/disk/by-label/dev/disk/by-uuid的任意一个,具体取决于您使用哪种 SAN 来支持此存储。/dev/disk/by-id/dev/disk/by-path

答案2

似乎我查看了错误的文档和错误的虚拟化选项。IBM Db2 pureScale 功能使用 WWN 编号(在lsblk -a -o WWN命令中显示)。因此,iSCSI 磁盘是否获得与 /dev/sda 或 /dev/sdb 中相同的设备名称/编号实际上并不重要。

VMWare Workstation Pro 16/17 虚拟化中也存在另一个错误,默认情况下不允许磁盘具有一致的 UUID,因此所有 VM 上的 WWN 编号都相同。要解决此问题,请关闭 VM 并在主 VM 文件(扩展名为 .vmx 的文件)中添加此行:

disk.enableuuid = "TRUE"

保存文件然后重新启动虚拟机。

由于我为每个虚拟机从头创建了所有磁盘,因此我的问题得到了解决。如果您已经克隆了虚拟机和磁盘,则需要找到 VMWare 支持来更改磁盘 UUID。

所以这个问题原来的问题……其实不是一个问题。

相关内容