问题描述
对于挂载了SCSI类型云硬盘的Linux弹性云主机,如果在/etc/fstab中配置了SCSI磁盘开机自动挂载,且使用的是磁盘的盘符(如/dev/sdb)进行配置,弹性云主机可能重启失败。
可能原因
SCSI磁盘的分配与磁盘的槽位号、弹性云主机中可用的盘符有关。弹性云主机内部,每加载一个磁盘都按顺序分配空闲的盘符。弹性云主机启动时,按照槽位号顺序加载磁盘,所以槽位号和盘符的顺序是一一对应的。
在线卸载弹性云主机的SCSI磁盘后,磁盘的槽位号顺序有可能发生改变,导致重启后磁盘的盘符也发生改变,槽位号和盘符无法对应,重启失败。
处理方法
- 登录Linux弹性云主机。
- 执行以下命令,切换至root用户。
sudo su -
- 执行以下命令,根据SCSI盘的盘符,查询对应的SCSI ID。
ll /dev/disk/by-id/|grep 磁盘盘符
假设SCSI磁盘的盘符为/dev/sdb,则命令行如下:
ll /dev/disk/by-id/|grep sdb
CNA64_22:/opt/galax/eucalyptus/ecs_scripts # ll /dev/disk/by-id/|grep sdb
lrwxrwxrwx 1 root root 9 Dec 6 11:26 scsi-3688860300001436b005014f890338280 -> ../../sdb
lrwxrwxrwx 1 root root 9 Dec 6 11:26 wwn-0x688860300001436b005014f890338280 -> ../../sdb
- 修改/etc/fstab文件,将SCSI盘的盘符(如/dev/sdb)修改为对应的SCSI ID。
/dev/disk/by-id/SCSI ID
假设3中查询到的SCSI ID为scsi-3688860300001436b005014f890338280,则用以下内容替换/dev/sdb:
/dev/disk/by-id/scsi-3688860300001436b005014f890338280