重新做RAID后VD的scsi id变化导致无法进入OS
问题描述
2208卡误删除RAID1后无法进入OS,重新做RAID1后重启卡在如下界面。
处理过程
通过卡在的界面来看,是找不到scsi-xxxx设备导致卡主,查看dev/disk/by-id目录下的设备,发现当前设备scsi id同上图OS启动卡主的图不一致。
结合OS恢复的过程是通过重新创建RAID1来完成,怀疑是scsi id变化导致OS加载的时候,还是加载之前的scsi id设备,所以无法启动OS
备注:重新创建RAID组的时候,scsi id会发生变化。
恢复过程:
客户当前使用的是suse11sp3,鉴于toolkit也是11sp3的内核,所以在KVM挂载toolkit启动:
1、 通过lsblk命令查看分区情况
2、通过mount命令挂载系统分区。
3、挂载系统分区后,查看fstab当前系统的挂载点确实还有之前的scsi id信息,menu.lst文件中也是之前的scsi id信息,还有initrd文件中的fstab文件也是如此,故参考下述的解决方案。
1、将安装媒介插入DVD驱动器中;
2、重新引导系统;
3、在引导屏幕上按F11并选择DVD-ROM,然后从主屏幕选择救援系统;
4、在Rescue:提示符处输入root,无需密码;
5、在救援系统中装入位于/dev/sda2下的root文件系统:
mount /dev/sda2 /mnt
系统所有目录现在均位于/mnt之下
6、将目录切换为所装入的root文件系统:
cd /mnt
7、在vi编辑器中调整/etc/fstab中uuid为sd*;
8、在vi编辑器中调整/boot/grub/menu.1st中的uuid为sd*;
9、在救援系统中将文件重新挂载:
cd /
mount /dev /mnt/dev -o bind
mount /sys /mnt/sys -o bind
mount -t proc none /mnt/proc
10、改变根目录位置:
chroot /mnt
11、重新封包核心:
mkinitrd
12、离开救援模式并重启:
exit
reboot
备注,使用mkinitrd命令的时候,会用menu下的具体启动引导scsi id重新生成initrd文件,故需要最后的命令mkinitrd命令才能最终解决问题。