vSphere在线扩容磁盘

发布时间:2026/11/3 1:14:40
vSphere在线扩容磁盘

1 vSphere在线扩容磁盘

sda由原来的100G扩到200G
由于是点点点,此步骤略过

2 系统发现扩容

扩容后sda并未自动生效

root@k8s05:~# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS loop0 7:0 0 63.9M 1 loop /snap/core20/2182 loop1 7:1 0 63.9M 1 loop /snap/core20/2264 loop2 7:2 0 87M 1 loop /snap/lxd/27948 loop3 7:3 0 87M 1 loop /snap/lxd/28373 loop4 7:4 0 39.1M 1 loop /snap/snapd/21184 loop5 7:5 0 38.7M 1 loop /snap/snapd/21465 sda 8:0 0 100G 0 disk ├─sda1 8:1 0 1M 0 part ├─sda2 8:2 0 2G 0 part /boot └─sda3 8:3 0 98G 0 part └─ubuntu--vg-ubuntu--lv 253:0 0 98G 0 lvm /var/lib/kubelet/pods/b813b462-a639-4531-bc5c-643c51771303/volume-subpaths/pvc-948b1ac5-aeb5-42a8-9976-b466896c2ce6/prometheus/2 /var/lib/kubelet/pods/b813b462-a639-4531-bc5c-643c51771303/volumes/kubernetes.io~local-volume/pvc-948b1ac5-aeb5-42a8-9976-b466896c2ce6 /var/lib/kubelet/pods/aa92e1bd-c835-402f-92f5-cb671ad9409b/volume-subpaths/config/elasticsearch/3 /var/lib/kubelet/pods/aa92e1bd-c835-402f-92f5-cb671ad9409b/volume-subpaths/config/elasticsearch/2 /var/lib/kubelet/pods/aa92e1bd-c835-402f-92f5-cb671ad9409b/volume-subpaths/config/elasticsearch/1 /var/lib/kubelet/pods/aa92e1bd-c835-402f-92f5-cb671ad9409b/volumes/kubernetes.io~local-volume/pvc-c4568b99-07b0-4d8a-992c-317ba9d14e7a /var/lib/kubelet/pods/a51a2d0e-e9e9-4ef4-9153-86efd1917829/volume-subpaths/sonarqube/sonarqube/4 /var/lib/kubelet/pods/a51a2d0e-e9e9-4ef4-9153-86efd1917829/volume-subpaths/sonarqube/sonarqube/3 /var/lib/kubelet/pods/a51a2d0e-e9e9-4ef4-9153-86efd1917829/volume-subpaths/sonarqube/sonarqube/2 /var/lib/kubelet/pods/a51a2d0e-e9e9-4ef4-9153-86efd1917829/volume-subpaths/sonarqube/sonarqube/1 /var/lib/kubelet/pods/a51a2d0e-e9e9-4ef4-9153-86efd1917829/volume-subpaths/sonarqube/sonarqube/0 / sr0 11:0 1 1024M 0 rom

通过如下命令帮助系统发现扩容动作

echo '1' > /sys/block/sda/device/rescan root@k8s05:~# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS loop0 7:0 0 63.9M 1 loop /snap/core20/2182 loop1 7:1 0 63.9M 1 loop /snap/core20/2264 loop2 7:2 0 87M 1 loop /snap/lxd/27948 loop3 7:3 0 87M 1 loop /snap/lxd/28373 loop4 7:4 0 39.1M 1 loop /snap/snapd/21184 loop5 7:5 0 38.7M 1 loop /snap/snapd/21465 sda 8:0 0 200G 0 disk ├─sda1 8:1 0 1M 0 part ├─sda2 8:2 0 2G 0 part /boot └─sda3 8:3 0 98G 0 part └─ubuntu--vg-ubuntu--lv 253:0 0 98G 0 lvm /var/lib/kubelet/pods/b813b462-a639-4531-bc5c-643c51771303/volume-subpaths/pvc-948b1ac5-aeb5-42a8-9976-b466896c2ce6/prometheus/2 /var/lib/kubelet/pods/b813b462-a639-4531-bc5c-643c51771303/volumes/kubernetes.io~local-volume/pvc-948b1ac5-aeb5-42a8-9976-b466896c2ce6 /var/lib/kubelet/pods/aa92e1bd-c835-402f-92f5-cb671ad9409b/volume-subpaths/config/elasticsearch/3 /var/lib/kubelet/pods/aa92e1bd-c835-402f-92f5-cb671ad9409b/volume-subpaths/config/elasticsearch/2 /var/lib/kubelet/pods/aa92e1bd-c835-402f-92f5-cb671ad9409b/volume-subpaths/config/elasticsearch/1 /var/lib/kubelet/pods/aa92e1bd-c835-402f-92f5-cb671ad9409b/volumes/kubernetes.io~local-volume/pvc-c4568b99-07b0-4d8a-992c-317ba9d14e7a /var/lib/kubelet/pods/a51a2d0e-e9e9-4ef4-9153-86efd1917829/volume-subpaths/sonarqube/sonarqube/4 /var/lib/kubelet/pods/a51a2d0e-e9e9-4ef4-9153-86efd1917829/volume-subpaths/sonarqube/sonarqube/3 /var/lib/kubelet/pods/a51a2d0e-e9e9-4ef4-9153-86efd1917829/volume-subpaths/sonarqube/sonarqube/2 /var/lib/kubelet/pods/a51a2d0e-e9e9-4ef4-9153-86efd1917829/volume-subpaths/sonarqube/sonarqube/1 /var/lib/kubelet/pods/a51a2d0e-e9e9-4ef4-9153-86efd1917829/volume-subpaths/sonarqube/sonarqube/0 / sr0 11:0 1 1024M 0 rom

