kvm虚拟化镜像管理的那些事

一 如何缩小一个镜像的分区

假设有一个镜像,大小是40G

1 先用guestfish缩小镜像的文件系统

guestfish -a w2k8.img

run

ntfsresize-size /dev/vda1 29G

quit

2 使用virt-resize 缩小镜像

qemu-img create -f raw w2k8.img.29G 

virt-resize --shrink /dev/vda1 w2k8.img w2k8.img.29G 

二 突然不能扩展或者缩小镜像

突然不能扩展或者缩小镜像,报错如下:

Fatal error: exception Guestfs.Error("ntfsresize_opts:

通常原因是因为镜像的文件系统有错误,将镜像挂载到虚拟机上,重新运行chkdsk检查文件系统,一般可以修复。

三 ntfs分区在linux下的检查

1 安装最新的ntfs-3g

wget http://tuxera.com/opensource/ntfs-3g_ntfsprogs-2012.1.15.tgz

tar -zxvf ntfs-3g_ntfsprogs-2012.1.15.tgz

cd ntfs-3g_ntfsprogs-2012.1.15

./configure --bindir=/usr/bin

make

make install

2 检查

注意这样的方式只能检查raw格式的镜像,如果是qcow2的,目前暂时还不行。

losetup /dev/loop0 /w2k8.img

kpartx -av /dev/loop0

ntfsfix -b -d /dev/mapper/loop0p1 

参数 -b -d非常重要!

ntfsck /dev/mapper/loop0p1 

kpartx -dv /dev/loop0

losetup -d /dev/loop0

四 如何挂载qcow2格式的镜像,一条命令搞定!

guestmount -a w2k8.qcow2 -m /dev/vda1 /mnt/win

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

扫码关注云+社区

领取腾讯云代金券