一、功能介紹
在配置Linux時可能對根目錄空間預留不足導致程式無法啟動,固然可以透過變更資料儲存目錄來解決,但是有的情況下因各種原因無法變更,這時候就需要擴容根目錄空間。
二、操作流程
- 首先透過
df-h指令查看系統中的磁碟空間情況。
df -h

透過上圖可以看出根目錄空間只有20G,而且使用了5.6G。嘗試將它擴容至36G。
-
透過
lsblk指令我們可以看到,sda磁碟有48G的空間,但是只有20G被分配給了根目錄。接下來將剩餘的16G擴容到根目錄。
-
執行
growpart /dev/sdb3指令,將sdb3分割區擴容。
-
使用
lvm指令,對根目錄擴容。
-
步驟1:進入lvm互動模式。

-
步驟2:使用
pvdisplay指令展示所有pv(實體卷)。可以看到Free PE(空閒實體擴展)為2815,表示可以進行擴展。
-
步驟3:使用
vgdisplay指令展示所有vg(卷組)。
-
步驟4:使用
lvdisplay指令展示所有lv(邏輯卷)。目前是20G。
-
步驟5:使用
lvextend -l +2815 /dev/ubuntu-vg/ubuntu-lv指令擴容根目錄。lvextend -l(塊數量,透過vgdisplay查看剩餘pe數量。參考g) -r(遞迴) -L(指定具體大小)
-
步驟6:再次查看lv,大小已變更。

-
步驟7:退出lvm
-
使用
resize2fs /dev/mapper/ubuntu--vg-ubuntu--lv指令,對檔案系統進行擴容。
-
使用
df -h指令,查看根目錄空間已經擴容至31G。
三、FAQ
問題1: 最後一步使用resize2fs /dev/mapper/ubuntu--vg-ubuntu--lv指令時,報錯resize2fs: Bad magic number in super-block while trying to open /dev/mapper/ubuntu--vg-ubuntu--lv。
回答1: xfs檔案系統無法使用resize2fs指令進行擴容,需要使用xfs_growfs指令進行擴容。