我最近在 VMWare ESXi 中將虛擬機器的硬碟大小從 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 的硬碟?
答案1
非常感謝@Bratchley 的回答和評論。它對我有幫助:)
我的環境:VirtualBox 6.1中的Ubuntu 18.04
我的案例:我創建了 10GB 固定 VDI 磁碟,並使用 VirtualBox GUI 增加到 30GB 動態磁碟。但增加的空間仍然不可用於檔案系統。然後遇到@Bratchley 的答案。
我跑的步驟:
- 運行以下命令以取得PV(物理量)姓名(前任:
/dev/sda1
)
sudo pvs
- 調整PV大小(前任:
sudo pvresize /dev/sda1
)
sudo pvresize <PV name from above step>
- 執行以下命令以取得根邏輯磁碟區名稱(行的檔案系統值
/
;例如/dev/mapper/ubuntu--vg-root
:)
df -h
- 擴展邏輯磁碟區(前任 :
sudo lvextend -r -l +100%FREE /dev/mapper/ubuntu--vg-ubuntu--lv
):
sudo lvextend -r -l +100%FREE <root logical volume name from above step>
答案2
如果您僅變更了分割區大小,則尚未準備好調整邏輯磁碟區的大小。一旦分割區達到新大小,您需要pvresize
在 PV 上執行 a 操作,以便磁碟區組可以看到新空間。之後,您可以使用lvextend
將邏輯磁碟區擴展到磁碟區組的新空間。您可以傳遞-r
該lvextend
命令,以便它自動為您啟動resize2fs
。
就我個人而言,我會創建一個新分區並vgextend
在其上使用,因為我與pvresize
.
答案3
sudo btrfs filesystem resize max /
應該能夠調整分割區大小。
將虛擬磁碟大小擴充至 100GB,但指令df -h
顯示使用 調整大小後舊的 spase 大小fdisk
。
btrfs
只需解決 resize2fs:裝置或資源繁忙問題。
答案4
首先,您必須擴展磁碟機大小以獲得所有可用空間。然後調整磁碟機大小以使用所有空間。
擴充磁碟機空間
lvextend -l +100%FREE /dev/mapper/owncloud--vg-root
調整驅動器大小
resize2fs /dev/mapper/owncloud--vg-root