Linux 根目錄擴容

一、功能介紹

在配置Linux時可能對根目錄空間預留不足導致程式無法啟動,固然可以透過變更資料儲存目錄來解決,但是有的情況下因各種原因無法變更,這時候就需要擴容根目錄空間。

二、操作流程

  1. 首先透過df-h指令查看系統中的磁碟空間情況。
df -h

透過上圖可以看出根目錄空間只有20G,而且使用了5.6G。嘗試將它擴容至36G。

  1. 透過lsblk指令我們可以看到,sda磁碟有48G的空間,但是只有20G被分配給了根目錄。接下來將剩餘的16G擴容到根目錄。

  2. 執行growpart /dev/sdb3指令,將sdb3分割區擴容。

  3. 使用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

  1. 使用resize2fs /dev/mapper/ubuntu--vg-ubuntu--lv指令,對檔案系統進行擴容。

  2. 使用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指令進行擴容。