更新时间:2024-04-15 GMT+08:00
重启后盘符发生变化怎么办?
问题现象
Linux弹性云服务器在线卸载云硬盘后重新挂载云硬盘,或在线卸载云硬盘后重启弹性云服务器,可能会存在挂载前后盘符发生变化的情况。
问题原因
当Linux系统的弹性云服务器管理多块磁盘时,会按照磁盘加载顺序分配盘符,依次为磁盘命名,例如:/dev/vda1,/dev/vdb1,/dev/vdc1等。
由于Linux系统的盘符分配机制,当弹性云服务器卸载云硬盘后重新挂载,或者卸载云硬盘后重启云服务器时,可能会存在出现盘符发生变化的情况。
例如,某个云服务器有/dev/vda1,/dev/vdb1,/dev/vdc1三块磁盘,在/etc/fstab中的挂载参数如下所示:
cat /etc/fstab
UUID=b9a07b7b-9322-4e05-ab9b-14b8050bdc8a / ext4 defaults 0 1 /dev/vdb1 /data1 ext4 defaults 0 0 /dev/vdc1 /data2 ext4 defaults 0 0
当卸载原有磁盘/dev/vdb1,并重启云服务器后,原有的/dev/vdc1会变为/dev/vdb1并挂载到挂载点/data,而挂载点/data2则无磁盘可以挂载。
磁盘盘符的变化会影响依赖盘符工作的应用程序的正常使用,为解决这个问题,建议采用UUID(universally unique identifier)来替代/dev/vdx,UUID是Linux系统为磁盘分区提供的唯一的标识字符串。
处理方法
- 登录弹性云服务器。
- 执行以下命令,查询磁盘分区的UUID。
以查询磁盘分区“/dev/vdb1”的UUID为例:
blkid /dev/vdb1
回显类似如下信息:
[root@ecs-test-0001 ~]# blkid /dev/vdb1 /dev/vdb1: UUID="b9a07b7b-9322-4e05-ab9b-14b8050cd8cc" TYPE="ext4"
表示“/dev/vdb1”的UUID。
- 执行以下命令,使用VI编辑器打开“fstab”文件。
- 按“i”,进入编辑模式。
- 将光标移至文件末尾,按“Enter”,添加如下内容。
UUID=b9a07b7b-9322-4e05-ab9b-14b8050cd8cc /data1 ext4 defaults 0 0
其中,
- UUID=b9a07b7b-9322-4e05-ab9b-14b8050cd8cc:磁盘的分区的UUID。
- /data1:磁盘分区的挂载目录,可以通过df -TH命令查询。
- ext4:磁盘分区的文件系统格式, 可以通过df -TH命令查询。
- defaults:磁盘分区的挂载选项,此处通常设置为defaults即可。
- 0:Linux dump备份选项。
- 0表示不使用Linux dump备份。现在通常不使用dump备份,此处设置为0即可。
- 1表示使用Linux dump备份。
- 0:fsck选项,即开机时是否使用fsck检查磁盘。
- 重复执行步骤2~步骤5,替换“/dev/vdc1”的UUID。
- 再次执行以下命令,查看磁盘挂载参数:
回显信息如下所示:
UUID=b9a07b7b-9322-4e05-ab9b-14b8050bdc8a / ext4 defaults 0 1 UUID=b9a07b7b-9322-4e05-ab9b-14b8050cd8cc /data1 ext4 defaults 0 0 UUID=b9a07b7b-9322-4e05-ab9b-14b8050ab6bb /data2 ext4 defaults 0 0
父主题: 磁盘管理