I can believe fly.

Monday, April 23, 2018

kvm虚拟机扩容

关闭虚拟机
$ virsh destroy review2

查看虚拟机的分区信息
$ sudo virt-filesystems --long --parts --blkdevs -h -a /data/vms/review2/tmpDkUZx0.qcow2

创建一个大镜像
$ qemu-img create -f qcow2  /data/vms/review2/reviewExpand.qcow2 1T

使用virt-resize进行拉升分区
$ virt-resize --expand  /dev/sda1  /data/vms/review2/tmpDkUZx0.qcow2  /data/vms/review2/reviewExpand.qcow2


直接改镜像名称或者改xml配置
$ mv ./tmpDkUZx0.qcow2 ./review2.bak     (记得要有备份在原来的)
$ mv ./reviewExpand.qcow2 ./tmpDkUZx0.qcow2

重新启动虚拟机
$ virsh start review2

安装依赖工具
$ sudo apt-get install libguestfs-tools guestfish

选择了no跳过。
****依赖工具说明:libguestfs 是一组 Linux 下的 C 语言的 API ,用来访问虚拟机的磁盘映像文件。其项目主页是http://libguestfs.org/ ,该工具包内包含的工具有virt-cat、virt-df、virt-ls、virt-copy-in、virt-copy-out、virt-edit、guestfs、guestmount、virt-list-filesystems、virt-list-partitions等工具,具体用法也可以参看官网。该工具可以在不启动KVM guest主机的情况下,直接查看guest主机内的文内容,也可以直接向img镜像中写入文件和复制文件到外面的物理机,当然其也可以像mount一样,支持挂载操作。****

问题
问题1:yusulian@host-30:~$ virt-filesystems --long --parts --blkdevs -h -a /data/vms/review2/tmpDkUZx0.qcow2
febootstrap-supermin-helper: ext2: parent directory not found: /lib: File not found by ext2_lookup
libguestfs: error: external command failed, see earlier error messages
解决1: $ update-guestfs-appliance

问题2:yusulian@host-30:~$ virt-filesystems --long --parts --blkdevs -h -a /data/vms/win2008r2-1/win2008r2-1.qcow2
libguestfs: error: unexpected end of file when reading from daemon.
This usually means the libguestfs appliance failed to start up.  Please
enable debugging (LIBGUESTFS_DEBUG=1) and rerun the command, then look at
the debug messages output prior to this error.
Or you can run 'libguestfs-test-tool' and post the complete output into
a bug report or message to the libguestfs mailing list.
解决:试运行了libguestfs-test-tool返回ok. 重新运行virt-filesystems正常返回信息


参考资料









No comments: