Rootop 服务器运维与web架构

linux中磁盘sda变成sdb,sdb变成sda,盘符混乱的问题

esxi虚拟化安装的虚拟机,添加了500G数据盘,安装完系统后要创建分区,并格式化挂载数据盘发现盘符为sda。
系统盘盘符为sdb,当时并未在意这个问题。

安装完docker版的gitlab后,关闭selinux,关闭firewalld、update系统等操作后,重启系统,发现gitlab里创建的仓库不见了。

以为是docker的问题,没有做持久化,就又创建了个仓库,重启测试看看会不会丢失,发现之前的仓库又回来了。

无意间执行 df -h 看到数据盘(fstab里配置的为sda1)没有挂载。

fdisk -l 时发现数据盘已经变为sdb1,以为当时分区时记错了,实际并不是,是由于盘符混乱导致的。

原因是内核扫描硬盘分配盘符,顺序出了问题。
解决这个问题就是使用uuid的方式挂载,不再用传统的盘符方式(这么多年第一次遇到)。

# 查看硬盘uuid
[root@localhost ~]# ll /dev/disk/by-uuid/
total 0
lrwxrwxrwx 1 root root 10 Nov  1 11:38 0b63526f-9f3d-4695-ae2c-a6e86e2195e9 -> ../../sdb1
lrwxrwxrwx 1 root root 10 Nov  1 11:38 79271dc0-5c38-47b1-8c24-b546c04f917e -> ../../sda1
lrwxrwxrwx 1 root root 10 Nov  1 11:38 f14bc246-d1a7-4acb-af7c-c49df2074672 -> ../../sda2

# 或者执行 blkid 命令
[root@localhost ~]# blkid 
/dev/sdb1: UUID="0b63526f-9f3d-4695-ae2c-a6e86e2195e9" TYPE="ext4" PARTUUID="a6b8773b-01"
/dev/sda2: UUID="f14bc246-d1a7-4acb-af7c-c49df2074672" TYPE="ext4" PARTUUID="b118ae54-02"
/dev/sda1: UUID="79271dc0-5c38-47b1-8c24-b546c04f917e" TYPE="ext4" PARTUUID="b118ae54-01"

# 挂载
[root@localhost ~]# cat /etc/fstab 
UUID=0b63526f-9f3d-4695-ae2c-a6e86e2195e9	/home	ext4	defaults 0 0



# 验证重启会不会导致盘符发生变化。
[root@localhost ~]# ll /dev/disk/by-uuid/
total 0
lrwxrwxrwx 1 root root 10 Nov  1 12:39 0b63526f-9f3d-4695-ae2c-a6e86e2195e9 -> ../../sda1
lrwxrwxrwx 1 root root 10 Nov  1 12:39 79271dc0-5c38-47b1-8c24-b546c04f917e -> ../../sdb1
lrwxrwxrwx 1 root root 10 Nov  1 12:39 f14bc246-d1a7-4acb-af7c-c49df2074672 -> ../../sdb2

# 重启 reboot
[root@localhost ~]# ll /dev/disk/by-uuid/
total 0
lrwxrwxrwx 1 root root 10 Nov  1 13:01 0b63526f-9f3d-4695-ae2c-a6e86e2195e9 -> ../../sdb1
lrwxrwxrwx 1 root root 10 Nov  1 13:01 79271dc0-5c38-47b1-8c24-b546c04f917e -> ../../sda1
lrwxrwxrwx 1 root root 10 Nov  1 13:01 f14bc246-d1a7-4acb-af7c-c49df2074672 -> ../../sda2

原创文章,转载请注明。本文链接地址: https://www.rootop.org/pages/5346.html

作者:Venus

服务器运维与性能优化

评论已关闭。