使用虚拟机扩容磁盘后,需要在 centos 上面进行实际的磁盘扩容操作。
磁盘扩容有风险,操作前务必备份!!
1. 查看磁盘状况
# 查看磁盘空间及当前分配情况
fdisk -l
# 查看磁盘使用情况
df -h
2. 创建磁盘卷(如果不需要创建磁盘,仅扩容现有磁盘,直接看 3)
# 从磁盘空间中创建新的卷
fdisk /dev/sda
# m 帮助命令
# n 创建新磁盘
# p 主磁盘
# 其他默认即可
3. 现有磁盘扩容(如果用 2 创建的磁盘,可以跳过此步骤)
删除分区
# 进入 fdisk 命令,操作/dev/sda这块硬盘。每块硬盘都会有一个分区
fdisk /dev/sda
# 查看分区信息
p
# 删除最后一个分区
d
4
创建分区
# 创建分区
# 其他默认,参考第二步骤的创建
n
p
# 将磁盘改为 lvm
t
4
8e
# 查看分区信息并保存
p
w
4. 重启系统
reboot
5. 扩容磁盘(如果使用的 2 进行的创建新磁盘,则使用本步骤,扩容现有,请跳过 56,看 7)
# 查看磁盘状态
[root@localhost ~]# fdisk -l
磁盘 /dev/sda:137.4 GB, 137438953472 字节,268435456 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x000dfb3a
设备 Boot Start End Blocks Id System
/dev/sda1 * 2048 2099199 1048576 83 Linux
/dev/sda2 2099200 83886079 40893440 8e Linux LVM
/dev/sda3 83886080 268435455 92274688 83 Linux
磁盘 /dev/mapper/centos-root:37.6 GB, 37576769536 字节,73392128 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘 /dev/mapper/centos-swap:4294 MB, 4294967296 字节,8388608 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
核心命令
# 进入 lvm 系统
> lvm
# 创建磁盘卷
> pvcreate /dev/sda3
# 填充磁盘卷空间
> vgextend centos /dev/sda3
# 查看卷
> vgdisplay -v
> pvdisplay
# 扩容磁盘卷
> lvextend -l+65535 /dev/mapper/centos-root
# 退出 lvm 系统
> quit
全命令及结果
# 进入lvm 开始扩容磁盘
[root@localhost ~]# lvm
lvm> pvcreate /dev/sda3
Physical volume "/dev/sda3" successfully created.
lvm> vgextend centos /dev/sda3
Volume group "centos" successfully extended
lvm> vgdisplay -v
--- Volume group ---
VG Name centos
System ID
Format lvm2
Metadata Areas 2
Metadata Sequence No 4
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 2
Open LV 2
Max PV 0
Cur PV 2
Act PV 2
VG Size 126.99 GiB
PE Size 4.00 MiB
Total PE 32510
Alloc PE / Size 9983 / <39.00 GiB
Free PE / Size 22527 / <88.00 GiB
VG UUID QZxk4u-j4AC-2iMW-NRmS-q2EQ-snuR-4BavfO
--- Logical volume ---
LV Path /dev/centos/swap
LV Name swap
VG Name centos
LV UUID KGTs8m-bpw3-Yq58-Zi3Y-F5lo-j4or-nTRxlr
LV Write Access read/write
LV Creation host, time localhost, 2023-03-15 15:02:35 +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 ivKP3N-x7Bc-axy6-2jC3-Yc0y-YiJu-6U4B8v
LV Write Access read/write
LV Creation host, time localhost, 2023-03-15 15:02:35 +0800
LV Status available
# open 1
LV Size <35.00 GiB
Current LE 8959
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 8192
Block device 253:0
--- Physical volumes ---
PV Name /dev/sda2
PV UUID vdENl1-pv8M-oDcK-ygoM-vuSb-xOD6-Xomefa
PV Status allocatable
Total PE / Free PE 9983 / 0
PV Name /dev/sda3
PV UUID uitUYO-LzCf-EAcJ-kM4A-uScJ-8Uoh-dcId0Q
PV Status allocatable
Total PE / Free PE 22527 / 22527
lvm> pvdisplay
--- Physical volume ---
PV Name /dev/sda2
VG Name centos
PV Size <39.00 GiB / not usable 3.00 MiB
Allocatable yes (but full)
PE Size 4.00 MiB
Total PE 9983
Free PE 0
Allocated PE 9983
PV UUID vdENl1-pv8M-oDcK-ygoM-vuSb-xOD6-Xomefa
--- Physical volume ---
PV Name /dev/sda3
VG Name centos
PV Size 88.00 GiB / not usable 4.00 MiB
Allocatable yes
PE Size 4.00 MiB
Total PE 22527
Free PE 22527
Allocated PE 0
PV UUID uitUYO-LzCf-EAcJ-kM4A-uScJ-8Uoh-dcId0Q
## 注意这里!!22527是你要扩容的大小
lvm> lvextend -l+22527 /dev/mapper/centos-root
Size of logical volume centos/root changed from <35.00 GiB (8959 extents) to 122.99 GiB (31486 extents).
Logical volume centos/root successfully resized.
lvm> pvdisplay
--- Physical volume ---
PV Name /dev/sda2
VG Name centos
PV Size <39.00 GiB / not usable 3.00 MiB
Allocatable yes (but full)
PE Size 4.00 MiB
Total PE 9983
Free PE 0
Allocated PE 9983
PV UUID vdENl1-pv8M-oDcK-ygoM-vuSb-xOD6-Xomefa
--- Physical volume ---
PV Name /dev/sda3
VG Name centos
PV Size 88.00 GiB / not usable 4.00 MiB
Allocatable yes (but full)
PE Size 4.00 MiB
Total PE 22527
Free PE 0
Allocated PE 22527
PV UUID uitUYO-LzCf-EAcJ-kM4A-uScJ-8Uoh-dcId0Q
lvm> quit
Exiting.
6. 将扩容的空间挂载到核心目录
# /dev/mapper/centos-root 是 df -h 展示的核心目录
xfs_growfs /dev/mapper/centos-root
7. 扩容现有磁盘
# 查看磁盘信息
lvdisplay
# 刷新现有磁盘容量
pvresize /dev/sda4
# 查看现在可用空间,vfree是当前空余空间
vgs
# 将容量扩充到磁盘上面,/dev/centos/root 这个路径是通过lvdisplay看到的
lvextend -L +100G /dev/centos/root
### 使用百分比
lvextend -l+100%FREE /dev/centos/root
# 将文件系统刷新,如果使用错命令,会提示不存在
## xfs 系统
xfs_growfs /dev/centos/root
## ext4 系统
resize2fs /dev/centos/root
# 查看磁盘现有空间
7.1. 查看磁盘信息-lvdisplay
7.2. 刷新现有磁盘容量
7.3. 查看当前剩余空间
7.4. 扩容当前空间
7.5. 刷新文件系统
7.6. 查看扩容后空间
8. 验证
# 查看磁盘空间及使用情况
df -h