案例:使用KVM命令集管理虚拟机

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了案例:使用KVM命令集管理虚拟机相关的知识,希望对你有一定的参考价值。

一、KVM基本功能管理

1、查看命令帮助

virsh -h 或者
virsh --help

技术分享图片

2、查看KVM配置文件存放目录

ls /etc/libvirt/qemu

3、查看虚拟机状态

virsh list --all

4、虚拟机关机与开机

virsh shutdown c7-1 //关机
virsh start c7-1 //开机

  • 强制关闭关闭电源系统

virsh destroy c7-1

技术分享图片

5、通过配置文件启动虚拟机

virsh create /etc/libvirt/qemu/c7-1.xml
virsh list --all //查看启动状态

6、挂起虚拟机

virsh suspend c7-1
virsh list --all

技术分享图片

7、恢复虚拟机

virsh resume c7-1
virsh list --all

技术分享图片

8、配置虚拟机实例伴随宿主机启动自启动

virsh autostart c7-1

  • 上述命令将创建/etc/libvirt/qemu/autostart/目录,目录内容为开机自启动的系统。

9、导出虚拟机配置

  • 相当备份虚拟机

virsh dumpxml c7-1 > /etc/libvirt/qemu/c7-2.xml

10、虚拟机的添加与删除

  • 首先需要关机,然后才能删除

virsh shutdown c7-1
virsh undefine c7-1

  • 查看删除结果,c7-1的配置文件会被删除。也就是c7-1.xml会被删除。
  • 而磁盘文件不会被删除,也就是c7-1.raw不会被删除。

virsh list --all

  • 通过查看状态看不到c7-1信息,说明该虚拟机被删除。

11、通过备份的配置文件重新定义虚拟机

cd /etc/libvirt/qemu
mv c7-2.xml c7-1.xml

  • 重新定义虚拟机

virsh define c7-1.xml

  • 查看虚拟机状态

virsh list --all

12、修改虚拟机配置信息(修改系统内存大小、磁盘文件信息等)

vim /etc/libvirt/qemu/c7-1.xml

  • 或者通过virsh命令修改

virsh edit c7-1

技术分享图片

二、KVM文件管理

1、转换raw/img文件格式为qcow2

  • 首先查看当前磁盘文件格式

qemu-img info /vdir/c7-1.raw

技术分享图片

  • 关闭虚拟机,转换磁盘文件格式时,需要关闭虚拟机,且转换完成后不影响虚拟机的使用。

virsh shutdown c7-1
qemu-img convert -f raw -O qcow2 /vdir/c7-1.raw /vdir/c7-1.qcow2

......

 <devices>
    <emulator>/usr/libexec/qemu-kvm</emulator>
    <disk type=‘file‘ device=‘disk‘>
      <driver name=‘qemu‘ type=‘qcow2‘/>
      <source file=‘/vdir/c7-1.qcow2‘/>
      <target dev=‘vda‘ bus=‘virtio‘/>
      <address type=‘pci‘ domain=‘0x0000‘ bus=‘0x00‘ slot=‘0x06‘ function=‘0x0‘/>
    </disk>
......

技术分享图片

2、利用virt-cat查看虚拟机内部文件

  • virt-cat命令是由软件包libguestfs-tools提供。

yum install libguestfs-tools -y

  • 安装完成后,我们就可以像在终端中查看文件的形式一样查看虚拟机内部文件,且该种查看方式不需要虚拟机在开启中的状态。

virt-cat -a /vdir/c7-1.qcow2 /etc/sysconfig/network

virt-cat -a /vdir/c7-1.qcow2 /etc/sysctl.conf

技术分享图片

3、利用virt-edit命令编辑文件

virt-edit /vdir/c7-1.qcow2 /etc/sysconfig/network-scripts/ifcfg-eth0

TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="dhcp"
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
IPV6_ADDR_GEN_MODE="stable-privacy"
NAME="eth0"
UUID="65cab493-29f8-40d5-aab0-bbfff3e958b5"
DEVICE="eth0"
ONBOOT="yes"

技术分享图片

4、virt-df查看虚拟机磁盘信息

virt-df -h c7-1

技术分享图片

三、虚拟机快照

1、创建快照

  • 虚拟机想要使用快照功能,磁盘格式必须跟上一章一样,磁盘文件格式必须为qcow2

virsh snapshot-create c7-1

  • 查看当前快照版本信息

virsh snapshot-current c7-1

  • 查看指定虚拟机快照信息

virsh snapshot-list c7-1

  • 创建新快照

virsh snapshot-create c7-1

2、恢复虚拟机状态至1382572463

virsh snapshot-revent c7-1 1382572463

3、删除快照

virsh snapshot-delete c7-1 1382572463

以上是关于案例:使用KVM命令集管理虚拟机的主要内容,如果未能解决你的问题,请参考以下文章

KVM命令集管理虚拟机

使用Kvm命令集管理虚拟机

KVM虚拟机管理及性能优化

Linux之部署KVM虚拟化平台

42-KVM虚拟化-基于现有虚拟机磁盘为模版创建新的虚拟机

KVM命令集管理虚拟机