如何解决 Linux 虚拟机磁盘设备名不一致的问题
2024-08-28 23:13:10
问题描述
在 Linux 虚拟机内,将附加的多块数据磁盘以设备名(/dev/sdxx)的方式创建文件系统,并将之写入 /etc/fstab 文件中实现启动自动挂载功能。但是在虚拟机重启之后,会随机出现设备名和实际的文件系统不一致的问题。
问题分析
由于 Azure 虚拟机在启动过程中,随机分配数据磁盘的 SCSI 地址,导致了数据磁盘在附加后,获取的 SCSI 地址会随机变化。比如原来的数据磁盘 A,初始的设备名为 /dev/sdc ,在重启之后,会随机的被分配为 /dev/sdd ,原来的数据磁盘 B,初始的设备名为 /dev/sdd,在重启之后,被分配为 /dev/sdc。这样的话,如果客户通过设备进行自动挂载的话,那么会看到挂载点下的实际数据是不一致的。
解决方案
为了避免上述的设计导致自动挂载时出现故障,建议使用 UUID 来代替设备名。不同文件系统的 UUID 是不会随着重启而改变的。这样,就可以确保每次自动挂载都能将正确的文件系统挂载到正确的挂载点。
- 按照以下命令获取文件系统的 UUID :
复制
# blkid
/dev/sdb1: UUID="f788cc09-fad5-4df9-9360-ffe39d82****" TYPE="ext4"
/dev/sda1: UUID="9bb6e11f-4697-476a-9e71-0ebfff61****" TYPE="xfs"
/dev/sda2: UUID="445d96a9-aeb1-4623-a2db-be133bdf****" TYPE="xfs"
- 按照以下格式写入 /etc/fstab 文件 :
复制
# cat /etc/fstab
…
…
UUID=445d96a9-aeb1-4623-a2db-be133bdf**** / xfs defaults 0 0
UUID=9bb6e11f-4697-476a-9e71-0ebfff61**** /boot xfs defaults
立即访问http://market.azure.cn
最新文章
- 调试CS5343总结报告
- Initialization of deep networks
- lintcode:打劫房屋 III
- MKServerBuilder.psm1
- 将日志写入Debug窗口
- c#进程之间对象传递方法
- Win10 + Python + GPU版MXNet + VS2015 + RTools + R配置
- Linux 下挂在ntfs 硬盘
- 2、转载一篇,浅析人脸检测之Haar分类器方法
- SpringBoot学习之启动探究
- appium-desktop录制脚本二次开发,生成我司自动化脚本
- es6 Module语法
- MariaDB与MySQL
- mysql授权远程访问
- tomcat顺序图摘要
- 转:环绕通知返回值 object 类型
- ie 折腾计(浏览器兼容性)
- php数组方法
- iOS越狱知多少?
- Connected Components? CodeForces - 920E (bfs)
热门文章
- 问题诊断神器arthas
- zookeeper 数据节点的增删改查
- How to Deinstall Oracle Clusterware Home Manually
- vue 初步了解provide/inject
- C语言中结构体定义
- 08-oracle统计函数(单组分组函数)
- Service启动流程
- CSAPP阅读笔记-汇编语言初探(算术和逻辑操作类指令)-来自第三章3.5的笔记-P128-P135
- (转)expect命令脚本语言介绍及生产实践
- 如何使一个div能够铺满整个页面? &;&; 模态框的制作 &;&; outerHTML