目录
- 前言
- 一、扩容
- 二、验证
- 小结
前言
有时候我们在虚拟化环境中创建虚拟机后,在使用一段时间,发现系统磁盘容量不够用,于是需要扩充容量来达到我们的需求。在 VMware ESXi 创建的 Linux 系统的根分区默认为 LV 逻辑卷,可实现在线扩容操作。
一、扩容
1、登录 VMware ESXi 可视化界面
2、选择对应虚拟机,点击【编辑】
3、扩大磁盘容量或新增磁盘
- 直接扩大根分区容量
- 新增硬盘
4、磁盘分区
- 如果选择直接扩容根分区的方式,则需进行分区;
- 如果选择的是新增标准磁盘的方式,可分区,也可不用分区。
5、制作 PV 物理卷
例如我选择直接扩容根分区的方式
,需进行分区,并将扩充的容量全部用于该分区(且我指定为主分区),分区过程略(较简单),如下:我分出了 800G 的 sda3 分区。
[root@ftp ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 1.2T 0 disk
├─sda1 8:1 0 1G 0 part /boot
├─sda2 8:2 0 449G 0 part
│ ├─centos-root 253:0 0 445G 0 lvm /
│ └─centos-swap 253:1 0 4G 0 lvm [SWAP]
└─sda3 8:3 0 800G 0 part
sr0 11:0 1 973M 0 rom
制作条件:可以是完整未分区的标准磁盘或者已经分区的磁盘
- 制作 PV
要求:需是没格式化过的完整磁盘或分区
[root@ftp ~]# pvcreate /dev/sda3
WARNING: xfs signature detected on /dev/sda3 at offset 0. Wipe it? [y/n]: y
Wiping xfs signature on /dev/sda3.
Physical volume "/dev/sda3" successfully created.
- 查看 PV 信息
[root@ftp ~]# pvdisplay
--- Physical volume ---
PV Name /dev/sda2
VG Name centos
PV Size <449.00 GiB / not usable 3.00 MiB
Allocatable yes (but full)
PE Size 4.00 MiB
Total PE 114943
Free PE 0
Allocated PE 114943
PV UUID 7aBfEr-vYit-xmze-U4fT-6CM4-1Yrc-JTFf6y
"/dev/sda3" is a new physical volume of "800.00 GiB"
--- NEW Physical volume ---
PV Name /dev/sda3
VG Name
PV Size 800.00 GiB
Allocatable NO
PE Size 0
Total PE 0
Free PE 0
Allocated PE 0
PV UUID RG1Ej9-00xO-08kC-obKi-JI3T-xWeu-HKz5OI
6、扩大 VG 卷组容量
- 查看 VG 信息
[root@ftp ~]# vgdisplay
--- Volume group ---
VG Name centos
System ID
Format lvm2
Metadata Areas 1
Metadata Sequence No 3
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 2
Open LV 2
Max PV 0
Cur PV 1
Act PV 1
VG Size <449.00 GiB
PE Size 4.00 MiB
Total PE 114943
Alloc PE / Size 114943 / <449.00 GiB
Free PE / Size 0 / 0
VG UUID fjobN7-YmLj-o2C2-5sxm-tBwb-pldB-3Vvtay
- 扩大 VG 卷组
/dev/sda3 在上面已经被制作为PV物理卷了,可直接扩充至VG卷组
[root@ftp ~]# vgextend centos /dev/sda3
Volume group "centos" successfully extended
- 再次查看 VG 容量
[root@ftp ~]# vgs
VG #PV #LV #SN Attr VSize VFree
centos 2 2 0 wz--n- <1.22t <800.00g
可看到,有 800G 的可用容量,接下来 LV 将从 VG 中拿取容量。
7、扩大 LV 逻辑卷容量
- 查看 LV 信息
[root@ftp ~]# lvdisplay
--- Logical volume ---
LV Path /dev/centos/swap
LV Name swap
VG Name centos
LV UUID c3hY5Z-CyNR-0zQR-XObi-ltLa-Xrgv-kbYRVy
LV Write Access read/write
LV Creation host, time ftp-server, 2022-02-19 09:30:06 +0800
LV Status available
# open 2
LV Size 4.00 GiB
Current LE 1024
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 8192
Block device 253:1
--- Logical volume ---
LV Path /dev/centos/root
LV Name root
VG Name centos
LV UUID WeeA1R-f24A-er9y-4dbC-Py1y-qoAJ-BzNWC4
LV Write Access read/write
LV Creation host, time ftp-server, 2022-02-19 09:30:06 +0800
LV Status available
# open 1
LV Size <445.00 GiB
Current LE 113919
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 8192
Block device 253:0
- 扩大 LV 逻辑卷
[root@ftp ~]# lvextend -L +798G /dev/centos/root
Size of logical volume centos/root changed from <445.00 GiB (113919 extents) to 1.21 TiB (318207 extents).
Logical volume centos/root successfully resized.
注意:虽然 VP 组显示有 800G 的大小,但实际上是没这么大的,所以扩容时小于 800G 即可,否则报如下错误:
[root@ftp ~]# lvextend -L +800G /dev/centos/root
Insufficient free space: 204800 extents needed, but only 204799 available
8、扩大文件系统容量
- 查看 LV 使用的文件系统格式
先确定 LV 使用的文件系统类型,根据不同的文件系统类型来进行扩容。
[root@ftp ~]# blkid /dev/centos/root
/dev/centos/root: UUID="6ede6206-cbd3-44bd-9126-be1c891ffa11" TYPE="xfs"
- 扩容文件系统
[root@ftp ~]# xfs_growfs /dev/centos/root
meta-data=/dev/mapper/centos-root isize=512 agcount=4, agsize=29163264 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0 spinodes=0
data = bsize=4096 blocks=116653056, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal bsize=4096 blocks=56959, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
data blocks changed from 116653056 to 325843968
二、验证
查看根分区容量大小:从原来的 445G —> 1.3T
[root@ftp ~]# df -Th
Filesystem Type Size Used Avail Use% Mounted on
devtmpfs devtmpfs 1.9G 0 1.9G 0% /dev
tmpfs tmpfs 1.9G 0 1.9G 0% /dev/shm
tmpfs tmpfs 1.9G 8.9M 1.9G 1% /run
tmpfs tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup
/dev/mapper/centos-root xfs 1.3T 141G 1.1T 12% /
/dev/sda1 xfs 1014M 150M 865M 15% /boot
tmpfs tmpfs 379M 0 379M 0% /run/user/0
至此,VMware ESXi 根分区扩容-CentOS 完毕!
小结
从以上实际操作中可看出 LV 逻辑卷的灵活性,实际工作中我们也应该较多地使用逻辑卷,否则的话当我们某个路径的存储容量被消耗完的时候,只能将其中数据转存到更大容量的文件系统中了。