5.2. 将 root 文件系统从单一路径设备移动到多路径设备中
如果您在单一路径设备中安装您的系统,并后来在 root 文件系统中添加了另一个路径,则您需要将您的 root 文件系统移动到多路径设备中。本小节记录了从单一路径移动到多路径设备的过程。
安装
device-mapper-multipath
软件包后执行以下步骤:
- 执行以下命令创建
/etc/multipath.conf
配置文件,载入多路径模块并为multipathd
将chkconfig
设定为on
:#
mpathconf --enable
有关mpathconf
命令输出的详情请参考 第 3.1 节 “设置 DM-Multipath”。 - 要确定您正确设定了配置文件,您可以运行
/sbin/multipath
命令,使用-v3
选项查看该多路径守护进程是否尝试为您的 root 设备创建多路径设备。该命令会失败,因为 root 设备正在使用中,但该命令的输出应该显示该 root 设备所在路径列表。您应该可在命令输出中看到有以下格式的行:WWID H:B:T:L devname MAJOR:MINOR
例如:如果在sda
或者它的一个分区中设定您的 root 文件系统,您可在输出中看到类似如下的行:===== paths list ===== ... 1ATA WDC WD800JD-75MSA3 WD-WMAM9F 1:0:0:0 sda 8:0 ...
在之后的输出结果中,您应该可以看到分配给多路经设备的 root 设备:time | devname: ownership set to mpathdev
例如:输出结果显示如下:Jun 14 06:48:21 | sda: ownership set to mpatha
您将看到一条说明告诉您无法使用该命令的以下格式创建多路经设备:time | mpathdev: domap (0) failure for create/reload map
如上面的示例所示,您可以在命令输出中看到以下行:Jun 14 06:48:21 | mpatha: domap (0) failure for create/reload map
- 要使用
multipath
重建initramfs
文件系统,请使用附带以下选项的dracut
命令:#
dracut --force --add multipath --include /etc/multipath /etc/multipath
- 如果您的 root 设备不是 LVM 卷,且使用设备名称挂载,则您需要边界
fstab
文件切换为适当的多路径设备名称。如果您的 root 设备是 LVM 设备或者使用 UUID 或者其它属性挂载,就不需要这个步骤。- 使用第三步中描述的步骤运行代
-v3
选项/sbin/multipath
命令确定 root 设备的 WWID。 - 在
/etc/multipath.conf
文件中为 root 设备设定别名。multipaths { multipath { wwid WWID_of_root_device alias rootdev } }
- 编辑
/etc/fstab
并使用带这个多路径设备的 root 设备替换旧的设备路径。例如:如果您在/etc/fstab
文件中有以下条目:/dev/sda1 / ext4 defaults 1 1
您可将该条目更改如下:/dev/mapper/rootdev / ext4 defaults 1 1
如果您要编辑/etc/fstab
文件,您还需要编辑/etc/grub/grub.conf
文件,并将 root 参数从root=/dev/sda1
改为root=/dev/mapper/rootdev
。您编辑grub.conf
文件前条目应类似如下。title Red Hat Enterprise Linux FoundationServer (2.6.32-71.24.1.el6.x86_64) root (hd0,0) kernel /vmlinuz-2.6.32-71.24.1.el6.x86_64 ro root=/dev/sda1 rd_NO_LUKS rd_NO_MD rd_NO_DM LANG=en_US.UTF-8 SYSFONT=latarcyrheb-sun16 KEYTABLE=us console=ttyS0,115200n8 crashkernel=auto initrd /initramfs-2.6.32-71.24.1.el6.x86_64.img
您编辑grub.conf
文件后条目应类似如下。title Red Hat Enterprise Linux FoundationServer (2.6.32-71.24.1.el6.x86_64) root (hd0,0) kernel /vmlinuz-2.6.32-71.24.1.el6.x86_64 ro root=/dev/mapper/rootdev rd_NO_LUKS rd_NO_MD rd_NO_DM LANG=en_US.UTF-8 SYSFONT=latarcyrheb-sun16 KEYTABLE=us console=ttyS0,115200n8 crashkernel=auto initrd /initramfs-2.6.32-71.24.1.el6.x86_64.img
- 关闭机器。
- 配置 FC 开关以便可在该机器中看到其它路径。
- 引导机器。
- 查看 root 文件系统('/')是否在多路径设备中。