3 对新建分区

由于gtp分区表在磁盘头和尾都有备份,而扩容磁盘后,盘尾发生了变化,需要手动将位于原来盘尾的分区表移动到新的盘尾,否则系统还是无法使用新增的空间创建分区

root@k8s05:~# gdisk /dev/sda GPT fdisk (gdisk) version 1.0.8 Partition table scan: MBR: protective BSD: not present APM: not present GPT: present Found valid GPT with protective MBR; using GPT. Command (? for help): p Disk /dev/sda: 419430400 sectors, 200.0 GiB Model: Virtual disk Sector size (logical/physical): 512/512 bytes Disk identifier (GUID): 40F79A88-EEAA-423B-B97B-381B50A67FAF Partition table holds up to 128 entries Main partition table begins at sector 2 and ends at sector 33 First usable sector is 34, last usable sector is 209715166 -------------此处可知目前sda无法创建新的分区,已经没有剩余的sector可用 Partitions will be aligned on 2048-sector boundaries Total free space is 4029 sectors (2.0 MiB) Number Start (sector) End (sector) Size Code Name 1 2048 4095 1024.0 KiB EF02 2 4096 4198399 2.0 GiB 8300 3 4198400 209713151 98.0 GiB 8300 Command (? for help):

通过parted的命令手动Fix

root@k8s05:~# parted -l Warning: Not all of the space available to /dev/sda appears to be used, you can fix the GPT to use all of the space (an extra 209715200 blocks) or continue with the current setting? Fix/Ignore? Fix --------------此处输入Fix Model: VMware Virtual disk (scsi) Disk /dev/sda: 215GB Sector size (logical/physical): 512B/512B Partition Table: gpt Disk Flags: Number Start End Size File system Name Flags 1 1049kB 2097kB 1049kB bios_grub 2 2097kB 2150MB 2147MB ext4 3 2150MB 107GB 105GB Model: Linux device-mapper (linear) (dm) Disk /dev/mapper/ubuntu--vg-ubuntu--lv: 105GB Sector size (logical/physical): 512B/512B Partition Table: loop Disk Flags: Number Start End Size File system Flags 1 0.00B 105GB 105GB ext4 root@k8s05:~#

再进行新分区创建

4 参考

https://zhuanlan.zhihu.com/p/662387474
https://blog.whsir.com/post-6379.html#:~:text=echo%20%271%27%20%3E,%2Fsys%2Fclass%2Fscsi_disk%2F0%3A0%3A1%3A0%2Fdevice%2Frescan%20%E9%80%9A%E8%BF%87%E4%BB%A5%E4%B8%8A%E6%96%B9%E6%B3%95%E5%88%B7%E6%96%B0%E7%A3%81%E7%9B%98%E5%90%8E%EF%BC%8C%E5%86%8D%E6%AC%A1%E6%89%A7%E8%A1%8Cfdisk%20-l%E5%91%BD%E4%BB%A4%E5%8D%B3%E5%8F%AF%E7%9C%8B%E5%88%B0%E5%88%9A%E5%88%9A%E6%96%B0%E5%A2%9E%E7%9A%84%E5%AE%B9%E9%87%8F%E5%B7%B2%E7%BB%8F%E6%98%BE%E7%A4%BA%E4%BA%86

5 分区扩容

5.1 xfs文件系统分区

前提:
/data分区为xfs文件系统,已对相应的硬盘/dev/sdc完成500G扩容````

