18.9. 实施 Lun 持久化
如果你的系统没有使用多重路径(multipath),你可以使用
udev
来实施 lun 持久化。在实施之前,请确保你获得了正确的 UUID。一旦你获得了这些 UUID,你可以通过编辑 /etc
目录里的 scsi_id
文件来配置 lun 持久化。用文本编辑器里打开这个文件后,你必须注释掉如下一行:
# options=-b
然后用这个参数来代替它:
# options=-g
这告诉 udev 来监控所有返回 UUID 的系统 SCSI 设备,要获取系统 UUID,键入:
# scsi_id -g -s /block/sdc
输出应该如下所示:
[root@devices] # scsi_id -g -s /block/sdc *3600a0b80001327510000015427b625e*
这个长字符串就是 UUID。既然 UUID 是与设备名无关的,检查每个设备路径来确保 UUID 号码对于每个设备都是相同的。当你把新设备加入到系统里时,UUID 不会改变。一旦你已经检查了设备路径,你必须创建设备命名规则。要创建这些规则,你必须编辑
/etc/udev/rules.d
目录里的 20-names.rules
文件。设备创建的命名规则应该遵循下面的格式:
# KERNEL="sd*", BUS="scsi", PROGRAM="sbin/scsi_id", RESULT="UUID", NAME="devicename"
用上面检索的 UUID 替换现有的 UUID 和设备名。所以,这个规则应该象下面这样:
KERNEL="sd*", BUS="scsi", PROGRAM="sbin/scsi_id", RESULT="3600a0b80001327510000015427b625e ", NAME="mydevicename"
这导致系统启用所有匹配
/dev/sd*
的设备来检查给定的 UUID。当它发现有匹配的设备时,它创建一个叫 /dev/devicename
的设备节点。在这个例子里,设备节点是 /dev/mydevice
。最后,你需要把 /etc
目录里的 rc.local
文件附加在这个路径后:
/sbin/start_udev
用多重路径(MULTIPATH)实施 LUN 持久化
要在多重路径的环境里实施 lun 持久化,你必须定义多重路径设备的别名。例如,你必须编辑
/etc/
目录里的 multipath.conf
文件来定义四个设备别名:
multipath { wwid 3600a0b80001327510000015427b625e alias oramp1 } multipath { wwid 3600a0b80001327510000015427b6 alias oramp2 } multipath { wwid 3600a0b80001327510000015427b625e alias oramp3 } multipath { wwid 3600a0b80001327510000015427b625e alias oramp4 }
这就定义了四个 lun:
/dev/mpath/oramp1
、/dev/mpath/oramp2
、/dev/mpath/oramp3
和 dev/mpath/oramp4
。这些设备将位于 /dev/mpath
目录。这些 lun 的名字在重启后也将保持,因为它们都是基于 LUN 的 wwid 创建的别名。