完整案例如下:
- 我从 SAN 盒连接了一个 LUN(iscsi 配置已正确完成)
- 一旦我重新启动 open-iscsi 守护程序,LUN 就会连接,并且它的名称将显示在
/dev/mapper
类似于以下字符串的位置:360060e80104dac0004f349c800000001
现在我不想使用这个字母数字,我需要一个合适的助记符。因此,我使用 dmsetup 命令如下:
# dmsetup rename 360060e80104dac0004f349c800000001 datastore
并且datastore
/dev/mapper 下会出现一个指向 dm 设备的链接。问题解决了,直到下次重新启动。助记符datastore
消失了,上面的字母数字再次出现在 /dev/mapper 下。
我如何使此更改永久生效?
答案1
考虑通过引用 LUN,/dev/disk/by-{id,path,uuid}
而不是每次都尝试重命名 WWN。
或者,您可以制定一条 udev(7) 规则,根据与您的 WWN 相关的属性,创建一个/dev
代表块设备的静态节点。您可以使用 udevadm(8) 获取所有属性。一个好的起点是ID_WWN_WITH_EXTENSION
:
ENV{ID_WWN_WITH_EXTENSION}=="360060e80104dac0004f349c800000001", SYMLINK+="iscsi/datastore"
这会在 /dev/iscsi/datastore 创建一个指向您的 iscsi LUN 的符号链接。
答案2
在以下位置添加 dmsetup 重命名条目/etc/rc.local
echo "dmsetup rename 360060e80104dac0004f349c800000001 datastore" >> /etc/rc.local
答案3
您没有提供操作系统的具体信息。但是,大多数现代操作系统都支持 udev,这是完成您尝试操作的一种非常好的方法。
将 lun 分配给系统后,只需获取磁盘的 scsi_id。您需要安装 sg3_utils 包。我说的是 Red Hat 和衍生术语。
/sbin/scsi_id --page=0x83 --whitelisted /dev/sdX
将 sdx 替换为 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,或者更好的办法是重新启动。