[root@xmszfhjsj-xmszfhjsjywglythpt-bmimxqlhxsfwq data]# growpart /dev/sdc 1
CHANGED: partition=1 start=2048 old: size=419426304 end=419428352 new: size=1468004319 end=1468006367
[root@xmszfhjsj-xmszfhjsjywglythpt-bmimxqlhxsfwq data]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 60G 0 disk
├─sda1 8:1 0 1G 0 part /boot/efi
└─sda2 8:2 0 59G 0 part /
sdb 8:16 0 64M 0 disk
sdc 8:32 0 700G 0 disk
└─sdc1 8:33 0 700G 0 part /data
[root@xmszfhjsj-xmszfhjsjywglythpt-bmimxqlhxsfwq data]# df -h
Filesystem Size Used Avail Use% Mounted on
devtmpfs 64G 0 64G 0% /dev
tmpfs 64G 320K 64G 1% /dev/shm
tmpfs 64G 4.1G 60G 7% /run
tmpfs 64G 0 64G 0% /sys/fs/cgroup
/dev/sda2 59G 25G 32G 44% /
tmpfs 64G 128K 64G 1% /tmp
/dev/sda1 1022M 6.5M 1016M 1% /boot/efi
tmpfs 13G 448K 13G 1% /run/user/0
tmpfs 13G 0 13G 0% /run/user/988
/dev/sdc1 200G 9.0G 191G 5% /data
overlay 59G 25G 32G 44% /var/lib/docker/overlay2/ca0148602e76b0c5826dd90ce4dd619f834301e611724b738ac8245d991e2234/merged
overlay 59G 25G 32G 44% /var/lib/docker/overlay2/10f82e93dceae036ab0f4ec700383ad92d282aca15eb9485ce4c22d777de0928/merged
overlay 59G 25G 32G 44% /var/lib/docker/overlay2/072e43f8c26a548fb959db306abbd73b5765ee74ebd3b56af43dab4249f73fa3/merged
overlay 59G 25G 32G 44% /var/lib/docker/overlay2/e64d69d8af7ccd7276d99ca2ccb32f2ef5c8f8361b3436acacfc9c5367bf8d41/merged
overlay 59G 25G 32G 44% /var/lib/docker/overlay2/775b98803fab7fe4eb20a88a3d04f1fdbff0c9b0664c831c358d1bddcdef11ab/merged
overlay 59G 25G 32G 44% /var/lib/docker/overlay2/c5de481dbeeceba0f54b95b57fd749c44950fcc694431b8cad5e33d49b217701/merged
overlay 59G 25G 32G 44% /var/lib/docker/overlay2/2c6f0bf24e57b94ee0b1a853684b3c7942e44984c863728915107da1fed69b08/merged
[root@xmszfhjsj-xmszfhjsjywglythpt-bmimxqlhxsfwq data]# xfs_growfs /data
meta-data=/dev/sdc1 isize=512 agcount=4, agsize=13107072 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=1, sparse=1, rmapbt=0
= reflink=1
data = bsize=4096 blocks=52428288, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0, ftype=1
log =internal log bsize=4096 blocks=25599, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
data blocks changed from 52428288 to 183500539
[root@xmszfhjsj-xmszfhjsjywglythpt-bmimxqlhxsfwq data]#
[root@xmszfhjsj-xmszfhjsjywglythpt-bmimxqlhxsfwq data]#
[root@xmszfhjsj-xmszfhjsjywglythpt-bmimxqlhxsfwq data]# df -h
Filesystem Size Used Avail Use% Mounted on
devtmpfs 64G 0 64G 0% /dev
tmpfs 64G 320K 64G 1% /dev/shm
tmpfs 64G 4.1G 60G 7% /run
tmpfs 64G 0 64G 0% /sys/fs/cgroup
/dev/sda2 59G 25G 32G 44% /
tmpfs 64G 128K 64G 1% /tmp
/dev/sda1 1022M 6.5M 1016M 1% /boot/efi
tmpfs 13G 448K 13G 1% /run/user/0
tmpfs 13G 0 13G 0% /run/user/988
/dev/sdc1 700G 13G 688G 2% /data
overlay 59G 25G 32G 44% /var/lib/docker/overlay2/ca0148602e76b0c5826dd90ce4dd619f834301e611724b738ac8245d991e2234/merged
overlay 59G 25G 32G 44% /var/lib/docker/overlay2/10f82e93dceae036ab0f4ec700383ad92d282aca15eb9485ce4c22d777de0928/merged
overlay 59G 25G 32G 44% /var/lib/docker/overlay2/072e43f8c26a548fb959db306abbd73b5765ee74ebd3b56af43dab4249f73fa3/merged
overlay 59G 25G 32G 44% /var/lib/docker/overlay2/e64d69d8af7ccd7276d99ca2ccb32f2ef5c8f8361b3436acacfc9c5367bf8d41/merged
overlay 59G 25G 32G 44% /var/lib/docker/overlay2/775b98803fab7fe4eb20a88a3d04f1fdbff0c9b0664c831c358d1bddcdef11ab/merged
overlay 59G 25G 32G 44% /var/lib/docker/overlay2/c5de481dbeeceba0f54b95b57fd749c44950fcc694431b8cad5e33d49b217701/merged
overlay 59G 25G 32G 44% /var/lib/docker/overlay2/2c6f0bf24e57b94ee0b1a853684b3c7942e44984c863728915107da1fed69b08/merged
[root@xmszfhjsj-xmszfhjsjywglythpt-bmimxqlhxsfwq data]#