总结:整理不易,如果对你有帮助,可否点赞关注一下?
更多详细内容请参考:Linux运维实战总结
一、背景信息
PV(physical volume)即物理卷,就是物理磁盘,可以通过fdisk -l 查看操作系统有几块硬盘
VG(volume group)即卷组,就是一组物理磁盘的组合,里面可以有一块硬盘也可以有多块硬盘
LV(logical volume)及逻辑卷,就是在VG(指定的物理磁盘组)里面划分出来的
可以说成是PV就是硬盘,而VG就是管理硬盘的操作系统,而LV就是操作系统分出来的各个分区.
PV->VG->LV-> 文件系统使用(挂载到某个目录)
根据如下信息,可以看到 /dev/vda3 的大小为 48.8G,而磁盘的总容量为 100G。为了将 /dev/vda3 扩容到最大可用空间,您需要执行以下步骤:
[root@localhost ~]# df -h
文件系统 容量 已用 可用 已用% 挂载点
devtmpfs 7.1G 0 7.1G 0% /dev
tmpfs 7.3G 192K 7.3G 1% /dev/shm
tmpfs 7.3G 733M 6.6G 10% /run
tmpfs 7.3G 0 7.3G 0% /sys/fs/cgroup
/dev/mapper/klas_host--192--168--1--11-root 45G 13G 33G 28% /
tmpfs 7.3G 0 7.3G 0% /tmp
/dev/vda2 1014M 217M 798M 22% /boot
/dev/vda1 200M 5.8M 195M 3% /boot/efi
tmpfs 1.5G 0 1.5G 0% /run/user/993
tmpfs 1.5G 0 1.5G 0% /run/user/68
tmpfs 1.5G 0 1.5G 0% /run/user/0
[root@localhost ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sr0 11:0 1 1024M 0 rom
vda 253:0 0 100G 0 disk
├─vda1 253:1 0 200M 0 part /boot/efi
├─vda2 253:2 0 1G 0 part /boot
└─vda3 253:3 0 48.8G 0 part
├─klas_host--192--168--1--11-root 252:0 0 44.8G 0 lvm /
└─klas_host--192--168--1--11-swap 252:1 0 4G 0 lvm [SWAP]
二、扩容步骤
2.1、确认磁盘和分区状态
首先确认磁盘和分区的状态,确保没有错误或未同步的 GPT 表。
[root@localhost ~]# fdisk -l /dev/vda
GPT PMBR 大小不符(104857599 != 209715199),将用写入予以更正。
The backup GPT table is not on the end of the device. This problem will be corrected by write.
Disk /dev/vda:100 GiB,107374182400 字节,209715200 个扇区
单元:扇区 / 1 * 512 = 512 字节
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:gpt
磁盘标识符:01177372-EFD3-4DB5-AE11-45E2E30F22F0
设备 起点 末尾 扇区 大小 类型
/dev/vda1 2048 411647 409600 200M EFI 系统
/dev/vda2 411648 2508799 2097152 1G Linux 文件系统
/dev/vda3 2508800 104855551 102346752 48.8G Linux LVM
如果提示 GPT PMBR 大小不符 或 The backup GPT table is not on the end of the device,可以通过以下命令修复 GPT 表:
[root@localhost ~]# parted /dev/vda
GNU Parted 3.3
使用 /dev/vda
欢迎使用 GNU Parted!输入 'help' 来查看命令列表。
(parted) print
警告: 并非所有可用于 /dev/vda 的空间都被用到了,您可以修正 GPT 以使用所有的空间 (额外的 104857600 个区块),还是说要继续使用目前的设置?
修正/Fix/忽略/Ignore? 修正
型号:Virtio 块设备 (virtblk)
磁盘 /dev/vda:107GB
扇区大小 (逻辑/物理):512B/512B
分区表:gpt
磁盘标志:
编号 起始点 结束点 大小 文件系统 名称 标志
1 1049kB 211MB 210MB fat16 EFI System Partition 启动, EFI 启动
2 211MB 1285MB 1074MB xfs
3 1285MB 53.7GB 52.4GB lvm
(parted) quit
这将修复 GPT 表并允许后续操作。
2.2、使用parted工具扩容分区
1、启动parted工具
[root@localhost ~]# parted /dev/vda
GNU Parted 3.3
使用 /dev/vda
欢迎使用 GNU Parted!输入 'help' 来查看命令列表。
2、查看扩容前分区表
(parted) print
型号:Virtio 块设备 (virtblk)
磁盘 /dev/vda:107GB
扇区大小 (逻辑/物理):512B/512B
分区表:gpt
磁盘标志:
编号 起始点 结束点 大小 文件系统 名称 标志
1 1049kB 211MB 210MB fat16 EFI System Partition 启动, EFI 启动
2 211MB 1285MB 1074MB xfs
3 1285MB 53.7GB 52.4GB lvm
3、调整 /dev/vda3 分区大小
# 3 表示指定要调整的分区编号
(parted) resizepart 3 100%
4、查看扩容后分区表
(parted) print
型号:Virtio 块设备 (virtblk)
磁盘 /dev/vda:107GB
扇区大小 (逻辑/物理):512B/512B
分区表:gpt
磁盘标志:
编号 起始点 结束点 大小 文件系统 名称 标志
1 1049kB 211MB 210MB fat16 EFI System Partition 启动, EFI 启动
2 211MB 1285MB 1074MB xfs
3 1285MB 107GB 106GB lvm
5、退出 parted
(parted) quit
信息: 你可能需要 /etc/fstab。
2.3、扩容物理卷
由于 /dev/vda3 是一个 LVM 卷(Linux LVM),需要先扩展物理卷(PV),然后扩展逻辑卷(LV)和文件系统。
1、扩容前查看物理卷
[root@localhost ~]# pvs
PV VG Fmt Attr PSize PFree
/dev/vda3 klas_host-192-168-1-11 lvm2 a-- 48.80g 0
2、扩展物理卷(PV)
[root@localhost ~]# pvresize /dev/vda3
Physical volume "/dev/vda3" changed
1 physical volume(s) resized or updated / 0 physical volume(s) not resized
3、扩容后查看物理卷
[root@localhost ~]# pvs
PV VG Fmt Attr PSize PFree
/dev/vda3 klas_host-192-168-1-11 lvm2 a-- 98.80g 50.00g
4、扩容后查看卷组
[root@localhost ~]# vgs
VG #PV #LV #SN Attr VSize VFree
klas_host-192-168-1-11 1 2 0 wz--n- 98.80g 0
2.4、扩容逻辑卷
1、扩容前查看逻辑卷
[root@localhost ~]# lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
root klas_host-192-168-1-11 -wi-ao---- <44.77g
swap klas_host-192-168-1-11 -wi-ao---- 4.03g
2、扩展逻辑卷(LV)
[root@localhost ~]# lvextend -l +100%FREE /dev/mapper/klas_host--192--168--1--11-root
Size of logical volume klas_host-192-168-1-11/root changed from <44.77 GiB (11461 extents) to <94.77 GiB (24261 extents).
Logical volume klas_host-192-168-1-11/root successfully resized.
3、扩容后查看逻辑卷
[root@localhost ~]# lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
root klas_host-192-168-1-11 -wi-ao---- <94.77g
swap klas_host-192-168-1-11 -wi-ao---- 4.03g
2.5、调整文件系统大小
说明:对于ext4文件系统,可以使用resize2fs,对于XFS文件系统,使用:xfs_growfs 。
[root@localhost ~]# xfs_growfs /dev/mapper/klas_host--192--168--1--11-root
meta-data=/dev/mapper/klas_host--192--168--1--11-root isize=512 agcount=4, agsize=2934016 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=1, sparse=1, rmapbt=0
= reflink=1
data = bsize=4096 blocks=11736064, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0, ftype=1
log =internal log bsize=4096 blocks=5730, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
data blocks changed from 11736064 to 24843264
6、验证扩容结果
[root@localhost ~]# df -h
文件系统 容量 已用 可用 已用% 挂载点
devtmpfs 7.1G 0 7.1G 0% /dev
tmpfs 7.3G 192K 7.3G 1% /dev/shm
tmpfs 7.3G 741M 6.6G 10% /run
tmpfs 7.3G 0 7.3G 0% /sys/fs/cgroup
/dev/mapper/klas_host--192--168--1--11-root 95G 13G 83G 14% /
tmpfs 7.3G 0 7.3G 0% /tmp
/dev/vda2 1014M 217M 798M 22% /boot
/dev/vda1 200M 5.8M 195M 3% /boot/efi
tmpfs 1.5G 0 1.5G 0% /run/user/993
tmpfs 1.5G 0 1.5G 0% /run/user/68
tmpfs 1.5G 0 1.5G 0% /run/user/0
总结:整理不易,如果对你有帮助,可否点赞关注一下?
更多详细内容请参考:Linux运维实战总结