自从我执行 yum 更新并尝试创建一个新的(例如)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
设备启动开始结束块 ID 系统 /dev/vda1 17 16401 1048640 83 Linux 以上所有命令均在虚拟机内部执行。
以下是主机节点上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。旧 VM 没有问题。
主机节点上的 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 未完全扩展它。
非常感谢您的帮助。谢谢阅读。
答案1
您需要做的是使用virt-resize 工具。
安装libguestfs 工具并执行以下步骤:
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