前面我写了一篇关于Linux系统分区与格式化的文章,有朋友提出这样的问题:“partprobe 这条命令就能重置分区信息,但是在6上面不行” 于是就找个时间实验了一下,发现这样的问题:如果系统已经处于启动状态下,向系统中增加硬盘的话,系统就不认新的硬盘。因为我没有真实的服务器来实验,只有虚拟机,所以我目前的情况是RHEL6在虚拟机VM上,但据说真实的机器也是一样的问题。就算在RHEL6上使用了partprobe这个命令,也找不到新的硬盘,其实partprobe这个命令只是针对分区表的,而不是针对设备,所以说,这样肯定是没有效果的啊! 那么如何让系统认识新增加的磁盘设备呢?这就是我们今天的学习内容。在这里要先感谢群中的KADE给以的帮助。 注意,我们增加的磁盘只能是SCSI的,只有这样的才支持热插拔。 下面看一下在系统不重启的情况,如何让系统认识新的磁盘,并能对其分区与格式化 1、在开机状态下新增磁盘 2、执行下面的命令 echo "- - -" > /sys/class/scsi_host/host2/scan 特别注意 host2一般是/sys/class/scsi_host/下最大的那个文件,也就相当于最后加入的设备。需要根据自己的系统情况而定 “- – -” 这三个-之间是有空格的 我们再查看系统日志/var/log/messages,发现对SCSI设备进行了一次重新扫描,用fdisk -l也看到了新增加的磁盘了。上面的命令主要的目的就是scan the SCSI bus。 3、对磁盘进行分区与格式化,请看羽飞博客中的其他相关文章。这里就不赘述了。 注意 1、通过此方法,格式化就无需通过partprobe这个命令来重新认识分区表了 2、通过此方法,可以在线随意增加删除磁盘(千万不能是系统磁盘) 3、通过此方法,只用一次后,后面再增加新的磁盘,就不用此命令了,系统就能自动认识了(我也不明白为什么,奇怪) 4、在RHEL5中有个kudzu检测硬件,所以就增加完磁盘后,系统能识别(此系统本人已经没有环境测试,据其他用户说是可以识别的)。而在 RHEL6中kudzu虽然已经被hal(haldaemon服务)取代了(hal全名Hardware Abstraction Layer,是linux一种管理硬件的机制,它会帮所有的应用程序或用户搜集所有PCI及USB等硬件信息,因此,用户可以很简单并实时地通过HAL的方式取得硬件的相关数据; ),但为什么结果不一样,如果有知道或了解的朋友,请指点一下小弟。