我有一个 CentOS 5 虚拟机,我刚刚将虚拟机磁盘从 10G 增加到 20G,但我无法在不重新启动的情况下让 fdisk 查看新的磁盘大小。
我试过了echo 1 > /sys/block/sda/device/rescan
,它似乎表明它可以看到新的大小,但是当我去 fdisk 创建一个新分区时,它仍然看到磁盘为 10G。
有任何想法吗?
Jan*_*nen 15
您需要向 SCSI 总线发出重新扫描命令。
在 VMware 中,SCSI 控制器可能会出现在一些不寻常的地方。首先找到它:
find /sys -iname 'scan'
Run Code Online (Sandbox Code Playgroud)
对于回来的我
/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
Run Code Online (Sandbox Code Playgroud)
然后只需发出重新扫描命令
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
Run Code Online (Sandbox Code Playgroud)
那应该有帮助。:)
小智 15
我不得不在 SLES 11 服务器上处理类似的问题。LVM 使用原始磁盘构建,在 VMWare ESXi 上运行
# pvcreate /dev/sdd; vgextend ....
Run Code Online (Sandbox Code Playgroud)
一段时间后,我需要增加 LVM 大小,但我没有像以前那样添加补充磁盘然后 pvcreate + vgextend,而是选择增加现有磁盘的大小(在这种情况下为 /dev/sdd )。在VMWare中做了增加之后,我执行了一个
# rescan-scsi-bus.sh
Run Code Online (Sandbox Code Playgroud)
但是 pvdisplay 仍然显示“旧”磁盘大小。有必要做一个
# echo 1 > /sys/block/sdd/device/rescan
Run Code Online (Sandbox Code Playgroud)
供内核学习 /dev/sdd 的新磁盘大小
要检测对现有磁盘的更改:
echo 1 > /sys/class/block/sdX/device/rescan
Run Code Online (Sandbox Code Playgroud)
检测新磁盘:
echo 1 > /sys/class/scsi_device/X:X:X:X/device/block/device/rescan
Run Code Online (Sandbox Code Playgroud)
要在第一种情况下找到 X,您可以使用fdisk -l
.
https://kerneltalks.com/disk-management/how-to-rescan-disk-in-linux-after-extending-vmware-disk/
归档时间: |
|
查看次数: |
108186 次 |
最近记录: |