现网的一台EXSI 下的虚拟机一般在进行配置变更后都会通过重启来识别新增的配置,不过业务侧某台主机因为业务需要无法重启,想通过不重启直接识别护容上去的新磁盘。经和负责ESXi 的兄弟进行测试,发现如下方可以解决。

1、通过exsi 控制台为虚拟机新增磁盘(步骤略)

2、执行如下命令扫盘

1echo "- - -" >  /sys/class/scsi_host/host0/scan

然后再运行fdisk -l 就能发现新添加的硬盘已经被系统识别了,查看系统日志/var/log/messages,发现对SCSI设备进行了一次重新扫描。需要注意的是echo的三个- – -号之间有空隔。以下是执行结果:

 1[root@localhost ~]# fdisk -l
 2Disk /dev/sda: 21.4 GB, 21474836480 bytes
 3255 heads, 63 sectors/track, 2610 cylinders
 4Units = cylinders of 16065 * 512 = 8225280 bytes
 5   Device Boot      Start         End      Blocks   Id  System
 6/dev/sda1   *           1          13      104391   83  Linux
 7/dev/sda2              14        2610    20860402+  8e  Linux LVM
 8[root@localhost ~]# echo "- - -" > /sys/class/scsi_host/host0/scan
 9[root@localhost ~]# fdisk -l
10Disk /dev/sda: 21.4 GB, 21474836480 bytes
11255 heads, 63 sectors/track, 2610 cylinders
12Units = cylinders of 16065 * 512 = 8225280 bytes
13   Device Boot      Start         End      Blocks   Id  System
14/dev/sda1   *           1          13      104391   83  Linux
15/dev/sda2              14        2610    20860402+  8e  Linux LVM
16Disk /dev/sdb: 21.4 GB, 21474836480 bytes
17255 heads, 63 sectors/track, 2610 cylinders
18Units = cylinders of 16065 * 512 = 8225280 bytes
19Disk /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文件进行管理配置。