Filesystems
無法使用 resize2fs 調整分區大小
我最近在 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
將邏輯卷擴展到卷組的新空間。您可以傳遞-r
給lvextend
命令,以便它自動resize2fs
為您啟動。就個人而言,我會創建一個新分區並
vgextend
在其上使用,因為我與pvresize
.
非常感謝@Bratchley 的回答和評論。它幫助了我:)
我的環境:VirtualBox 6.1 中的 Ubuntu 18.04
我的案例:我創建了 10GB 固定 VDI 磁碟並使用 VirtualBox GUI 增加到 30GB 動態。但是文件系統仍然無法使用增加的空間。然後遇到了@Bratchley 的答案。
我跑的步驟:
- 執行以下命令以獲取 PV (物理卷)名稱(例如
/dev/sda1
:)sudo pvs
- 調整 PV 大小
sudo pvresize /dev/sda1
- 執行以下命令以獲取根邏輯卷名*(
/
行的文件系統值;例如/dev/mapper/ubuntu--vg-root
:)*df -h
- 展開邏輯卷:
sudo lvextend -r -l +100%FREE /dev/mapper/ubuntu--vg-root