Lvm

調整 xen 虛擬磁碟的大小

  • January 26, 2020

我的 XEN 主機上執行了一個虛擬機,但磁碟空間不足。它安裝了/dev/xvda2使用 ext4 文件系統格式化的捲。

這是我的虛擬機 xen 配置:

# /etc/xen/vm04.experimental.cfg

kernel      = '/boot/vmlinuz-4.9.0-11-amd64'
extra       = 'elevator=noop'
ramdisk     = '/boot/initrd.img-4.9.0-11-amd64'
root        = '/dev/xvda2 ro'
disk        = [
                 'phy:/dev/vg0/vm04.experimental-disk,xvda2,w',
                 'phy:/dev/vg0/vm04.experimental-swap,xvda1,w',
             ]
...

# lvdisplay /dev/vg0/vm04.experimental-disk
 --- Logical volume ---
 LV Path                /dev/vg0/vm04.experimental-disk
 LV Name                vm04.experimental-disk
 VG Name                vg0
 LV Status              available
 # open                 1
 LV Size                60,00 GiB
 Current LE             15360
 Segments               5
 Allocation             inherit
...

我的捲組上還有 44GB 空間vg0

# vgdisplay
 --- Volume group ---
 VG Name               vg0
 System ID
 Format                lvm2
 Metadata Areas        2
 Metadata Sequence No  36766
 VG Access             read/write
 VG Status             resizable
 MAX LV                0
 Cur LV                27
 Open LV               22
 Max PV                0
 Cur PV                2
 Act PV                2
 VG Size               1,07 TiB
 PE Size               4,00 MiB
 Total PE              281534
 Alloc PE / Size       270080 / 1,03 TiB
 Free  PE / Size       11454 / 44,74 GiB

如何將剩餘空間分配給我的 vm04?

  1. 使用以下命令關閉音量:
xen shutdown vm04.experimental
  1. 刪除卷的所有快照:
lvchange -an /dev/vg0/snap-tmp-vm04.experimental-disk    
lvremove /dev/vg0/snap-tmp-vm04.experimental-disk
  1. 調整捲的大小,例如擴展 40GB:
lvextend -L +40G /dev/vg0/vm04.experimental-disk

現在 VM 分配了更大的 100GB 大小,但在內部它仍然只有 60GB 磁碟 4. 調整文件系統的大小

resize2fs /dev/vg0/vm04.experimental-disk

請參閱為什麼我需要在 lvextend 之後執行 resize2fs?

(最終你必須e2fsck -f /dev/vg0/vm04.experimental-disk事先打電話) 5. 再次啟動虛擬機:

xen create /etc/xen/vm04.experimental.cfg

的正確格式lvextend是:

lvextend -L +40G /dev/vg0/vm04.experimental-disk

有關如何在 VM 本身中擴展分區的說明,請使用本手冊

必須首先調整分區的大小。如果您使用的是 LVM,這很容易,並且您大概知道如何進行。如果您使用的是經典分區,它會稍微複雜一些,並且可能需要重新啟動(儘管您不必啟動另一個系統或 live CD)。

我是這樣做的:使用 fdisk 首先刪除分區(想法是保留磁碟上的數據),然後在同一位置小心地重新創建更大的分區。

同樣,新分區與舊分區在同一塊開始是至關重要的。Id 也應該匹配(Linux 系統為 83)。準備好在最輕微的錯字中失去所有數據。

為了安全起見,您還可以通過按 a 來恢復引導標誌(根據 Wikipedia,某些電腦仍需要該標誌)。

如果您的交換分區妨礙您,請參閱評論部分。

現在應該很清楚為什麼人們推薦使用 Live CD。;-) 正如 fdisk 提醒您的那樣,您必須在繼續之前重新載入分區表。最安全的方法是簡單地重新啟動;但您也可以使用 partprobe 或 kpartx(更多資訊)。

調整分區大小並重新載入分區表後,只需在文件系統上執行 resize2fs 即可,即使它作為根分區掛載,您也可以執行此操作。

$ sudo resize2fs /dev/sda1

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