如何使dmsetup更改永久?

完整的案例如下:

  • 我从一个SAN盒附加一个LUN(iscsiconfiguration已经正确完成)
  • 一旦我重新启动open-iscsi守护进程,LUN就会被360060e80104dac0004f349c800000001 ,它的名字出现在/dev/mapper下面,就像下面的string: 360060e80104dac0004f349c800000001

现在我不想使用这个字母数字,我需要一个体面的助记符。 所以,我使用dmsetup命令如下: # dmsetup rename 360060e80104dac0004f349c800000001 datastore

并在/ dev / mapper下面出现一个到dm设备的datastore链接。 问题解决了,直到下次重启。 datastore助记符已经不存在,并且上面的字母数字再次出现在/ dev / mapper下。

我如何使这个变化永久?

考虑通过/dev/disk/by-{id,path,uuid}引用LUN /dev/disk/by-{id,path,uuid}而不是每次尝试重命名WWN。

或者,也许你可以制定一个udev(7)规则,在/dev下创build一个静态节点,根据与您的WWN相关的属性来表示您的块设备。 你可以用udevadm(8)获得所有的属性。 一个好的起点是ID_WWN_WITH_EXTENSION

ENV{ID_WWN_WITH_EXTENSION}=="360060e80104dac0004f349c800000001", SYMLINK+="iscsi/datastore"

这将在/ dev / iscsi / datastore中创build一个指向您的iscsi LUN的符号链接。

/etc/rc.local添加dmsetup重命名条目

 echo "dmsetup rename 360060e80104dac0004f349c800000001 datastore" >> /etc/rc.local 

你没有给出具体的操作系统。 但是,大多数现代操作系统支持udev,这是一个很好的方式来做你正在尝试。

在将LUN分配给系统之后,只需获取磁盘的scsi_id即可。 您需要安装sg3_utils软件包。 我正在谈论红帽和衍生条款。

 /sbin/scsi_id --page=0x83 --whitelisted /dev/sdX 

将sdxreplace为sda或sdb或其他。

现在,你有scsi_id,在/etc/udev/ruls.d目录下写一个udev规则。

 KERNEL="sd*", BUS=="SCSI", PROGRAM=="/sbin/scsi_id -gus /dev/sd*", RESULT=="XXXX", SYMLINK+="datastore", OWNER=="username", GROUP=="groupname", MODE="0664" 

我想出了这个规则,但是语法应该是正确的。

重新启动udev后,或更好地下注,重新启动。