kvm(十一)libguestfs工具

简介:

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的安装

1
[root@Aries ~] # yum -y install libguestfs-tools

列出所有命令工具

1
2
3
4
5
6
7
[root@Aries ~] # 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 : 可以列出虚拟机中目录下的文件或目录

1
2
3
4
5
6
[root@Aries kvm] # virt-ls -d vm1 /etc/
. pwd .lock
ConsoleKit
DIR_COLORS
DIR_COLORS.256color
DIR_COLORS.lightbgcolor

virt-top : 和top命令相似,只是进程换成了虚拟机

1
[root@Aries kvm] # virt-top

wKioL1XjyyTSoUDRAADTeQlThFA881.jpg

这是我所有的vm

virt-cat : 可以查看虚拟机中文件的内容

1
[root@Aries kvm] # virt-cat -d vm1 /etc/passwd

wKiom1XjyZmSaecFAAG8xwArM6Y631.jpg

virt-edit :可以编辑vm中的文件

1
[root@Aries kvm] # virt-edit -d vm1 /root/testfile

我这边输入几个"dddddddd"字符串

wKioL1Xjz9aymZy1AABuo2eeyY4505.jpg

virt-copy-in : 将文件复制到虚拟机里面

1
[root@Aries ~] # virt-copy-in -d vm1 a /opt/

wKiom1Xj75Kx14NHAACpmW4U-Ow983.jpg

也可以直接对虚拟机磁盘文件操作,只需要将-d domname换成-a path_of_disk_file(虚拟机的磁盘文件),上面的操作都可以

virt-copy-out : 可以把虚拟机里的文件复制出来到本地主机

1
[root@Aries ~] # virt-copy-out -d vm1 /opt/a /etc/passwd .

wKioL1Xj8uOxkPupAADXFad0PwE992.jpg

将虚拟机vm1的两个文件copy-out 出来

virt-what

virt-what可以用来检测当前系统是不是一个虚拟机,如果不是虚拟机,执行virt-what将不会有任何输出,如果是虚拟机,它会打印一系列关于虚拟机的’facts’(如kvm、vmwar、xen等)

1
[root@Aries ~] # virt-what

wKioL1Xj9PfQczY7AABLVI0cL3U394.jpg

virt-host-validate

这个命令可以用来检测本机是否正确配置以运行虚拟化,如果没有加参数,它会检查它所知道的所有的虚拟化驱动,可选的可以加qemulxc做限制

1
[root@Aries ~] # virt-host-validate

wKiom1Xj8zHyzIGBAAHRerwOXWE780.jpg

virt-df  :  将在虚拟机中执行df命令的结果输出

1
[root@Aries ~] # virt-df -d vm1

wKioL1Xj_0Px4eCwAACiMsvZ4xg145.jpg

virt-alignment-scan

旧的操作系统安装时会使用不对齐的分区,这会引起一些不必要的I/O,这个命令的作用是检查是否正在不对齐的问题,如果存在,只是警告(Warns)你,当前这个工具不会帮你解决这个问题

1
[root@Aries ~] # virt-alignment-scan

wKioL1XkAJqQiQIoAADgRi_nBU0233.jpg

virt-inspector2

这个命令可以显示虚拟机的操作系统版本和其它一些信息,包含的信息非常多,用法非常简单

1
[root@Aries ~] # virt-inspector2 -d vm1

wKioL1XkANyhjVv3AALO19mWTQA871.jpg

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

安装虚拟机的时候常用

如:

1
[root@Aries ~] # 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

wKioL1XkCMawrtT7AAFOqwVsMkw714.jpg



本文转自 西索oO 51CTO博客,原文链接:http://blog.51cto.com/lansgg/1691773
相关文章
|
3月前
|
分布式计算 Ubuntu Linux
Linux的基础编程——Linux常用操作总结(十一)
Linux的基础编程——Linux常用操作总结(十一)
22 0
Linux的基础编程——Linux常用操作总结(十一)
|
3月前
|
Linux 数据安全/隐私保护 UED
Linux的基础编程——命令基础(五)
Linux的基础编程——命令基础(五)
86 0
Linux的基础编程——命令基础(五)
|
3月前
|
Linux Shell 虚拟化
Linux的基础编程——命令基础(四)
Linux的基础编程——命令基础(四)
52 0
Linux的基础编程——命令基础(四)
|
11月前
|
存储 Shell Linux
linux基础知识点总结--基础篇(下)
linux基础知识点总结--基础篇(下)
103 0
|
11月前
|
IDE Linux Shell
linux基础知识点总结--基础篇(上)
linux基础知识点总结--基础篇(上)
94 0
linux基础知识点总结--基础篇(上)
|
IDE NoSQL Linux
【Linux】三、Linux 环境基础及开发工具使用(上篇)
目录 一、开发工具 二、Linux编辑器 - vim使用 2.1 vim 的基本概念 2.2 vim的基本操作 2.3 vim正常模式命令集 2.4 vim末行模式命令集 2.5 简单vim配置 2.5.1 配置文件的位置
107 0
【Linux】三、Linux 环境基础及开发工具使用(上篇)
|
关系型数据库 MySQL Shell
快速上手Linux核心命令(十一):Linux用户相关命令
快速上手Linux核心命令(十一):Linux用户相关命令
41192 10
快速上手Linux核心命令(十一):Linux用户相关命令
|
Linux Shell 开发工具
快速上手Linux核心命令(一):核心命令简介
快速上手Linux核心命令(一):核心命令简介
162 0
快速上手Linux核心命令(一):核心命令简介
|
机器学习/深度学习 数据采集 缓存
快速上手Linux核心命令(八):网络相关命令【1】
快速上手Linux核心命令(八):网络相关命令
136 1
快速上手Linux核心命令(八):网络相关命令【1】
|
域名解析 缓存 网络协议
快速上手Linux核心命令(八):网络相关命令【2】
快速上手Linux核心命令(八):网络相关命令【2】
104 1