引言:君子藏器于身,待时而动。——周易·系辞下
一、背景
我们使用VMware虚拟化的时候,经常会遇到需要增加磁盘的情况,有时候服务器比较重要,不能随意重启,这时候如何在不重启的情况下,识别新挂载硬盘就是个非常重要的技巧。
二、操作命令
操作命令分为两步,第一步是查看host的名称,第二步针对具体的名称,进行操作,具体如下。
1、查看host文件的数量以及名字
cd /sys/class/scsi_hostls -l
一般有host0、host1、host2等,笔者的虚拟机里有这么多host2、强制Linux内核扫描新增的SCSI硬盘
echo "- - -" > /sys/class/scsi_host/host0/scanecho "- - -" > /sys/class/scsi_host/host1/scanecho "- - -" > /sys/class/scsi_host/host2/scan
三、命令解析
Linux无法识别硬盘的原因在于Linux内核对于新增硬盘的操作并不能实时感知,这时候需要手动让内核“感知”一下。
第一步的操作是查看当前机器的宿主控制器有哪些,/sys/class/scsi_host存放的是SCSI的控制器,表示宿主机器的宿主适配器(HBA)
第二步中的核心是三个横杠,这三个横杠代表什么呢?
这三个横杠是有意义的,其实这三个横杠是通配符,当然也可以用数字来代替,三个位置代表的分别是Channel Target LUN,意思就是扫描一下当前主机所有的Channel Target LUN。
具体的channel Target LUN大家可以查一下SCSI相关的内容,如果大家嫌麻烦,我可以后面写一篇文章解释一下。
大家会了没,不停机而添加硬盘,你们有什么小技巧呢?大家可以评论区讨论。