现网的一台EXSI 下的虚拟机一般在进行配置变更后都会通过重启来识别新增的配置,不过业务侧某台主机因为业务需要无法重启,想通过不重启直接识别护容上去的新磁盘。经和负责ESXi 的兄弟进行测试,发现如下方可以解决。
1、通过exsi 控制台为虚拟机新增磁盘(步骤略)
2、执行如下命令扫盘
echo "- - -" > /sys/class/scsi_host/host0/scan
然后再运行fdisk -l 就能发现新添加的硬盘已经被系统识别了,查看系统日志/var/log/messages,发现对SCSI设备进行了一次重新扫描。需要注意的是echo的三个- – -号之间有空隔。
以下是执行结果:
[root@localhost ~]# fdisk -l
Disk /dev/sda: 21.4 GB, 21474836480 bytes
255 heads, 63 sectors/track, 2610 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sda1 * 1 13 104391 83 Linux
/dev/sda2 14 2610 20860402+ 8e Linux LVM
[root@localhost ~]# echo "- - -" > /sys/class/scsi_host/host0/scan
[root@localhost ~]# fdisk -l
Disk /dev/sda: 21.4 GB, 21474836480 bytes
255 heads, 63 sectors/track, 2610 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sda1 * 1 13 104391 83 Linux
/dev/sda2 14 2610 20860402+ 8e Linux LVM
Disk /dev/sdb: 21.4 GB, 21474836480 bytes
255 heads, 63 sectors/track, 2610 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk /dev/sdb doesn't contain a valid partition table
有没有点似曾相似的感觉,在更换FC HBA卡、存储划LUN和去LUN操作时,也是echo 三个横杠到scan 文件重新描盘。只不echo的是host4 、hosts5 。具体参看 Linux更换HBA卡后重新扫盘指令 。
redhat6/centos6 下的硬件控制已由5时代的kudzu 换成了udev管理,大部分的硬件变动可以通过重启udev识别,如新增的网卡。不过磁盘相关略有些特殊,需要通过sys文件扫描,不过和磁盘名称相关的配置,可以通过/etc/udev下的rule文件进行管理配置。