如何让Centos VM在不重启的情况下重新读取增加的磁盘大小

我有一个CentOS 5虚拟机,我刚刚把虚拟机磁盘从10G增加到20G,但是我不能让fdisk在没有重新启动的情况下看到新的磁盘大小。

我已经尝试了echo 1 > /sys/block/sda/device/rescan ,这似乎表明它可以看到新的大小,但是当我去fdisk创build一个新的分区时,它仍然看到磁盘为10G。

有任何想法吗?

您需要将重新扫描命令发送到您的SCSI总线。

在VMware中,SCSI控制器可能在一些不寻常的地方被发现。 首先find它:

 find /sys -iname 'scan' 

对我来说,返回

 /sys/devices/pci0000:00/0000:00:07.1/host0/scsi_host/host0/scan /sys/devices/pci0000:00/0000:00:07.1/host1/scsi_host/host1/scan /sys/devices/pci0000:00/0000:00:10.0/host2/scsi_host/host2/scan 

然后发出重新扫描命令

 echo "- - -" >/sys/devices/pci0000:00/0000:00:07.1/host0/scsi_host/host0/scan echo "- - -" >/sys/devices/pci0000:00/0000:00:07.1/host0/scsi_host/host1/scan echo "- - -" >/sys/devices/pci0000:00/0000:00:10.0/host0/scsi_host/host2/scan 

应该有所帮助。 🙂

我必须在SLES 11服务器上处理类似的问题。 LVM是使用运行在VMWare ESXi上的原始磁盘构build的

 # pvcreate /dev/sdd; vgextend .... 

过了一段时间,我需要增加LVM大小,但是我没有添加补充磁盘,然后像以前那样添加了pvcreate + vgextend,但我select增加现有磁盘的大小(在这种情况下为/ dev / sdd )。 在VMWare增加后,我执行了一个

 # rescan-scsi-bus.sh 

但是pvdisplay仍然显示“旧”磁盘大小。 有必要做一个

 # echo 1 > /sys/block/sdd/device/rescan 

供内核学习/ dev / sdd的新磁盘大小

如果直接使用分区表(例如,您使用基本分区挂载了文件系统),则内核将继续使用旧分区表,直到不再有这种情况。 有人曾经告诉我,如果你正在使用LVM,你可以绕过这个….

在第一次做echo 1 > /sys/block/sda/device/rescan

pvresize /dev/sda为我做了诡计

你必须重新启动,这是没有办法的。