Linux

KVM 虛擬機:磁碟大小錯誤

  • December 22, 2015

自從我做了 yum update 並嘗試創建一個新的(例如)10GB 磁碟 KVM VPS 後,報告的 VM 內的磁碟空間被鎖定為初始模板大小(對於 linux 模板通常為 1GB)。

通常它應該是 10GB(fdisk 這麼說,但 df 命令不這麼說)。

[root@localhost ~]# resize2fs /dev/vda1
resize2fs 1.41.12 (17-May-2010)
Filesystem at /dev/vda1 is mounted on /; on-line resizing required
old desc_blocks = 1, new_desc_blocks = 1
Performing an on-line resize of /dev/vda1 to 262160 (4k) blocks.
The filesystem on /dev/vda1 is now 262160 blocks long.

[root@localhost ~]# df -m
Filesystem     1M-blocks  Used Available Use% Mounted on
/dev/vda1           1008   760       198  80% /
none                 246     0       246   0% /dev/shm

[root@localhost ~]# fdisk -l

Disk /dev/vda: 10.7 GB, 10737418240 bytes
4 heads, 32 sectors/track, 163840 cylinders
Units = cylinders of 128 * 512 = 65536 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x000b6106

Device Boot Start End Blocks Id System /dev/vda1 17 16401 1048640 83 Linux 以上所有命令均在 VM 內部執行。

以下是主機節點上 xml 配置的磁碟部分:

disk type='file' device='disk'>
 <driver name='qemu' type='raw' cache='none' io='native'/>
 <source file='/kvm/v1046-2ogd-j1p2jraixpg1g03y.raw'/>
 <target dev='vda' bus='virtio' />
</disk>

使用稀疏 RAW。舊虛擬機沒有問題。

主機節點上的 du -hs:

650M    v1046-2ogd-j1p2jraixpg1g03y.raw

ls -lah 在主機節點上:

-rw-r--r--   1 qemu qemu  10G Dec 21 21:03 v1046-2ogd-j1p2jraixpg1g03y.raw

看起來模板安裝後,模板分區沒有成功調整大小。調整大小的正確命令是什麼?看起來 resize2fs 沒有完全擴展它。

非常感謝任何幫助。謝謝閱讀。

您需要做的是使用virt-resize 工具調整磁碟大小。

安裝libguestfs-tools並執行以下步驟:

1-創建稀疏磁碟

2-使用“virt-filesystems”命令檢查模板磁碟文件系統,以選擇要調整的分區

3-執行調整大小的過程

這是一個例子:

# qemu-img create -f raw /var/lib/libvirt/images/disk10g.img 10G
# virt-filesystems -a /var/lib/libvirt/images/disktemplate.img
# virt-resize --expand /dev/sda1 /var/lib/libvirt/images/disktemplate.img /var/lib/libvirt/images/disk10g.img

引用自:https://serverfault.com/questions/744630