转载自: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. java线程池相关接口Executor和ExecutorService

    在线程池的api中,Executor接口是最上层的接口,内部只有一个方法.如下: public interface Executor { void execute(Runnable command); ...

  2. qemu模拟器下编译运行基于riscv指令集的Linux操作系统

      基本原理: 在物理服务器Ubuntu14.04上安装qemu模拟器,模拟器中运行基于riscv指令集编译的linux镜像文件. 用到的工具包括: riscv-qemu(模拟器,可以模拟运行risc ...

  3. Golang笔记之变量

    哈哈 package main // 关键字var 声明变量 类型信息放在变量名后 //声明一个int型变量 var v1 int //声明一个string类型 var v2 string //声明多 ...

  4. linux下PHP7安装memcache

    1.memcache服务器的安装 .分别把memcached和libevent下载回来,放到 /tmp 目录下: # cd /tmp # wget http://www.danga.com/memca ...

  5. mybatis Generator 生成配置文件

    <?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE generatorConfiguration ...

  6. Hadoop中Writable类之三

    1.BytesWritable <1>定义 ByteWritable是对二进制数据组的封装.它的序列化格式为一个用于指定后面数据字节数的整数域(4个字节),后跟字节本身. 举个例子,假如有 ...

  7. linux上chrome、vlc等程序root不能运行的解决办法

    which vlc 或者 whereis vlc 输入/geteuid,输入i进入输入模式,将geteuid改成getppid,然后ESC,输入wq,保存退出,这样程序root用户就可以运行了. ch ...

  8. 如何从官网开始 mongo java

    http://docs.mongodb.org/ecosystem/drivers/ MongoDB Driver Documentation Getting Started Installation ...

  9. 看图说说JVM新生代垃圾收集器

  10. java并发编程实战:第七章----取消与关闭

    Java没有提供任何机制来安全地终止线程(虽然Thread.stop和suspend方法提供了这样的机制,但由于存在缺陷,因此应该避免使用 中断:一种协作机制,能够使一个线程终止另一个线程的当前工作 ...