在使用 Linux 时,有时候会因为初始时磁盘空间分配估计不足,使用中需要将挂载点扩容的情况,这就需要我们挂载新的磁盘。但是如果我们在 Linux 运行过程中挂载磁盘, Linux 又不能在不重启的情况下自动识别,这时就需要我们使用下面的操作使 Linux 在不重启的情况下识别新挂载的磁盘。
首先,查看主机总线号,磁盘肯定是有总线连接着的:
[[email protected] ~]# ls /sys/class/scsi_host/ host0 host1 host2
其次,重新扫描SCSI 总线来添加设备:
[[email protected] ~]# echo “- - -” > /sys/class/scsi_host/host0/scan [[email protected] ~]# echo “- - -” > /sys/class/scsi_host/host1/scan [[email protected] ~]# echo “- - -” > /sys/class/scsi_host/host2/scan
之所以扫描的是SCSI 总线,是因为我们添加的是 SCSI 类型的磁盘。
再次,查看一下新挂载的磁盘,此时 Linux 已经可以识别新添加的磁盘:
[[email protected] ~]# fdisk -l
最后,对新挂载的磁盘进行分区,格式化,挂载即可使用。
补充:为挂载点扩容
假设之前我们有一个挂载点为 /data ,此时 /data 已经写满,但依然想在 /data 下添加新的数据,这时可以使用软链接将 /data 软链接到一个新挂载的磁盘分区上以实现扩容。具体步骤如下所示。
(1)创建一个目录,以便稍后作为挂载点: [[email protected] ~]# mkdir /newdata (2)将 /dev/sdb1 分区挂载到 /newdata 下: [[email protected] ~]# mount /dev/sdb1 /newdata (3)创建 /data 到 /newdata 的软链接: [[email protected] ~]# ln -s /newdata /data
此时在 /data 目录下会有一个软链接文件 newdata 指向 /newdata/ ,即 newdata -> /newdata/ 。这样一来,只要我们向 /data/newdata 下写文件,实际就写入了 /newdata/ 目录下,相当于我们为原 /data 挂载点新增加了一部分使用空间。也可以手动指定该软链接文件的名称:
[[email protected] ~]# ln -s /newdata /data/customed_name 这样就有 /data/customed_name -> /newdata
注:我们也可以利用软链接的这一用途,将比较大的日志文件链接到存储空间充足的磁盘分区的挂载点上。举例来说,如果 /opt/tomcat/logs/catalina.out 日志文件输入很多,占用空间很大,而 /opt 挂载点中所剩空间已经不多,存在溢出风险,通过下面两步就可以将该日志文件软链接到另一个磁盘分区的挂载点上:
[[email protected] ~]# touch /newdata/catalina_link.out [[email protected] ~]# ln -sf /newdata/catalina_link.out /opt/tomcat/logs/catalina.out
这里还需要注意三点,一是必须先创建一个被链接的文件,否则软链接后失败;二是强制软链接会清空之前 /opt/tomcat/logs/catalina.out 日志文件中的全部内容清空;三是需要重启 tomcat 目录后才能继续向 /opt/tomcat/logs/catalina.out 写入。