openEuler-22.03 盘符重启会改变飘移解决方法

举报
江晚正愁余 发表于 2024/02/27 09:35:03 2024/02/27
【摘要】 openEuler-22.03 盘符重启会改变飘移解决方法盘符漂移的原因:1、 linux系统分配SCSI磁盘的机制是:根据插槽号顺序扫描磁盘(异步),每个SCSI盘有15个分区盘符可分配。2、linux系统启动时,盘符分配机制:SCSI驱动探测到SCSI盘时分配盘符,先完成扫描任务的磁盘先分配空闲盘符。如果有槽位没有插入SCSI盘,不会保留盘符。如果该槽位后续热插入磁盘,则往后分配盘符。3...

openEuler-22.03 盘符重启会改变飘移解决方法

盘符漂移的原因:

1、 linux系统分配SCSI磁盘的机制是:根据插槽号顺序扫描磁盘(异步),每个SCSI盘有15个分区盘符可分配。

2、linux系统启动时,盘符分配机制:SCSI驱动探测到SCSI盘时分配盘符,先完成扫描任务的磁盘先分配空闲盘符。如果有槽位没有插入SCSI盘,不会保留盘符。如果该槽位后续热插入磁盘,则往后分配盘符。

3、linux系统热插拔SCSI盘时,盘符分配机制:SCSI盘被热拔时,原来的槽位和盘符会被释放。后续再热插SCSI盘时,不管是哪个槽位,系统根据未分配的index,按顺序分配盘符(不会再使用被拔除的盘符)。

解决办法:

要解决磁盘盘符漂移问题,一劳永逸的方法就是将磁盘槽位与盘符名做绑定;添加磁盘绑定的补丁。如果只针对磁盘挂载问题,可通过按标签或UUID挂载的方式解决。

方案1:根据ID访问磁盘(/dev/disk/by-id)

适用于裸盘无文件系统场景

方案2:根据挂载路径访问磁盘(/dev/disk/by-path)

适用于磁盘插槽位置不变场景

方案3:根据文件系统UUID访问磁盘(/dev/disk/by-uuid)

适用于有文件系统场景
存在硬盘故障raid卡等异常,进行更换uuid会变化,导致不能进入系统或者业务受损
注意:使用dd等类似命令把某个分区的内容写到另外一个分区,两个分区会有相同的uuid

这里使用类似方案1的策略,但是使用了udev对磁盘进行别名映射

通过命令

ls -l /dev/disk/by-id

查看磁盘的serial id
scsi开头的序列号是磁盘的serial id
wwn开头的序列号是磁盘的world wide name


在/etc/udev/rules.d/目录下新建文件99-rules.rules添加以下内容

KERNEL=="sd*", SUBSYSTEM=="block", ENV{ID_SERIAL}=="3600000.......", ENV{DEVTYPE}=="disk", SYMLINK+="huawei/disk01", OWNER="root", GROUP="disk", MODE="0660"

完成后使用

udevadm trigger --type=devices --action=change

使配置生效

用别名测试磁盘读写

c8156bc1b2419373a98eb44a70c55e1f73657927.png

可以在fstab中使用/huawei/disk01代替sda,由于/huawei/disk01绑定了这张硬盘的serial id所以在发生漂移的情况下也不影响和盘符相关的业务、系统功能。

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。