这篇文章距离最后更新已过38 天,如果文章内容或图片资源失效,请留言反馈,我会及时处理,谢谢!
需求:
- 因kubernetees集群内业务增加,磁盘空间所剩无几,为了防范因磁盘不足导致业务故障,决定对磁盘进行10G的扩容
查看磁盘空间
- 在esxi中,对集群添加10G的空间
- 查看是否添加成功(可以看到有10G未使用,添加成功)
[root@k8s-master01 ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 50G 0 disk
├─sda1 8:1 0 1G 0 part /boot
└─sda2 8:2 0 39G 0 part
├─centos-root 253:0 0 35.1G 0 lvm /
└─centos-swap 253:1 0 3.9G 0 lvm
sr0 11:0 1 1024M 0 rom
[root@k8s-master01 ~]# df -h /
文件系统 容量 已用 可用 已用% 挂载点
/dev/mapper/centos-root 36G 4.8G 31G 14% /
备份数据
开始扩容
1. 使用parted
parted /dev/sda
(parted) print #查看磁盘信息
Model: VMware Virtual disk (scsi)
Disk /dev/sda: 53.7GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:
Number Start End Size Type File system 标志
1 1049kB 1075MB 1074MB primary xfs 启动
2 1075MB 53.7GB 52.6GB primary lvm
2. 在 parted 交互界面中操作:
(parted) resizepart 2 # 选择分区2
结束点? [42.9GB]? 53.7GB #输入磁盘总大小(单位根据提示调整,例如53.7GB或100%)
(parted) quit # 退出
信息: You may need to update /etc/fstab.
3. 刷新分区表并验证
[root@k8s-master01 ~]# partprobe /dev/sda
[root@k8s-master01 ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 50G 0 disk
├─sda1 8:1 0 1G 0 part /boot
└─sda2 8:2 0 49G 0 part
├─centos-root 253:0 0 35.1G 0 lvm /
└─centos-swap 253:1 0 3.9G 0 lvm
sr0 11:0 1 1024M 0 rom
4. 扩展物理卷(PV)
[root@k8s-master01 ~]# pvresize /dev/sda2 # 自动识别分区扩展后的空间
Physical volume "/dev/sda2" changed
1 physical volume(s) resized or updated / 0 physical volume(s) not resized
[root@k8s-master01 ~]# pvs # 确认 `/dev/sda2` 的 PFree 增加约10G
PV VG Fmt Attr PSize PFree
/dev/sda2 centos lvm2 a-- <49.00g 10.00g
5. 将新增空间全部分配给根目录逻辑卷
[root@k8s-master01 ~]# lvextend -l +100%FREE /dev/centos/root
Size of logical volume centos/root changed from <35.12 GiB (8990 extents) to 45.12 GiB (11551 extents).
Logical volume centos/root successfully resized
6. 扩展XFS文件系统
[root@k8s-master01 ~]# xfs_growfs /
meta-data=/dev/mapper/centos-root isize=512 agcount=4, agsize=2301440 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0 spinodes=0
data = bsize=4096 blocks=9205760, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal bsize=4096 blocks=4495, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
data blocks changed from 9205760 to 11828224
7. 验证结果
[root@k8s-master01 ~]# df -h /
文件系统 容量 已用 可用 已用% 挂载点
/dev/mapper/centos-root 46G 11G 35G 25% /
[root@k8s-master01 ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 50G 0 disk
├─sda1 8:1 0 1G 0 part /boot
└─sda2 8:2 0 49G 0 part
├─centos-root 253:0 0 45.1G 0 lvm /
└─centos-swap 253:1 0 3.9G 0 lvm
sr0 11:0 1 1024M 0 rom
关键说明
- 无需删除分区:直接使用 resizepart 扩展分区,避免数据丢失风险。
- 单位匹配:在 parted 中输入结束位置时,单位需与提示一致(例如 53.7GB 或 100%)。
- LVM动态扩展:pvresize 会自动识别物理卷的新空间。