17.10. 配置 LUN 持久性

这部分论述了如何在客户端以及主机(可以是多路径,也可以不是)部署 LUN 持久性。

在非多路径系统中部署 LUN 持久性

如果您的系统没有使用多路径,您可以使用 udev 部署 LUN 持久性。在您的系统中部署 LUN 持久性前,请确定您有正确的 UUID。您得到它们后,即可编辑位于 /etc 目录的 scsi_id 文件来配置 LUN 持久性。当您在文本编辑器中打开此文件时,您必须注释出这一行:

  1. # options=-b

然后用这个参数来代替它:

  1. # options=-g

这样可以让 udev 监控所有系统 SCSI 设备以返回 UUID。要决定该系统的 UUID,请使用 scsi_id 命令:

  1. # scsi_id -g -s /block/sdc
  2. *3600a0b80001327510000015427b625e*

输出中的这个长字符串就是 UUID。在您向系统中添加新设备时,UUID 不会改变。请为每个设备获得一个 UUID 以便为设备创建规则。要创建新设备规则,请编辑位于 /etc/udev/rules.d 目录的 20-names.rules 文件。该设备命名规则的格式如下:

  1. # KERNEL="sd*", BUS="scsi", PROGRAM="sbin/scsi_id", RESULT="UUID", NAME="devicename"
  2.  

使用以上搜索出的 UUID 条目替换您现有 UUIDdevicename。该规则应类似如下:

  1. KERNEL="sd*", BUS="scsi", PROGRAM="sbin/scsi_id", RESULT="3600a0b80001327510000015427b625e", NAME="mydevicename"
  2.  

这可使系统启用所有与格式 /dev/sd* 匹配的设备来检查给定的 UUID。当找到第一个匹配的设备时,它会生成一个设备节点,名为 /dev/devicename。在这个示例中,该设备节点为 /dev/mydevice 。最后,请在 /etc/rc.local 文件中添加这一行:

  1. /sbin/start_udev
部署多路径 LUN 持久性

要在多路径环境中部署 LUN 持久性,您必须为多路径设备定义别名。在本示例中,您必须编辑位于 /etc/ 目录中的 multipath.conf 文件来定义四个设备别名:

  1. multipath {
  2. wwid 3600a0b80001327510000015427b625e
  3. alias oramp1
  4. }
  5. multipath {
  6. wwid 3600a0b80001327510000015427b6
  7. alias oramp2
  8. }
  9. multipath {
  10. wwid 3600a0b80001327510000015427b625e
  11. alias oramp3
  12. }
  13. multipath {
  14. wwid 3600a0b80001327510000015427b625e
  15. alias oramp4
  16. }

这定义了四个 LUN: /dev/mpath/oramp1/dev/mpath/oramp2/dev/mpath/oramp3dev/mpath/oramp4。这些设备将位于 /dev/mpath 目录。这些 LUN 名称会在重启后保留,因为在 LUN的 wwid 中创建了别名。