ibguestfs 是一组 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一
样,支持挂载操作
一、libguestfs-tools的安装
[[email protected] ~]# yum -y install libguestfs-tools
列出所有命令工具
[[email protected] ~]# virt- virt-alignment-scan virt-df virt-inspector virt-make-fs virt-sysprep virt-what virt-cat virt-edit virt-inspector2 virt-manager virt-tar virt-win-reg virt-clone virt-filesystems virt-install virt-pki-validate virt-tar-in virt-xml-validate virt-convert virt-format virt-list-filesystems virt-rescue virt-tar-out virt-copy-in virt-host-validate virt-list-partitions virt-resize virt-top virt-copy-out virt-image virt-ls virt-sparsify virt-viewer
virt-ls : 可以列出虚拟机中目录下的文件或目录
[[email protected] kvm]# virt-ls -d vm1 /etc/ .pwd.lock ConsoleKit DIR_COLORS DIR_COLORS.256color DIR_COLORS.lightbgcolor
virt-top : 和top命令相似,只是进程换成了虚拟机
[[email protected] kvm]# virt-top
这是我所有的vm
virt-cat : 可以查看虚拟机中文件的内容
[[email protected] kvm]# virt-cat -d vm1 /etc/passwd
virt-edit :可以编辑vm中的文件
[[email protected] kvm]# virt-edit -d vm1 /root/testfile
我这边输入几个"dddddddd"字符串
virt-copy-in : 将文件复制到虚拟机里面
[[email protected] ~]# virt-copy-in -d vm1 a /opt/
也可以直接对虚拟机磁盘文件操作,只需要将-d domname
换成-a path_of_disk_file(虚拟机的磁盘文件),上面的操作都可以
virt-copy-out : 可以把虚拟机里的文件复制出来到本地主机
[[email protected] ~]# virt-copy-out -d vm1 /opt/a /etc/passwd .
将虚拟机vm1的两个文件copy-out 出来
virt-what
virt-what可以用来检测当前系统是不是一个虚拟机,如果不是虚拟机,执行virt-what将不会有任何输出,如果是虚拟机,它会打印一系列关于虚拟机的’facts’(如kvm、vmwar、xen等)
[[email protected] ~]# virt-what
virt-host-validate
这个命令可以用来检测本机是否正确配置以运行虚拟化,如果没有加参数,它会检查它所知道的所有的虚拟化驱动,可选的可以加qemu
或lxc
做限制
[[email protected] ~]# virt-host-validate
virt-df : 将在虚拟机中执行df
命令的结果输出
[[email protected] ~]# virt-df -d vm1
virt-alignment-scan
旧的操作系统安装时会使用不对齐的分区,这会引起一些不必要的I/O,这个命令的作用是检查是否正在不对齐的问题,如果存在,只是警告(Warns)你,当前这个工具不会帮你解决这个问题
[[email protected] ~]# virt-alignment-scan
virt-inspector2
这个命令可以显示虚拟机的操作系统版本和其它一些信息,包含的信息非常多,用法非常简单
[[email protected] ~]# virt-inspector2 -d vm1
virt-resize 在前面已经试验演示
- virt-resize可以调整虚拟机磁盘的大小,调整或删除任何分区
- virt-resize不可以就地调整磁盘,不应该对正在运行的虚拟机进行磁盘调整,为了确保一致性,调整先需要关闭虚拟机
- virt-resize调整的过程非常慢,从35G的磁盘进行扩展需要差不多10分钟
- virt-resize调整所花的时候只和开始磁盘的大小有关,从35G扩展到40G和扩展到135G所花的时间差不多
- 如果你使用qcow2磁盘格式,个人建议先转成raw,调整完后再转回去,因为直接对qcow2做调整,比较35G的qcow2磁盘镜像文件可能
只有1G大小(ls查看),通过virt-resize调整后就会变成35G大小了(ls查看)(也可能是我的方法不对),先转成raw调整完大小后再转
回去可以避免这个问题
virt-install
安装虚拟机的时候常用
如:
[[email protected] ~]# virt-install --name=vm2 --ram 512 --vcpus=1 --disk path=/Image/vm2.img,size=7,bus=virtio --accelerate --cdrom=/iso/rhel6.5/rhel-server-6.5-x86_64-dvd.iso --vnc --vncport=5910 --vnclisten=0.0.0.0 --network bridge=br0,model=virtio --noautoconsole
查看分区信息
virt-filesystems // virt-list-filesystems
时间: 2024-10-06 05:39:36