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云平台推荐
随便看看
- 2022-03-22Redis数据备份与恢复以及迁移解决方案
- 2021-02-09MongoDB Oplog详解
- 2021-11-30UCloud NVMe机型MySQL数据库性能压测-sysbench
- 2022-03-08Linux SSH的SSL弱加密算法漏洞修复
- 2021-01-24Zabbix4.0本地安装部署教程