Filesystems

無法使用 resize2fs 調整分區大小

  • December 20, 2021

我最近在 VMWare ESXi 中將 VM 的硬碟大小從 150 GB 調整到了 500 GB。完成此操作後,我使用 Gparted 有效地調整了此圖像的分區大小。現在我要做的就是調整文件系統的大小,因為它仍然顯示舊值(從 的輸出中可以看到df -h):

Filesystem                     Size  Used Avail Use% Mounted on
/dev/mapper/owncloud--vg-root  157G   37G  112G  25% /
udev                           488M  4.0K  488M   1% /dev
tmpfs                          100M  240K  100M   1% /run
none                           5.0M     0  5.0M   0% /run/lock
none                           497M     0  497M   0% /run/shm
/dev/sda1                      236M   32M  192M  14% /boot

但是,執行sudo resize2fs /dev/mapper/owncloud--vg-root會返回:

resize2fs 1.42 (29-Nov-2011)
The filesystem is already 41608192 blocks long.  Nothing to do!

由於 Gparted 說我的分區是/dev/sda5,我也嘗試執行sudo resize2fs /dev/sda5,但在這種情況下我得到了這個:

resize2fs 1.42 (29-Nov-2011)
resize2fs: Device or resource busy while trying to open /dev/sda5
Couldn't find valid filesystem superblock.

最後,這是輸出pvs

PV         VG          Fmt  Attr PSize   PFree
/dev/sda5  owncloud-vg lvm2 a-   499.76g 340.04g

fdisk -l /dev/sda顯示正確的空間量。

如何調整分區大小以便最終讓作業系統看到 500 GB 的硬碟?

如果您只更改了分區大小,那麼您還沒有準備好調整邏輯卷的大小。分區達到新大小後,您需要pvresize在 PV 上執行操作,以便卷組看到新空間。之後,您可以使用lvextend將邏輯卷擴展到卷組的新空間。您可以傳遞-rlvextend命令,以便它自動resize2fs為您啟動。

就個人而言,我會創建一個新分區並vgextend在其上使用,因為我與pvresize.

非常感謝@Bratchley 的回答和評論。它幫助了我:)

我的環境:VirtualBox 6.1 中的 Ubuntu 18.04

我的案例:我創建了 10GB 固定 VDI 磁碟並使用 VirtualBox GUI 增加到 30GB 動態。但是文件系統仍然無法使用增加的空間。然後遇到了@Bratchley 的答案。

我跑的步驟:

  1. 執行以下命令以獲取 PV (物理卷)名稱(例如/dev/sda1:)
sudo pvs
  1. 調整 PV 大小
sudo pvresize /dev/sda1
  1. 執行以下命令以獲取根邏輯卷名*(/行的文件系統值;例如/dev/mapper/ubuntu--vg-root:)*
df -h
  1. 展開邏輯卷:
sudo lvextend -r -l +100%FREE /dev/mapper/ubuntu--vg-root

引用自:https://unix.stackexchange.com/questions/138090