Linux (centos7)扩容磁盘不显示扩容后的磁盘或者磁盘扩容后大小两种情况

情况一:修改原来磁盘大小,一般是增加,特别是在虚拟化中

解决办法:修改原来磁盘大小后,系统磁盘没有变化

方法一: 重启服务器(不推荐)

方法二:重新扫描SCSI设备

1、检查 scsi 设备的名称。

1
ls /sys/class/scsi_device

2、 然后重新扫描 scsi 总线。用上一步找到的总线名称替换“0:0:0:0”。每个冒号前面都有一个斜杠

1
2
3
4
echo 1 > /sys/class/scsi_device/0\:0\:0\:0/device/rescan

# 可以使用下面脚本一键扫描全部磁盘
for i in `ls /sys/class/scsi_device`;do echo 1 > /sys/class/scsi_device/$i/device/rescan;done

3、扫描后查看是否显示已更改的磁盘大小。如果没有,请将第2中断总线名换成另外一个再试一次

1
fdisk -l   或者 lsblk

情况二:新增磁盘,磁盘不显示

方法一: 重启服务器(不推荐)

方法二:重新扫描主机,需要重新扫描主机以检测新的 scsi 总线。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
ls  /sys/class/scsi_host/

# total 0

# drwxr-xr-x 3 root root 0 Feb 13 02:55 .

# drwxr-xr-x 39 root root 0 Feb 13 02:57 ..

# drwxr-xr-x 2 root root 0 Feb 13 02:57 host0

# 你的主机设备叫做 host0,重新扫描:


如果有多个host 每个都要执行一下,下面的命令

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

echo "- - -" > /sys/class/scsi_host/host1/scan

...

# 上面的命令不会显示任何输出,可以运行 fdisk -l 会显示新磁盘