如果您將快照建立的雲端硬碟掛載到原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方式自動掛載資料盤。