suse操作系统内置磁盘漂移问题

发布时间:  2015-06-12 浏览次数:  419 下载次数:  2
问题描述

升级suse内核前,本地磁盘为sda,外接硬盘为sdb;升级内核后,本次磁盘变成sde,外接磁盘变成sda,如下图:

系统升级前:

系统升级后:


处理过程

从盘符变化分析来看,外接存储的磁盘变成了sda,说明系统默认先检测到了存储挂载的硬盘,然后才识别到本地磁盘。

OS日志(/var/message)里面也可以看到先加载了lpfc的驱动,然后才加载了 mpt2sas 驱动,检测配置文件

 #cat /etc/sysconfig/kernel | grep INITRD_MODULES 

INITRD_MODULES="thermal lpfc mpt2sas ahci processor fan jbd ext3 edd"

发现lpfc驱动要先与mpt2sas驱动的加载,从新修改配置项为

INITRD_MODULES="thermal mpt2sas ahci processor fan jbd ext3 edd lpfc "

重新制作内核

mkinitrd -k /boot/vmlinuz-2.6.32.59-0.13.1.7140.0.PTF-default -i /boot/initrd-2.6.32.59-0.13.1.7140.0.PTF-default

然后重启,发现系统盘符恢复正常。(重新制作内核文件这一步一定要细心了,如果制作错误会导致主机无法启动,需仔细)

重启系统后由于加载LUN的顺序变化,会出现两个LUNsdb,sdc顺序调换的问题。 
在配置mount的时候或者在通过脚本挂接磁盘组的时候,即写fstab文件时,不使用/dev/sdb来挂载,而使用磁盘UUID来挂载。UUIDLUN在系统影射值,不会因为重启而改变。


根因

驱动加载顺序不正确,导致系统先识别到外接磁盘,从而导致盘符漂移。

解决方案

修改配置文件 #vi /etc/sysconfig/kernellpfc驱动放在最后,并重新制作内核,然后重启操作系统。

 

   场景:SUSE11 挂载S3900存储,划分两个LUN,为/dev/sdbsdc但有时重启系统后由于加载LUN的顺序变化,会出现两个LUNsdb,sdc顺序调换的问题。但是出现后后果十分严重。重启系统后由于加载LUN的顺序变化,会出现两个LUNsdb,sdc顺序调换的问题。

END