最近在VMware虛擬機上使用Centos,用着用着,發現虛擬機的磁盤空間不夠了。通過以下步驟成功擴展了根目錄的磁盤空間
- Centos 關機,選擇編輯虛擬機設置,硬盤,在實用工具那里選擇“擴展”

-
輸入擴展的磁盤容量

-
點擊擴展后,VMware會提示磁盤已成功擴展。您必須從客戶機操作系統內部對磁盤重新進行分區和擴展文件系統。也就是說,這里擴展的磁盤空間,在操作系統里面還不可用,還沒生效,需要在操作系統里面進行設置后才能使用。

-
啟動客戶機操作系統Centos,查看磁盤情況
fdisk -l
-
創建分區 sda3
fdisk /dev/sda #接下來關注備注輸入的含義 ------------------------------------------------- 歡迎使用 fdisk (util-linux 2.23.2)。 更改將停留在內存中,直到您決定將更改寫入磁盤。 使用寫入命令前請三思。 命令(輸入 m 獲取幫助):n #表示創建新分區 Partition type: p primary (2 primary, 0 extended, 2 free) e extended Select (default p): #默認即可 Using default response p 分區號 (3,4,默認 3):3 #表示sda3,因為前面已經有兩個了 起始 扇區 (41943040-167772159,默認為 41943040):#默認即可 將使用默認值 41943040 Last 扇區, +扇區 or +size{K,M,G} (41943040-167772159,默認為 167772159):#默認即可 將使用默認值 167772159 分區 3 已設置為 Linux 類型,大小設為 60 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) 正在同步磁盤。 -
再次查看分區情況,其中,分區已變為3個了,但這時還沒掛載,還不能用

-
重啟操作系統
reboot -
格式化新分區為ext3
mkfs -t ext3 /dev/sda3
-
將物理硬盤分區初始化為物理卷,以便被LVM使用,輸入指令
[root@docker ~]# lvs LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert root centos -wi-ao---- <17.00g swap centos -wi-a----- 2.00g [root@docker ~]# pvcreate /dev/sda3 WARNING: ext3 signature detected on /dev/sda3 at offset 1080. Wipe it? [y/n]: y Wiping ext3 signature on /dev/sda3. Physical volume "/dev/sda3" successfully created. -
向卷組中添加物理卷來增加卷組的容量
#查看lvm組名,輸入指令 df -h [root@docker ~]# df -h 文件系統 容量 已用 可用 已用% 掛載點 /dev/mapper/centos-root 17G 12G 5.8G 66% / devtmpfs 2.0G 0 2.0G 0% /dev tmpfs 2.0G 0 2.0G 0% /dev/shm tmpfs 2.0G 13M 2.0G 1% /run tmpfs 2.0G 0 2.0G 0% /sys/fs/cgroup /dev/sda1 1014M 179M 836M 18% /boot tmpfs 408M 8.0K 408M 1% /run/user/42 tmpfs 408M 0 408M 0% /run/user/0 #其中,centos 就是 根 所在的組名,輸入指令,增加卷組的容量 [root@docker ~]# vgextend centos /dev/sda3 #組名根據實際 Volume group "centos" successfully extended -
查看可擴展的空間大小,輸入指令,顯示LNM卷組的元數據信息
[root@docker ~]# vgdisplay --- 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 1 Max PV 0 Cur PV 2 Act PV 2 VG Size 78.99 GiB PE Size 4.00 MiB Total PE 20222 Alloc PE / Size 4863 / <19.00 GiB Free PE / Size 15359 / <60.00 GiB VG UUID rHL2It-zWId-rj1z-Gqmf-qVle-Sm7C-OXUftY #其中 Free PE / Size 就是可供分配的自由空間,最多有 60.00 GiB,在擴展時輸入小於該值 -
擴充磁盤空間
lvextend -L+60G /dev/mapper/centos-root /dev/sda3 或 lvextend -L+15359 /dev/mapper/centos-root /dev/sda3 [root@docker ~]# lvextend -L+15359 /dev/mapper/centos-root /dev/sda3 Rounding size to boundary between physical extents: 15.00 GiB. Size of logical volume centos/root changed from <17.00 GiB (4351 extents) to <32.00 GiB (8191 extents). Logical volume centos/root successfully resized. -
xfs同步要用下面這個命令
xfs_growfs /dev/mapper/centos-root -
查看擴展空間后的結果
[root@docker ~]# df -h 文件系統 容量 已用 可用 已用% 掛載點 /dev/mapper/centos-root 32G 12G 21G 36% / devtmpfs 2.0G 0 2.0G 0% /dev tmpfs 2.0G 0 2.0G 0% /dev/shm tmpfs 2.0G 21M 2.0G 1% /run tmpfs 2.0G 0 2.0G 0% /sys/fs/cgroup /dev/sda1 1014M 179M 836M 18% /boot tmpfs 408M 12K 408M 1% /run/user/42 tmpfs 408M 0 408M 0% /run/user/0
