在使用 CentOS 系统时,经常会遇到需要扩展磁盘空间的情况。例如,当虚拟机的磁盘空间不足时,可以通过增加磁盘容量并将其挂载到根目录(/)来解决。以下是一个完整的操作流程,详细介绍了如何将新增的 10G 磁盘空间挂载到根目录。
一、前置条件
确认磁盘扩容已完成
使用 lsblk 或 fdisk -l 命令确认磁盘的总大小是否已经增加。
例如,磁盘 /dev/sda 的大小从 50G 增加到 60G。
[root@localhost ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 60G 0 disk
├─sda1 8:1 0 1G 0 part /boot
└─sda2 8:2 0 49G 0 part└─centos-root 253:0 0 49G 0 lvm /
sr0 11:0 1 988M 0 rom
确认文件系统类型
使用 mount | grep / 或 blkid 命令确认根目录的文件系统类型(如 xfs 或 ext4)。
[root@localhost ~]# blkid
/dev/mapper/centos-root: UUID="49d122ab-313b-458c-a762-aeee22d6c8f1" TYPE="xfs"
/dev/sda2: UUID="Le2Fat-VHF2-BUOA-n2xn-oQZ8-HgvB-iBjP1j" TYPE="LVM2_member"
/dev/sda1: UUID="59b262f5-a465-4f34-b753-346e5697a5a8" TYPE="xfs"
/dev/sr0: UUID="2022-07-26-15-08-22-00" LABEL="CentOS 7 x86_64" TYPE="iso9660" PTTYPE="dos"
二、操作步骤
步骤 1:调整分区大小
启动 parted 工具
parted /dev/sda
在 parted 的交互界面中执行以下操作
输入 print 查看当前分区表:
(parted) print
输出示例:
Number Start End Size Type File system Flags1 1049kB 1075MB 1074MB primary xfs boot2 1075MB 53.7GB 52.6GB primary lvm
输入 resizepart 来调整分区 /dev/sda2 的大小:
(parted) resizepart 2 100%
当提示输入新的分区大小时,输入 100% 或具体的大小(例如 60G)。
输入 print 再次确认分区大小是否已更新:
(parted) print
输出示例:
Number Start End Size Type File system Flags1 1049kB 1075MB 1074MB primary xfs boot2 1075MB 64.4GB 63.3GB primary lvm
输入 quit 退出 parted:
(parted) quit
重新扫描分区表
partprobe /dev/sda
确认分区大小是否已扩展
lsblk
步骤 2:扩展物理卷(PV)
将扩展后的分区重新识别为物理卷:
pvresize /dev/sda2
步骤 3:扩展逻辑卷(LV)
扩展逻辑卷 centos-root 的大小:
lvextend -l +100%FREE /dev/mapper/centos-root
步骤 4:扩展文件系统
扩展文件系统以使用新增的空间。根据文件系统类型选择以下命令:
如果文件系统是 xfs:
xfs_growfs /
如果文件系统是 ext4:
resize2fs /dev/mapper/centos-root
步骤 5:验证扩展结果
使用 df -h 命令验证根分区的大小是否已经扩展:
[root@localhost ~]# df -h
Filesystem Size Used Avail Use% Mounted on
devtmpfs 1.9G 0 1.9G 0% /dev
tmpfs 1.9G 0 1.9G 0% /dev/shm
tmpfs 1.9G 8.8M 1.9G 1% /run
tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup
/dev/mapper/centos-root 59G 1.8G 58G 3% /
/dev/sda1 1014M 152M 863M 15% /boot
tmpfs 379M 0 379M 0% /run/user/0