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
的主机中使用这个步骤。
编辑
/etc/scsi_id.config
文件。Ensure the
options=-b
is line commented out.# options=-b
请添加以下行:
options=-g
这个选项会将
udev
配置为假设所有附加的 SCSI 都会返回 UUID。
要显示给定设备的 UUID,请执行以下命令:
scsi_id -g -s /block/sd*
。例如:# scsi_id -g -s /block/sd*
3600a0b800013275100000015427b625e
输出的结果可能与以上示例有所不同。输出会显示设备
/dev/sdc
的 UUID。确认
scsi_id -g -s /block/sd*
命令输出的 UUID 与访问该设备的计算机中的一致。为该设备名称创建规则。请在
/etc/udev/rules.d
目录中创建名为20-names.rules
的文件。添加到同一文件中的所有规则都使用相同的格式。规则格式如下:- KERNEL="sd*", BUS="scsi", PROGRAM="/sbin/scsi_id -g -s", RESULT=
UUID
, NAME=devicename
请使用上面检检索的 UUID 和设备名称替换
UUID
和devicename
。这是如上示例中的一个规则:KERNEL="sd*", BUS="scsi", PROGRAM="/sbin/scsi_id -g -s", RESULT="3600a0b800013275100000015427b625e", NAME="rack4row16"
udev
守护进程现在为该规则中的 UUID 搜索所有名为/dev/sd*
的设备。当将匹配的设备连接到系统后,会根据该规则为这个设备分配一个名称。UUID 为 3600a0b800013275100000015427b625e 的设备会以/dev/rack4row16
的形式出现。- KERNEL="sd*", BUS="scsi", PROGRAM="/sbin/scsi_id -g -s", RESULT=
在
/etc/rc.local
中附加这一行:/sbin/start_udev
将
/etc/scsi_id.config
、/etc/udev/rules.d/20-names.rules
和/etc/rc.local
文件中的更改复制到所有相关主机中。/sbin/start_udev
在更新这些文件的主机中,使用配置规则的联网存储设备现在都有持久的名称。就是说您可以在使用共享存储的主机间迁移客户端,且那些客户端可以访问其配置文件中包含的存储设备。
多路径配置
multipath
软件包用于在计算机和存储设备间有超过一个物理路径的系统。multipath
为附加到 Linux 系统的网络存储设备提供容错、故障切换以及改进的性能。
要在 multipath
环境中部署 LUN 持久性,需要为您的多路径设备定义别名。每个存储设备都有一个 UUID,它是作为别名的密钥使用。请使用 scsi_id
命令识别设备的 UUID。
# scsi_id -g -s /block/sdc
多路径设备将在 /dev/mpath
目录中生成。在下面的示例中 /etc/multipath.conf
文件定义了 4 个设备:
multipaths {
multipath {
wwid 3600805f30015987000000000768a0019
alias oramp1
}
multipath {
wwid 3600805f30015987000000000d643001a
alias oramp2
}
mulitpath {
wwid 3600805f3001598700000000086fc001b
alias oramp3
}
mulitpath {
wwid 3600805f300159870000000000984001c
alias oramp4
}
}
这个配置将生成 4 个 LUN,分别名为 /dev/mpath/oramp1
、/dev/mpath/oramp2
、/dev/mpath/oramp3
和 /dev/mpath/oramp4
。输入后,设备的 WWID 将与其新名称匹配,并在重启后保留。