转载自:http://www.myjishu.com/?p=431 好文章

kvm快照备份及常用命令

kvm快照,分两种:
1种lvm快照,如果分区是lvm,可以利用lvm进行kvm的快照备份
2种由于raw格式不支持镜像,所以需要将格式转换为qcow2才可以创建快照。
方法2具体操作如下:
kvm虚拟机默认使用raw格式的镜像格式,性能最好,速度最快,它的缺点就是不支持一些新的功能,如支持镜像,zlib磁盘压缩,AES加密等。
要使用镜像功能,磁盘格式必须为qcow2。下面开始kvm虚拟机快照备份的过程。
查看磁盘格式
[root@localhost images]# qemu-img info test-script.img

raw格式需要转换成qcow2

关闭test-script
[root@localhost images]# virsh shutdown test-script

转换磁盘格式

[root@localhost images]# qemu-img convert -f raw -O qcow2 test-script.img test-script.qcow2

-f 源镜像的格式
-O 目标镜像的格式

查看转换后的格式,已经转换成了qcow2, 这里是拷贝一份,并将格式转成qcow2

[root@localhost images]# qemu-img info test-script.qcow2
 

.修改虚拟机配置文件:

 

修改磁盘格式,与新qcow2格式的磁盘。

[root@localhost images]# virsh edit test-script

3. 对虚拟机进行快照管理

对oeltest01虚拟机创建快照

也可以virsh snapshot-create as oeltest01 snap1 创建后个快照别名。

[root@localhost images]# virsh snapshot-create test-script
Domain snapshot 1419995560 created

查看虚拟机镜像快照的版本

[root@localhost images]# virsh snapshot-list test-script
 

查看当前虚拟机镜像快照的版本

可以看到为当前最新的快照版本。

[root@localhost images]# virsh snapshot-current test-script

查看当前虚拟机镜像文件
又创建了一个,快照的版本也记录在镜像文件中了。
[root@localhost images]# virsh snapshot-create test-script
[root@localhost images]# qemu-img info test-script.qcow2

快照配置文件在/var/lib/libvirt/qemu/snapshot/虚拟机名称下

当前的还是最新的快照:

恢复虚拟机快照
恢复虚拟机快照必须关闭虚拟机。

[root@localhost test-script]# virsh domstate test-script

确认需要恢复的快照时间,这里恢复到1419995560
[root@localhost test-script]# virsh snapshot-list test-script

执行恢复,并确认恢复版本
[root@localhost test-script]# virsh snapshot-revert test-script 1419995560
[root@localhost test-script]# virsh snapshot-current test-script
 
删除虚拟机快照
查看虚拟机快照
[root@localhost images]# qemu-img info test-script.qcow2

这里删除第一个快照1419995560
删除快照
[root@localhost images]# virsh snapshot-delete test-script 1419995560
[root@localhost images]# qemu-img info test-script.qcow2

由于把当前的快照删除了:显示没有快照了。

[root@localhost images]# virsh snapshot-current test-script
error: domain ‘test-script’ has no current snapshot
[root@localhost images]# virsh snapshot-revert test-script 1419995769
[root@localhost images]# virsh snapshot-current test-script
再次还原到快照2,然后查看当前快照。

到此kvm虚拟机快照测试完毕。
 
开启测试虚拟机:
[root@localhost images]# virsh start test-script
virsh常用命令:
命令 说明
help 显示该命令的说明
quit 结束 virsh,回到 Shell
connect 连接到指定的虚拟机服务器
create 启动一个新的虚拟机
destroy 删除一个虚拟机,直接拔电源。
start 开启(已定义的)非启动的虚拟机,开启虚拟机。
define 从 XML 定义一个虚拟机
undefine 取消定义的虚拟机
dumpxml 转储虚拟机的设置值
list 列出虚拟机
reboot 重新启动虚拟机
save 存储虚拟机的状态
restore 回复虚拟机的状态
suspend 暂停虚拟机的执行
resume 继续执行该虚拟机
dump 将虚拟机的内核转储到指定的文件,以便进行分析与排错
shutdown 关闭虚拟机
setmem 修改内存的大小
setmaxmem 设置内存的最大值
setvcpus 修改虚拟处理器的数量

1)virsh list 列出当前虚拟机列表,不包括未启动的

2)virsh list –all 列出所有虚拟机,包括所有已经定义的虚拟机

3)virsh destroy vm-name 关闭虚拟机

4)virsh start vm-name 启动虚拟机

5)virsh edit vm-name 编辑虚拟机xml文件

6)virsh undefine vm-name 删除虚拟机

7)virsh shutdown vm-name 停止虚拟机

8)virsh reboot vm-name 重启虚拟机

9)virsh autostart vm-name 虚拟机随宿主机启动

 
PS:
kvm虚拟机删除报错:

error: Failed to undefine domain test

error:Requested operation is not valid: cannot undefine transient domain
直接命令行操作解决: 关闭kvm虚拟机后记得重启图形管理virtual manager,否则可能会出现卡死的情况,关闭了kvm虚拟机而无法删除虚拟机。
 

 

