栏目头部广告

Linux磁盘UUID冲突解决方案

一、Linux UUID作用和意义

1.1 UUID唯一性

UUID为系统中的存储设备提供唯一的标识字符串,不管这个设备是什么类型的。如果你在系统中添加了新的存储设备如硬盘,很可能会造成一些麻烦,比如说启动的时候因为找不到设备而失败,而使用UUID则不会有这样的问题。

1.2 设备名称多变性

设备名并非总是不变的,自动分配的设备名称,它们依赖于启动时内核加载模块的顺序,而变化。如果你在插入了USB盘时启动了系统,而下次启动时又把它拔掉了,就有可能导致设备名分配不一致。使用UUID对于挂载移动设备也非常有好处。例如我有一个24合一的读卡器,它支持各种各样的卡,而使用UUID总可以使同一块卡挂载在同一个地方。

1.3 系统功能依赖性

Ubuntu中的许多关键功能现在开始依赖于UUID,Ubuntu grub系统引导程序,现在可以识别UUID,打开你的/boot/grub/menu.lst,你可以看到类似如下的语句:

root@2c8g:~# cat /boot/grub/menu.ls
title		Ubuntu 18.04.3 LTS, kernel 4.15.0-154-generic
root		(hd0)
kernel		/boot/vmlinuz-4.15.0-154-generic root=UUID=7cef075a-e1dc-43f2-82cf-7b135e22a302 ro console=hvc0 
initrd		/boot/initrd.img-4.15.0-154-generic

title		Ubuntu 18.04.3 LTS, kernel 4.15.0-154-generic (recovery mode)
root		(hd0)
kernel		/boot/vmlinuz-4.15.0-154-generic root=UUID=7cef075a-e1dc-43f2-82cf-7b135e22a302 ro  single
initrd		/boot/initrd.img-4.15.0-154-generic

title		Ubuntu 18.04.3 LTS, kernel 4.15.0-68-generic
root		(hd0)
kernel		/boot/vmlinuz-4.15.0-68-generic root=UUID=7cef075a-e1dc-43f2-82cf-7b135e22a302 ro console=hvc0 
initrd		/boot/initrd.img-4.15.0-68-generic

title		Ubuntu 18.04.3 LTS, kernel 4.15.0-68-generic (recovery mode)
root		(hd0)
kernel		/boot/vmlinuz-4.15.0-68-generic root=UUID=7cef075a-e1dc-43f2-82cf-7b135e22a302 ro  single
initrd		/boot/initrd.img-4.15.0-68-generic

二、Linux 磁盘UUID相关操作

2.1 UUID操作常用命令

uuidgen                                   # 生成UUID
tune2fs dev -U uuid (ext4)  # ext4文件系统更改UUID
xfs_admin -U uuid dev (xfs) # xfs文件系统更改UUID

2.2 磁盘UUID冲突解决办法

(1)查看磁盘UUID

[root@10-9-140-98 ~]# blkid
/dev/vda1: UUID="b169a7bf-74c7-49ee-9524-508d70c52ba0" BLOCK_SIZE="512" TYPE="xfs" PARTUUID="9a0b1fd0-01"
/dev/vdb1: UUID="b169a7bf-74c7-49ee-9524-508d70c52ba0" BLOCK_SIZE="512" TYPE="xfs" PARTUUID="9a0b1fd0-01"

(2)生成新的UUID

[root@10-9-140-98 ~]# uuidgen
e4837409-47bb-4bcd-9656-bfc74e81dfb1

(3)修改vdb1磁盘的UUID

[root@10-9-140-98 ~]# xfs_admin -U e4837409-47bb-4bcd-9656-bfc74e81dfb1 /dev/vdb1
Clearing log and setting UUID
writing all SBs
new UUID = e4837409-47bb-4bcd-9656-bfc74e81dfb1

[root@10-9-140-98 ~]# xfs_repair -L /dev/vdb1    # 如果修改UUID报错,可执行此命令,不报错可不执行

(4)查看修改后的磁盘UUID

[root@10-9-140-98 ~]# blkid
/dev/vda1: UUID="b169a7bf-74c7-49ee-9524-508d70c52ba0" BLOCK_SIZE="512" TYPE="xfs" PARTUUID="9a0b1fd0-01"
/dev/vdb1: UUID="e4837409-47bb-4bcd-9656-bfc74e81dfb1" BLOCK_SIZE="512" TYPE="xfs" PARTUUID="9a0b1fd0-01"

作者:UStarGao
链接:https://www.starcto.com/application_of_operational/225.html
来源:STARCTO
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

UCloud云平台推荐


UCloud新用户专属注册连接

UCloud CDN超值特惠专场

UCloud全球云主机(UHost/VPS)大促页面

UCloud快杰云主机大促页面

文章页广告

随便看看

栏目底部广告
`