4.3. 配置持久存储

这部分论述的是使用外部或者联网存储的系统,即光纤通道或者基于 iSCSI 的存储设备。建议在您的主机中为那些系统配置持久设备名称。这还可已帮助实时迁移并为多个虚拟系统提供一致的设备名称和存储。

全局唯一标识符(Universally Unique Identifier,UUID)是在分散的计算环境中识别计算机和设备的标准化方法。这部分介绍了使用 UUID 来识别 iSCSI 或者光纤通道 LUN。重启、断开连接或者设备交换后 UUID 不会改变。UUID 类似于设备的标签。

Systems which are not running multipath must use 单一路径配置. Systems running multipath can use 多路径配置.

单一路径配置

这个步骤使用 udev 持久部署 LUN 设备。只能在不使用 multipath 的主机中使用这个步骤。

  1. 编辑 /etc/scsi_id.config 文件。

    1. Ensure the options=-b is line commented out.

      1. # options=-b
    2. 请添加以下行:

      1. options=-g

      这个选项会将 udev 配置为假设所有附加的 SCSI 都会返回 UUID。

  2. 要显示给定设备的 UUID,请执行以下命令:scsi_id -g -s /block/sd*。例如:

    1. # scsi_id -g -s /block/sd*
    2. 3600a0b800013275100000015427b625e

    输出的结果可能与以上示例有所不同。输出会显示设备 /dev/sdc 的 UUID。

  3. 确认 scsi_id -g -s /block/sd* 命令输出的 UUID 与访问该设备的计算机中的一致。

  4. 为该设备名称创建规则。请在 /etc/udev/rules.d 目录中创建名为 20-names.rules 的文件。添加到同一文件中的所有规则都使用相同的格式。规则格式如下:

    1. KERNEL="sd*", BUS="scsi", PROGRAM="/sbin/scsi_id -g -s", RESULT=UUID, NAME=devicename

    请使用上面检检索的 UUID 和设备名称替换 UUIDdevicename。这是如上示例中的一个规则:

    1. KERNEL="sd*", BUS="scsi", PROGRAM="/sbin/scsi_id -g -s", RESULT="3600a0b800013275100000015427b625e", NAME="rack4row16"

    udev 守护进程现在为该规则中的 UUID 搜索所有名为 /dev/sd* 的设备。当将匹配的设备连接到系统后,会根据该规则为这个设备分配一个名称。UUID 为 3600a0b800013275100000015427b625e 的设备会以 /dev/rack4row16 的形式出现。

  5. /etc/rc.local 中附加这一行:

    1. /sbin/start_udev
  6. /etc/scsi_id.config/etc/udev/rules.d/20-names.rules/etc/rc.local 文件中的更改复制到所有相关主机中。

    1. /sbin/start_udev

在更新这些文件的主机中,使用配置规则的联网存储设备现在都有持久的名称。就是说您可以在使用共享存储的主机间迁移客户端,且那些客户端可以访问其配置文件中包含的存储设备。

多路径配置

multipath 软件包用于在计算机和存储设备间有超过一个物理路径的系统。multipath 为附加到 Linux 系统的网络存储设备提供容错、故障切换以及改进的性能。

要在 multipath 环境中部署 LUN 持久性,需要为您的多路径设备定义别名。每个存储设备都有一个 UUID,它是作为别名的密钥使用。请使用 scsi_id 命令识别设备的 UUID。

  1. # scsi_id -g -s /block/sdc

多路径设备将在 /dev/mpath 目录中生成。在下面的示例中 /etc/multipath.conf 文件定义了 4 个设备:

  1. multipaths {
  2. multipath {
  3. wwid 3600805f30015987000000000768a0019
  4. alias oramp1
  5. }
  6. multipath {
  7. wwid 3600805f30015987000000000d643001a
  8. alias oramp2
  9. }
  10. mulitpath {
  11. wwid 3600805f3001598700000000086fc001b
  12. alias oramp3
  13. }
  14. mulitpath {
  15. wwid 3600805f300159870000000000984001c
  16. alias oramp4
  17. }
  18. }

这个配置将生成 4 个 LUN,分别名为 /dev/mpath/oramp1/dev/mpath/oramp2/dev/mpath/oramp3/dev/mpath/oramp4。输入后,设备的 WWID 将与其新名称匹配,并在重启后保留。