在使用 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