实践概述
使用快照创建云硬盘后,如果您将新创建的云硬盘挂载到源云硬盘所挂载的云主机,此时新创建的云硬盘的UUID和源云硬盘的UUID会完全相同,导致UUID冲突,存在以下问题:
如果您使用系统盘快照创建一个新云硬盘,挂载到原Linux实例。Linux可能不是从系统盘启动,而是从新挂载的数据盘启动。
如果您的云硬盘使用xfs文件系统,会因为UUID冲突禁止挂载(mount),提示“mount: wrong fs type, bad option, bad superblock on /dev/vdd1,”。
因此,当新创建的云硬盘的UUID和源云硬盘的UUID一样时,需要登录云主机修改新云硬盘的UUID,再执行挂载(mount)操作。关于如何修改云硬盘的UUID,您可以先通过blkid命令查询文件系统类型,然后根据查询结果选择合适的操作。
如果查询结果为TYPE="ext4"、TYPE="ext3"或TYPE="ext2",具体操作,请参见修改ext2/ext3/ext4文件系统的UUID。
如果查询结果为TYPE="xfs",具体操作,请参见修改xfs文件系统的UUID。
操作前准备
使用快照创建一个新云硬盘的具体操作可参考从快照创建云硬盘。
修改ext2/ext3/ext4文件系统的UUID
说明
本示例以/dev/vdc1为例,您需要根据自己的设备名修改相关命令。
远程登录云主机实例,具体操作可参考登录Linux弹性云主机。
运行以下命令,查询云硬盘的UUID。
blkid
查询结果如下所示,此时通过快照新创建云硬盘的UUID和源云硬盘一样:
运行一下命令,检查文件系统。
e2fsck -f /dev/vdc1
运行以下命令,为云硬盘生成新的UUID。
uuidgen | xargs tune2fs /dev/vdc1 -U
运行以下命令,查看是否已经修改UUID。
blkid
查询结果如下,表示已经修改/dev/vdc1的UUID:
运行以下命令挂载(mount)云硬盘。
mount /dev/vdc1 /mnt
配置/etc/fstab文件,开机自动挂载新云硬盘。具体操作请参考在fstab文件中配置UUID方式自动挂载数据盘。
修改xfs文件系统的UUID
说明
本示例以/dev/vde1为例,您需要根据自己的设备名修改相关命令。
远程登录云主机实例,具体操作可参考登录Linux弹性云主机。
运行以下命令,查询云硬盘的UUID。
blkid
查询结果如下所示,此时通过快照新创建云硬盘的UUID和源云硬盘一样:
运行以下命令为云硬盘生成新的UUID。
xfs_admin -U generate /dev/vde1
运行以下命令,查看是否已经修改UUID。
blkid
运行以下命令挂载(mount)云硬盘。
mount /dev/vde1 /mnt
配置/etc/fstab文件,开机自动挂载新云硬盘。具体操作请参考在fstab文件中配置UUID方式自动挂载数据盘。