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