目录

  • 前言
  • 一、扩容
  • 二、验证
  • 小结


前言

有时候我们在虚拟化环境中创建虚拟机后,在使用一段时间,发现系统磁盘容量不够用,于是需要扩充容量来达到我们的需求。在 VMware ESXi 创建的 Linux 系统的根分区默认为 LV 逻辑卷,可实现在线扩容操作。

一、扩容

1、登录 VMware ESXi 可视化界面

2、选择对应虚拟机,点击【编辑】

esxi 主机磁盘分区 esxi安装怎么分区_文件系统

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 逻辑卷的灵活性,实际工作中我们也应该较多地使用逻辑卷,否则的话当我们某个路径的存储容量被消耗完的时候,只能将其中数据转存到更大容量的文件系统中了。