Chinaunix首页 | 论坛 | 博客
  • 博客访问: 7115414
  • 博文数量: 3857
  • 博客积分: 6409
  • 博客等级: 准将
  • 技术积分: 15948
  • 用 户 组: 普通用户
  • 注册时间: 2008-09-02 16:48
个人简介

迷彩 潜伏 隐蔽 伪装

文章分类

全部博文(3857)

文章存档

2017年(5)

2016年(63)

2015年(927)

2014年(677)

2013年(807)

2012年(1241)

2011年(67)

2010年(7)

2009年(36)

2008年(28)

分类: LINUX

2014-01-04 11:18:12

在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_sasrdloaddriver=qla4xxx  root=UUID=d44cb995-39d0-4882-a25b-43803b3b9d4b

       initrd /boot/initramfs-2.6.32-220.el6.x86_64.img
原文引用:

阅读(743) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~