要将磁盘 vda
的剩余空间(大约 250GB)分配到 /home
,需要调整 LVM 分区。以下是具体步骤:
1. 查看磁盘状态
首先确认磁盘 vda
是否还有未分配的空间。
运行以下命令查看 vda
的使用情况:
lsblk
如果剩余空间未被分配,你应该可以在 lsblk
输出中看到 vda
有大约 300GB 的未分配空间。
2. 确认 LVM 的状态
使用以下命令检查当前的 LVM 配置:
pvs # 查看物理卷
vgs # 查看卷组
lvs # 查看逻辑卷
输出示例:
# pvs
PV VG Fmt Attr PSize PFree
/dev/vda2 centos lvm2 a-- 199.00g 0
# vgs
VG #PV #LV #SN Attr VSize VFree
centos 1 3 0 wz--n- 199.00g 0
# lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
root centos -wi-ao---- 50.00g
swap centos -wi-ao---- 7.90g
home centos -wi-ao---- 141.10g
重点查看:
PV
:物理卷状态,是否有未分配空间。VG
:卷组状态,是否有Free
可用空间。LV
:逻辑卷状态。
若卷组 centos 当前没有可用空间,因此需要从物理磁盘 vda 未分配的空间(即约 250GB)中创建一个新的分区,然后将其加入卷组 centos
3.创建新分区
如果 vda
上还有未分配的空间(例如 vda3
或空闲部分),需要将其加入卷组 centos
。
-
创建新的分区:
fdisk /dev/vda
在 fdisk 中的具体操作:
- 输入 n 创建新分区。
- 选择分区类型为 primary(默认即可)。
- 输入分区编号(如 3,即 /dev/vda3)。
- 起始扇区按默认,直接回车。
- 结束扇区,指定剩余的磁盘空间(约 250GB
+250G
)。 - 输入 w 保存并退出。
命令(输入 m 获取帮助):n
Partition type:
p primary (2 primary, 0 extended, 2 free)
e extended
Select (default p): p
分区号 (3,4,默认 3):3
起始 扇区 (419430400-1048575999,默认为 419430400):
将使用默认值 419430400
Last 扇区, +扇区 or +size{K,M,G} (419430400-1048575999,默认为 1048575999):+250G
分区 3 已设置为 Linux 类型,大小设为 250 GiB
命令(输入 m 获取帮助):w
The partition table has been altered!
Calling ioctl() to re-read partition table.
WARNING: Re-reading the partition table failed with error 16: 设备或资源忙.
The kernel still uses the old table. The new table will be used at
the next reboot or after you run partprobe(8) or kpartx(8)
正在同步磁盘。
完成上面的操作之后进行重启
使用 lsblk
或 fdisk -l
查看新分区是否已创建成功:
lsblk
4. 将新分区初始化为物理卷 (PV)
将新分区 /dev/vda3
初始化为 LVM 的物理卷。
pvcreate /dev/vda3
验证物理卷是否创建成功:
pvs
5. 扩展卷组 (VG)
将新创建的物理卷 /dev/vda3
添加到现有卷组 centos
:
vgextend centos /dev/vda3
验证卷组是否扩展成功:
vgs
你应该可以看到 VFree
(空闲空间)增加了约 250GB
。
6. 扩展逻辑卷 (LV)
将卷组中新增的空闲空间分配给 /home
所对应的逻辑卷。
-
检查逻辑卷
/home
的路径:lvdisplay | grep "LV Path"
输出类似:
LV Path /dev/centos/home
-
扩展
/home
逻辑卷,使用新增的250GB
:lvextend -L +250G /dev/centos/home
或直接使用卷组中的全部空闲空间:
lvextend -l +100%FREE /dev/centos/home
-
验证扩展结果:
lvs
7. 扩展文件系统
逻辑卷扩展后,还需要扩展文件系统,以便操作系统可以使用新增的空间。
-
对于
ext4
文件系统:resize2fs /dev/centos/home
-
对于
xfs
文件系统:xfs_growfs /home
-
验证
/home
的大小是否已增加:df -h /home
可以通过以下方法判断文件系统是 ext4
还是 xfs
:
- 方法 1:使用
df -T
命令
df -T
命令可以显示挂载点和对应的文件系统类型。
df -T
示例输出:
文件系统 类型 1K-块 已用 可用 已用% 挂载点
/dev/mapper/centos-root ext4 52428800 2013160 50415640 4% /
/dev/mapper/centos-home xfs 147456000 37720 147418280 1% /home
从上面的输出可以看到:
/
使用的是ext4
。/home
使用的是xfs
。
- 方法 2:使用
mount
命令
mount
命令可以查看挂载的文件系统类型。
mount | grep "/home"
示例输出:
/dev/mapper/centos-home on /home type xfs (rw,relatime,attr2,inode64,noquota)
从输出中可以看到 /home
使用的是 xfs
。
- 方法 3:使用
lsblk
命令
lsblk
可以显示分区和文件系统类型。
lsblk -f
示例输出:
NAME FSTYPE LABEL UUID MOUNTPOINT
vda
├─vda1 xfs b812d34e-5c3e-4b35-9e94-3c5933b2fa7f /boot
└─vda2 LVM2_member a72bc69b-56e6-4df7-83a2-d80a2e7c3bcb
├─centos-root ext4 6f89f2f6-5c4e-4f37-9c92-046b383e8b24 /
├─centos-swap [SWAP]
└─centos-home xfs f30b7e09-b7b5-4fb5-bb75-843b93e7d9f3 /home
从输出中可以看到 /home
的文件系统类型为 xfs
。
- 方法 4:查看
/etc/fstab
文件
/etc/fstab
文件包含挂载点的文件系统信息。
cat /etc/fstab
示例输出:
#
# /etc/fstab
#
/dev/mapper/centos-root / ext4 defaults 1 1
UUID=b812d34e-5c3e-4b35-9e94-3c5933b2fa7f /boot xfs defaults 0 0
/dev/mapper/centos-home /home xfs defaults 0 0
从输出中可以看到 /home
使用的是 xfs
,/
使用的是 ext4
。
推荐方法
使用 df -T
或 lsblk -f
是最快的方式,可以直接显示挂载点和文件系统类型。
注意事项
- 确保磁盘操作前备份重要数据。