使用KVM命令集管理虚拟机

14.2.1案例分析

     

      案例环境使用一台物理机器,一台服务器安装CentOS7.3的64位系统(即node01),rhel7.1是在宿主机node01中安装的虚拟机。

使用KVM命令集管理虚拟机_第1张图片

 14.2.2案例实施

1.安装Linux虚拟机

安装过程同上一案例,使用Xshell 远程控制node01主机。

2.KVM基本功能管理

1)查看命令帮助

[root@node01 ~]# virsh -h

使用KVM命令集管理虚拟机_第2张图片

2)查看KVM的配置文件存放目录(rhel7.1.xml是虚拟机系统实例的配置文件)

[root@node01 ~]# ls /etc/libvirt/qemu

3)查看虚拟机状态

[root@node01 ~]# virsh list --all

使用KVM命令集管理虚拟机_第3张图片

4)虚拟机关机与开机

首先需要确认acpid服务安装并运行。

[root@node01 ~]# virsh shutdown rhel7.1 

使用KVM命令集管理虚拟机_第4张图片

[root@node01 ~]# virsh start rhel7.1

使用KVM命令集管理虚拟机_第5张图片

5)强制实例系统关闭电源

[root@node01 ~]# virsh destroy rhel7.1

6)通过配置文件启动虚拟机系统实例

[root@node01 ~]# virsh create /etc/libvirt/qemu/rhel7.1.xml

使用KVM命令集管理虚拟机_第6张图片

7) 挂起虚拟机

[root@node01 ~]# virsh  suspend rhel7.1

查看虚拟机状态:

[root@node01 ~]# virsh list --all

8)恢复虚拟机

[root@node01 ~]# virsh resume rhel7.1
[root@node01 ~]# virsh list --all

使用KVM命令集管理虚拟机_第7张图片

9)配置虚拟机实例伴随宿主机自动启动

[root@node01 ~]# virsh autostart rhel7.1

使用KVM命令集管理虚拟机_第8张图片

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

10)导出虚拟机配置

[root@node01 ~]# virsh dumpxml rhel7.1 > /etc/libvirt/qemu/rhel7.2.xml

11)虚拟机的删除与添加

删除虚拟机:

[root@node01 ~]# virsh shutdown rhel7.1
[root@node01 ~]# virsh undefine rhel7.1  //删除rhel7.1虚拟机

使用KVM命令集管理虚拟机_第9张图片

查看删除结果,rhel7.1的配置文件被删除,但是磁盘文件不会被删除。

[root@node01 ~]# ls /etc/libvirt/qemu

通过“virsh list --all查看不到rhel7.1的信息,说明此虚拟机被删除。

[root@node01 ~]# virsh list --all

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

[root@node01 ~]# cd /etc/libvirt/qemu/
[root@node01 qemu]# mv rhel7.2.xml rhel7.1.xml

重新定义虚拟机:

[root@node01 qemu]# virsh define rhel7.1.xml

查看虚拟机信息:

[root@node01 qemu]# virsh list --all 

使用KVM命令集管理虚拟机_第10张图片

12)可通过修改虚拟机配置信息(用来修改系统内存大小,磁盘文件等信息)

直接通过 vim命令修改:

[root@node01 ~]# vim /etc/libvirt/qemu/rhel7.1.xml

使用KVM命令集管理虚拟机_第11张图片

通过 virsh 命令修改:

[root@node01 ~]# virsh edit rhel7.1

使用KVM命令集管理虚拟机_第12张图片

3.KVM文件管理

通过文件管理可以直接查看、修改、复制虚拟机的内部文件。例如,当系统因为配置问题无法启动时,可以直接修改虚拟机的文件。虚拟机磁盘文件有raw、qcow2与qed格式,KVM虚拟机默认使用qcow2格式,这里介绍本地YUM安装libguestfs-tools后产生的命令行工具,这个工具可以直接读取qcow2格式的磁盘文件。

(1)查看当前磁盘格式:

[root@node01 ~]# mount /dev/cdrom /mnt/
[root@node01 ~]# yum -y install libguestfs-tools

使用KVM命令集管理虚拟机_第13张图片

[root@node01 ~]# qemu-img info /data_kvm/store/bdqn_kvm.qcow2

使用KVM命令集管理虚拟机_第14张图片

       如果虚拟机磁盘文件不是qcow2格式,可以通过“qemu-img”命令转换磁盘文件格式,如执行 以下操作可以将rhel7.1虚拟机raw格式磁盘转换至qcow2格式。

[root@node01 ~]# virsh shutdown rhel7.1

[root@node01 ~]# qemu-img convert -f raw -O qcow2 /data_kvm/store/test01.img /data_kvm/store/test01.qcow2

执行转换磁盘格式的命令后还需要修改test01 的xml 配置文件中磁盘的类型与磁盘文件名。(因安装的硬盘文件已是qcow2格式,所以无需修改)

[root@node01 ~]# virsh edit rhel7.1

使用KVM命令集管理虚拟机_第15张图片

(2)virt-cat命令,类似于cat命令。

[root@node01 ~]# virt-cat -a /data_kvm/store/bdqn_kvm.qcow2 /etc/sysconfig/grub

使用KVM命令集管理虚拟机_第16张图片

(3) virt-edit 命令,用于编辑文件,用法与vim基本一致。

[root@node01 ~]# virt-edit -a /data_kvm/store/bdqn_kvm.qcow2 /etc/resolv.conf

使用KVM命令集管理虚拟机_第17张图片

(4)virt-df 命令用于查看虚拟机磁盘信息。

[root@node01 ~]# virt-df -h rhel7.1

4.虚拟机克隆

1)查看虚拟机状态

[root@node01 ~]# virsh list --all

使用KVM命令集管理虚拟机_第18张图片

2)从 rhel7.1克隆rhel7.2

[root@node01 ~]# virt-clone -o rhel7.1 -n rhel7.2 -f /data_kvm/store/bdqn_kvm2.qcow2

使用KVM命令集管理虚拟机_第19张图片

3)查看虚拟机状态

[root@node01 ~]# virsh list --all

4)启动虚拟机

[root@node01 ~]# virsh start rhel7.2

5.虚拟机快照

KVM虚拟机要使用镜像功能,磁盘格式必须为qcow2。下面介绍KVM虚拟机快照备份的过程。

1)对rhel7.1创建快照

[root@node01 ~]# virsh snapshot-create rhel7.1

2)查看虚拟机快照版本信息

[root@node01 ~]# virsh snapshot-current rhel7.1

使用KVM命令集管理虚拟机_第20张图片

3)查看快照信息

[root@node01 ~]# virsh snapshot-list rhel7.1

使用KVM命令集管理虚拟机_第21张图片

4)创建新快照

[root@node01 ~]# virsh snapshot-create rhel7.1

5)查看快照信息

[root@node01 ~]# virsh snapshot-list rhel7.1

使用KVM命令集管理虚拟机_第22张图片

6)恢复虚拟机状态至1704357112

[root@node01 ~]# virsh snapshot-revert rhel7.1 1704357112

7)查看虚拟机快照版本信息

[root@node01 ~]# virsh snapshot-current rhel7.1

使用KVM命令集管理虚拟机_第23张图片

8) 测除快照

[root@node01 ~]# virsh snapshot-delete rhel7.1 1704357112

你可能感兴趣的:(Y2,Linux,linux,运维,服务器)