Virsh管理kvm虚拟机

1、libvirt架构概述:

libvirt是用来管理虚拟机或虚拟化功能的软件集合,主要包括:libvirtAPI,

libvirtd进程和virsh工具集三部分。最初的目的是为不同的hypervisor提供统一的管理接口。

libvirtd该后台进程主要实现以下功能:

(1)远程代理

所有remoteclient发送来的命令,由该进程监测执行

(2)本地环境初始化

libvirt服务的启停,用户connection的响应等

(3)根据环境注册各种Driver(qemu,xen,storage…)的实现

不同虚拟化技术以Driver的形式实现,由于libvirt对外提供的是统一的接口, 所以各个Driver就是实现这些接口,即将Driver注册到libvirt中。

查看libvirtd服务状态:

[root@localhost~]# systemctl status libvirtd

如果libvirtd服务停止运行,那么你将不能管理虚拟机,也就是不能使用virt-manager等工具来管理虚拟机。

虚拟机的所有配置是放置在一个xml文件中,位置在/etc/libvirt/qemu/目录中

可以看到创建的2个虚拟机,libvirt的xml文件分为几个重要部分,整体结构如下:

下面是部分截图:

具体格式可以参看http://libvirt.org/formatdomain.html

3、使用virsh来管理虚拟机

virsh是使用libvirtmanagement API构建的管理工具

virsh的名称的含义是virtualizationshell。它有两种工作模式:

立即模式

交互模式

查看命令帮助virsh--help,主要有以下部分管理命令:

常用命令总结:

一、KVM基本功能管理:

1)查看命令帮助

[root@localhost~]# virsh -h

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

3)查看虚拟机状态

4)虚拟机关机与开机

5)强制虚拟机系统关闭电源

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

7)挂起虚拟机

8)恢复虚拟机

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

10)导出虚拟机配置11)虚拟机的删除与添加

删除虚拟机

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

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

12)修改虚拟机配置信息

直接修改配置文件

[root@localhost ~]# vim /etc/libvirt/qemu/vm002.xml

通过virsh命令修改

[root@localhost~]# virsh edit vm002

13)查看虚拟机信息

14)连接虚拟机(进入虚拟机后按ctrl + ] 退出虚拟机)

退出按ctrl + ]

无法使用vrish console 登录虚拟机的解决方案,请参考微信公众号“kvm命令行安装”文章的内容。进行解决。

二、KVM虚拟机克隆

1)查看虚拟机状态

2)从vm002克隆到vm003

[root@kvm001 ~]# virt-clone -o vm002 -n vm003 -f /kvm-vm/vm003.qcow2

3)查看虚拟机状态

4)启动虚拟机

三、KVM虚拟机快照

快照实际上做的是虚拟机的XML配置文件,默认快照XML文件在/var/lib/libvirt/qemu/snapshot/虚拟机名/下,快照只支持qcow2磁盘格式的系统。

1)对虚拟机vm002做快照

2)查看快照信息

3)查看当前快照信息

4) 恢复虚拟机状态到1507040414

5) 删除快照

原文发布于微信公众号 - L宝宝聊IT(gh_b0e552aa80db)

原文发表时间:2018-06-19

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏云计算教程系列

如何在Ubuntu 16.04上安装Apache Tomcat 8

Apache Tomcat是一个Web服务器和servlet容器,用于为Java应用程序提供服务。Tomcat是Apache Software Foundati...

862
来自专栏Java帮帮-微信公众号-技术文章全总结

05.Redis 命令

05.Redis 命令 Redis 命令 Redis 命令用于在 redis 服务上执行操作。 要在 redis 服务上执行命令需要一个 redis 客户端。R...

3566
来自专栏Java后端技术

解决Maven项目pom.xml文件报xxx\target\classes\META-INF\MANIFEST.MF (系统找不到指定的路径。)问题

最近自己在公司项目修改一些代码以后,出现如题的错误,后来各种Google等,最终找到了解决办法。

391
来自专栏石瞳禅的互联网实验室

Centos下Mysql因为pid文件启动失败问题解析

不管是直接启动Mysql反馈的错误信息,还是错误日志里的报错信息,信息中都指向了Mysql的PID文件。而笔者直接去查找相应的文件,确实不存在。

1072
来自专栏IT可乐

Redis详解(一)------ redis的简介与安装

  工作中一直在用 Redis,但是一直没有进行系统的总结,这个系列的博客将整体的介绍 Redis 的用法。

1120
来自专栏nummy

nginx常用命令

平滑启动的意思是在不停止nginx的情况下,重启nginx,重新加载配置文件,启动新的工作线程,完美停止旧的工作线程。

741
来自专栏别先生

hadoop伪分布式集群搭建与安装(ubuntu系统)

1:Vmware虚拟软件里面安装好Ubuntu操作系统之后使用ifconfig命令查看一下ip; ? 2:使用Xsheel软件远程链接自己的虚拟机,方便操作。...

2299
来自专栏编码前线

Docker容器进入的4种方式(推荐最后一种)

  在使用Docker创建了容器之后,大家比较关心的就是如何进入该容器了,其实进入Docker容器有好几多种方式,这里我们就讲一下常用的几种进入Docker容器...

1953
来自专栏jouypub

使用forever管理NodeJs应用

forever是一个简单的命令式nodejs的守护进程,能够启动,停止,重启App应用。forever完全基于命令行操作,在forever进程之下,创建node...

672
来自专栏bboysoul

解决ubuntu命令行中文显示为问号的问题

今天发现腾讯云默认的ubuntu16.04镜像在显示中文的时候,变成了问号,于是就解决一下

1773

扫码关注云+社区