linux 磁盘漂移,RHEL 6系统启动时盘符漂移及解决

在RHEL 6中安装新的SCSI设备后,可能出现盘符漂移情况,如原来系统盘所在的盘符为/dev/sda,加入新设备,重启系统后,盘符变为最后一个,如/dev/ssda。

盘符漂移原因

Linux内核中,SCSI硬盘盘符的分配与驱动扫描到的硬盘先后顺序有关,即第一块扫描到的硬盘盘符为/dev/sda,第二块盘符为/dev/sdb … 依次类推。

一般情况下,驱动扫描到的硬盘顺序与不同类型SAS/RAID控制器驱动加载顺序有关。如先加载megaraid_sas驱动,则该RAID控制器下的硬盘会首先分配盘符,即/dev/sda所对应的硬盘在该RAID控制器下。若先加载FC驱动,则FC下面的硬盘会首先得到盘符,此时/dev/sda就在FC控制器下面的硬盘。

RHEL 6系统中,添加新设备后,发生盘符漂移的原因为SAS/RAID控制器的驱动加载顺序发生了变化。而加载顺序是udev机制配置文件决定。

盘符漂移解决办法

在intramfs内核启动文件中,我们可以看到cmdline/目录下的启动脚本01parse-kernel.sh。在通过udev机制加载驱动前,先执行该脚本。在该脚本中,可以看到解析内核参数rdloaddriver,即内核先加载参数中的rdloaddriver。

[root@RH2285 cmdline]# ls

01parse-kernel.sh  10parse-resume.sh     20parse-blacklist.sh  30parse-crypt.sh          30parse-lvm.sh

01version.sh       10parse-root-opts.sh  20parse-i18n.sh       30parse-dmsquash-live.sh  95parse-block.sh

[root@RH2285 cmdline]#

[root@RH2285 cmdline]# cat 01parse-kernel.sh

#!/bin/sh

for p in $(getargs rdloaddriver=); do

modprobe $p

done

盘符发生漂移的机器上,执行驱动加载顺序即可。如先加载megaraid_sas驱动,再加载qla4xxx驱动。

title Red Hat Enterprise Linux Server (2.6.32-220.el6.x86_64)

root (hd0,2)

kernel  /boot/vmlinuz-2.6.32-220.el6.x86_64 ro rdloaddriver=megaraid_sas rdloaddriver=qla4xxx  root=UUID=d44cb995-39d0-4882-a25b-43803b3b9d4b

initrd /boot/initramfs-2.6.32-220.el6.x86_64.img

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值