如果您将快照创建的云盘挂载到原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和原云盘一样。
[root@ecs ~]# blkid /dev/vda1: UUID="dcbdbcd3-f78c-4739-8cc7-xxx50da3b" TYPE="ext4" /dev/vdb1: UUID="dcbdbcd3-f78c-4739-8cc7-xxx50da3b" TYPE="ext4" [root@ecs ~]#运行以下命令,检查文件系统。
e2fsck -f /dev/vdb1运行以下命令,为云盘生成新的UUID。
uuidgen | xargs tune2fs /dev/vdb1 -U运行以下命令,查看是否已经修改UUID。
blkid查询结果如下,表示已经修改/dev/vdb1的UUID。
[root@ecs ~]# blkid /dev/vda1: UUID="dcbdbcd3-f78c-4739-8cc7-xxx50da3b" TYPE="ext4" /dev/vdb1: UUID="56578712-2c72-42c0-9b13-xxx7cae0b" TYPE="ext4"运行以下命令挂载(
mount)云盘。mount /dev/vdb1 /mnt配置
/etc/fstab文件,开机自动挂载新云盘。具体操作,请参见在fstab文件中配置UUID方式自动挂载数据盘。
修改xfs文件系统的UUID
本示例以/dev/vdd1为例,您需要根据自己的设备名修改相关命令。
远程连接ECS实例。
具体操作,请参见通过VNC连接实例。
运行以下命令查询云盘的UUID。
blkid查询结果如下所示,此时通过快照新创建的云盘UUID和原云盘一样。
命令输出显示
/dev/vdc1和/dev/vdd1的 UUID 相同,存在 XFS 文件系统 UUID 冲突。[root@ecs ~]# blkid /dev/vda1: UUID="dcbdbcd3-f78c-4739-8cc7-xxx50da3b" TYPE="ext4" /dev/vdb1: UUID="56570712-2c72-42c8-9b13-xxx2cae0b" TYPE="ext4" /dev/vdc1: UUID="65f0c62a-f980-4a58-8de5-xxx65b99f" TYPE="xfs" PARTLABEL="primary" 4417" /dev/vdd1: UUID="65f0c62a-f980-4a58-8de5-xxx65b99f" TYPE="xfs" PARTLABEL="primary" 4417" [root@ecs ~]#运行以下命令为云盘生成新的UUID。
xfs_admin -U generate /dev/vdd1运行以下命令查看是否已经修改UUID。
blkid查询结果如下,表示已经修改/dev/vdd1的UUID。
[root@ecs ~]# blkid /dev/vda1: UUID="dcbdbcd3-f78c-4739-8cc7-xxx50da3b" TYPE="ext4" /dev/vdb1: UUID="56570712-2c72-42c8-9b13-xxx2cae0b" TYPE="ext4" /dev/vdc1: UUID="65f0c62a-f980-4a58-8de5-xxx65b99f" TYPE="xfs" PARTLABEL="primary" 4417" /dev/vdd1: UUID="0a4ec739-33e7-4d95-b8ca-xxx335e9f" TYPE="xfs" PARTLABEL="primary" 4417" [root@ecs ~]#运行以下命令挂载(
mount)云盘。mount /dev/vdd1 /mnt配置
/etc/fstab文件,开机自动挂载新云盘。具体操作,请参见在fstab文件中配置UUID方式自动挂载数据盘。