kvm快照备份及常用命令的更多相关文章

  1. KVM:日常管理常用命令

    1.查看.编辑及备份KVM 虚拟机配置文件 以及查看KVM 状态: 1.1.KVM 虚拟机默认的配置文件在 /etc/libvirt/qemu 目录下,默认是以虚拟机名称命名的.xml 文件,如下,: ...

  2. expdp&impdp备份恢复常用命令

    备份前准备 创建备份用户 create user backup identified by backup#2018 ; 授予导入导出角色 grant connect,resource to backu ...

  3. CentOS常用命令、快照、克隆大揭秘

    不多说,直接上干货! cat是查看文件内容, cp –cp是连目录及件文件都拷贝 cp是拷贝文件 a.txt里的内容是,   abc   def   ghi cat a.txt |grep –v gh ...

  4. Linux下KVM虚拟机基本管理及常用命令(转)

    说明:可能有重复 一.KVM的基本管理 1.查看KVM虚拟机配置文件 #Kvm虚拟机默认配置文件位置 [root@kvm qemu]# pwd /etc/libvirt/qemu [root@kvm ...

  5. KVM虚拟机快照备份

    KVM 快照的定义:快照就是将虚机在某一个时间点上的磁盘.内存和设备状态保存一下,以备将来之用.它包括以下几类: (1)磁盘快照:磁盘的内容(可能是虚机的全部磁盘或者部分磁盘)在某个时间点上被保存,然 ...

  6. Linux的桌面虚拟化技术KVM(五)——virsh常用命令

    Linux的桌面虚拟化技术KVM(一)——新建KVM虚拟机 Linux的桌面虚拟化技术KVM(二)——远程桌面管理 Linux的桌面虚拟化技术KVM(三)——KVM虚拟机克隆和快照 Linux的桌面虚 ...

  7. Service系统服务(一):安装一个KVM服务器、KVM平台构建及简单管理、virsh基本管理操作、xml配置文件的应用、为虚拟机制作快照备份、快建新虚拟机

    一.安装一个KVM服务器 目标: 本例要求准备一台 RHEL7.2 服务器,将其搭建为KVM平台,主要完成下列操作: 1> 关闭本机的SELinux保护.防火墙服务   2> 挂载RHEL ...

  8. maven发布项目到私服-snapshot快照库和release发布库的区别和作用及maven常用命令

    maven发布项目到私服-snapshot快照库和release发布库的区别和作用及maven常用命令 在日常的工作中由于各种原因,会出现这样一种情况,某些项目并没有打包至mvnrepository. ...

  9. [转]MySQL数据库备份和还原的常用命令小结

    MySQL数据库备份和还原的常用命令小结,学习mysql的朋友可以参考下: 备份MySQL数据库的命令 mysqldump -hhostname -uusername -ppassword datab ...

随机推荐

  1. c++经典排序算法全集(转)

    C++排序算法全集 排序算法是一种基本并且常用的算法.由于实际工作中处理的数量巨大,所以排序算法对算法本身的速度要求很高. 一.简单排序算法 由于程序比较简单,所以没有加什么注释.所有的程序都给出了完 ...

  2. UGUI 事件穿透规则

    UGUI事件分为两大类:点击和拖拽. 点击包括 pointerdown, pointerup. 拖拽包括 begindrag, drag, enddrag. 点击事件无穿透:只会被最上层UI响应,不会 ...

  3. gradle 刷新缓存

    gradle build --refresh-dependencies -x test

  4. Spring AOP底层原理

    ------------------siwuxie095                                 Spring AOP 底层原理         AOP 即 Aspect Or ...

  5. 微信小程序-滑动视图注意事项

    真的得吐槽下微信的开发文档,一点点都不详细的好吗. <!--垂直滚动,这里必须设置高度--> <scroll-view scroll-y="true" style ...

  6. Introduction Sockets to Programming in C using TCP/IP

    Introduction Computer Network: hosts, routers, communication channels Hosts run applications Routers ...

  7. code1167 树网的核

    floyd+枚举 看点: 1.floyd同时用数组p记录转移节点k,这样知道线段的端点u v就可以得到整条线段 2.任意一点c到线段a b的距离=(d[a][c]+d[c][b]-d[a][b])/2 ...

  8. mysql导出导入sql文件方法(linux)

    一.导入导出.sql文件for Linux: 1.从mysql中导出数据库test: 在终端运行:mysqldump -h localhost -u root -p test > /home/c ...

  9. Java API使用(不断更新中)

    实例1 BigInteger的构造函数public BigInteger (String val, int radix)的使用 上面的构造函数,val是各种进制的字符串,比如二进制的110,八进制的7 ...

  10. Mybatis的select查询的三种方式

    1.首先建立一个测试的dao public interface IStudentDao { // 根据姓名查询 List<Student> selectStudentsByName(Str ...