1.kvm虚拟机克隆
  克隆kvm虚拟机 ,克隆前需要提前关机  
 
语法: virt-clone -o 原虚拟机  -n 新虚拟机 -f 新虚拟机镜像存放路径  
 选项中-o 表示 old  -n 表示new    虚拟机镜像: 就是整个虚拟机文件。 不是操作系统光盘镜像

[root@hd1 opt]# virt-clone -o centos7.5 -n hd11.com -f /opt/hd11.com.img
正在分配 'hd11.com.img'                                                         |  10 GB  00:00:18     
 
成功克隆 'hd11.com'。
 
2。kvm快照
快照作用:1.热备   2.灾难恢复   3.回到历史中某个状态
(1)创建kvm快照
先将虚拟机关机  virsh  shutdown  centos7.5
(2)查看要备份的磁盘镜像格式
qemu-img info /opt/centos7.raw

(3)raw不支持快照,需要把raw改成qcow2格式

[root@hd1 opt]# qemu-img convert -f raw -O qcow2 /opt/centos7.raw /opt/centos7.qcow2

(4)查看下备份的centos7.qcow2的磁盘镜像格式,

qemu-img info /opt/centos7.qcow2
file format:qcow2

(5)编辑centos7.5文件改他的主配置文件

[root@hd1 opt]# virsh edit centos7.5
<driver name='qemu' type='qcow2'/>
<source file='/opt/centos7.qcow2'/>

(6)重新重启下libvirtd

systemctl restart libvirtd

(7)创建快照

virsh   snapshot-create centos7.5

(8)查看快照的版本

virsh snapshot-list centos7.5
名称 生成时间 状态
------------------------------------------------------------
1629708007 2021-08-23 16:40:07 +0800 shutoff

(9)查看快照配置文件

 [root@hd1 opt]# virsh snapshot-current centos7.5
 注意:该配置文件在目录下/var/lib/libvirt/qemu/snapshot
 [root@hd1 opt]# cd /var/lib/libvirt/qemu/snapshot/centos7.5/
[root@hd1 centos7.5]# ls
1629708007.xml
 
7  恢复到指定的版本 1629708007 ,没有任何输出则代表恢复成功
root@hd1 centos7.5]# virsh snapshot-revert centos7.5 1629708007
 
确定一下
[root@hd1 centos7.5]# virsh snapshot-current centos7.5|grep creation
  <creationTime>1629708007</creationTime>
 
8  删除虚拟机快照。在删除快照之前,先看下快照信息:
 
[root@hd1 centos7.5]# qemu-img info /opt/centos7.qcow2
image: /opt/centos7.qcow2
file format: qcow2
virtual size: 10G (10737418240 bytes)
disk size: 1.4G
cluster_size: 65536
Snapshot list:
ID        TAG                 VM SIZE                DATE       VM CLOCK
1         1629708007                0 2021-08-23 16:40:07   00:00:00.000
2         1629708490                0 2021-08-23 16:48:10   00:00:00.000
 
删除第一个快照
 
[root@hd1 centos7.5]# virsh snapshot-delete centos7.5 1629708007
已删除域快照 1629708007
 
 
9 )快照只有编号吗?可以起名字吗 ?  
 
启动kvm中的虚拟机
[root@hd1 centos7.5]# virsh start centos7.5
 
登录192.168.1.120 创建一个a.txt
[root@localhost ~]# ls
anaconda-ks.cfg  a.txt
 
root@hd1 centos7.5]# virsh snapshot-create-as centos7.5 c-snap1
已生成域快照 c-snap1
 
查看当前的快照 
root@hd1 ~]# virsh snapshot-current centos7.5|grep name
 
[root@localhost ~]# touch b.xt
[root@localhost ~]# ls
anaconda-ks.cfg  a.txt  b.xt
 
再次创建快照
[root@hd1 centos7.5]# virsh snapshot-create-as centos7.5 c-snap2
已生成域快照 c-snap2
 
查看快照 
[root@hd1 centos7.5]# virsh snapshot-list centos7.5
名称               生成时间              状态
------------------------------------------------------------
1629708490           2021-08-23 16:48:10 +0800 shutoff
c-snap1              2021-08-23 17:03:23 +0800 running
c-snap2              2021-08-23 17:07:10 +0800 running
 
 
查看快照信息
 
[root@hd1 centos7.5]# qemu-img info /opt/centos7.
centos7.iso    centos7.qcow2  centos7.raw    
[root@hd1 centos7.5]# qemu-img info /opt/centos7.qcow2
 
Snapshot list:
ID        TAG                 VM SIZE                DATE       VM CLOCK
2         1629708490                0 2021-08-23 16:48:10   00:00:00.000
3         c-snap1                329M 2021-08-23 17:03:23   00:06:27.656
4         c-snap2                329M 2021-08-23 17:07:11   00:10:13.462
 
 
10   恢复快照 (恢复快照必须要关闭计算机?)
 
关机
[root@hd1 centos7.5]# virsh shutdown centos7.5
 
执行恢复snap1快照
[root@hd1 centos7.5]# virsh snapshot-revert centos7.5 c-snap1
 
[root@hd1 centos7.5]# virsh list
Id    名称                         状态
----------------------------------------------------
4     hd11.com                       running
7     centos7.5                      running
 
确认恢复到了c-snap1
 
root@hd1 centos7.5]# virsh snapshot-current centos7.5|grep name|more
 
<name>c-snap1</name>
    <disk name='vda' snapshot='internal'/>
    <disk name='hda' snapshot='no'/>
    <name>centos7.5</name>
 
 
 
重新登录192.168.1.120 查看当前目录下的文件
 
 
 
11 删除指定虚拟机快照
 
[root@hd1 centos7.5]# virsh snapshot-delete centos7.5 c-snap2
已删除域快照 c-snap2
 
查看快照配置文件 
 
[root@hd1 ~]# cd /var/lib/libvirt/qemu/snapshot/centos7.5/
[root@hd1 centos7.5]# ls
1629708490.xml  c-snap1.xml
 
12 查看开机创建的快照占用的磁盘空间:
 
[root@hd1 centos7.5]# qemu-img info /opt/centos7.qcow2
 
Snapshot list:
ID        TAG                 VM SIZE                DATE       VM CLOCK
2         1629708490                0 2021-08-23 16:48:10   00:00:00.000
3         c-snap1                329M 2021-08-23 17:03:23   00:06:27.656
 
 
 

kvm 虚拟化技术 1.3之kvm克隆以及快照的更多相关文章

  1. KVM虚拟化技术(二)KVM介绍

    KVM:Kernel Virtual Machine KVM是基于虚拟化扩展的x86硬件,是Linux完全原生的全虚拟化解决方案.部分半虚拟化支持,主要是通过半虚拟网络驱动程序的形式用于Linux和W ...

  2. kvm 虚拟化技术 1.2之kvm基础操作

    1.虚拟机基础操作 (1).查看.编辑.备份kvm配置文件以及查看kvm状态 [root@hd1 ~]# cd /etc/libvirt/qemu [root@hd1 qemu]# ls centos ...

  3. KVM虚拟化技术(三)KVM环境预配

    一.平台操作系统安装 选择合适的操作系统,此处选用CentOS 7 系统可最小化安装,也可标准安装: 如果要远程连接,建议安装VNC-Server 将防火墙配置可通信,SELINUX设为permiss ...

  4. KVM虚拟化技术

    KVM虚拟化技术 Qemu-kvm kvm virt-manager VNC Qemu-kvm创建和管理虚拟机 一.KVM简介 KVM(名称来自英语:Kernel-basedVirtual Machi ...

  5. [转] KVM虚拟化技术生态环境介绍

    KVM虚拟化技术生态环境介绍 http://xanpeng.github.io/wiki/virt/kvm-virtulization-echosystem-intro.html kvm和qemu/q ...

  6. 虚拟化技术:Xen与KVM的对比

    作为开源的虚拟化技术,对比Xen和KVM可以看到,Xen以6个无与伦比的优势领先:更好的可用资源.平台支持.可管理性.实施.动态迁移和性能基准. 可用资源:Xen的问世要比KVM早4年之久(两者分别是 ...

  7. kvm虚拟化学习笔记(四)之kvm虚拟机日常管理与配置

    KVM虚拟化学习笔记系列文章列表----------------------------------------kvm虚拟化学习笔记(一)之kvm虚拟化环境安装http://koumm.blog.51 ...

  8. kvm虚拟化学习笔记(一)之kvm虚拟化环境安装

    平时一直玩RHEL/CentOS/OEL系列的操作,玩虚拟化也是采这一类系统,kvm在RHEL6系列操作系统支持比较好,本文采用采用OEL6.3操作系统,网上所有文章都说KVM比xen简单,我怎么感觉 ...

  9. KVM虚拟化技术(七)虚拟机配置文件

    KVM虚拟机的配置文件在/etc/libvirt/qemu/下,为xml文件 整体结构如下: <domain type='kvm'> 虚拟机整体信息 系统信息 硬件资源特性 突发事件处理 ...

随机推荐

  1. Djnago中缓存配置(redis配置案例)

    Django中提供了6种缓存方式: 开发调试 内存 文件 数据库 Memcache缓存(python-memcached模块) Memcache缓存(pylibmc模块) 配置文件 # 内存 CACH ...

  2. 基本类型数组转List

    基本类型数组转List 小数 double[] src = {1.1,2.1,3.1}; List<Double> list = Arrays.stream( src ).boxed(). ...

  3. html5系列:form 2.0 新结构

    以往的一个form表单,结构比较死板,所有的form元素都必须处在<form>和</form>之间才有效,这会造成一些麻烦,比如说:像bootstrap这种使用<div& ...

  4. 好用开源的C#快速开发平台

    NFine 是基于 C# 语言的极速 WEB + ORM 框架,其核心设计目标是开发迅速.代码量少.学习简单.功能强大.轻量级.易扩展,让Web开发更迅速.简单.NFine是一套基于 ASP.NET ...

  5. 切图崽的自我修养-[ES6] 迭代器Iterator浅析

    Iterator 这真是毅种循环 Iterator不是array,也不是set,不是map, 它不是一个实体,而是一种访问机制,是一个用来访问某个对象的接口规范,为各种不同的数据结构提供统一的访问机制 ...

  6. 深入理解 flex-grow & flex-shrink & flex-basis

    前言 flex 有三个属性值,分别是 flex-grow, flex-shrink, flex-basis,默认值是 0 1 auto. 发现网上详细介绍他们的文章比较少, 今天就详细说说他们,先一个 ...

  7. Java中 i++和++i 的区别

    学习目标: 理解i++和++i的区别 学习内容: 1.i++ / i- - i++/i- -:遇到 i++或 i- -,i先参与运算,然后 i 再自加或自减1 代码如下: int a = 1; int ...

  8. 浅谈Web前后端分离的意义

    自然是有很大意义的.下面我可能说的比较多--方便题主能够更全面的了解为什么说是有有意义的.另外,本文是以Java的角度谈前后端分离.放心,大家一定会有种是我了,没错,的感觉. 一.先来明晰下概念 前后 ...

  9. 截取url传值

    // 页面传值 subStr(url) { var obj = {}; var str = url.split('?')[1]; var str2 = str.split('&'); cons ...

  10. js,nodejs如何判断文件是什么编码格式

    nodejs编码只支持utf8的编码方式,无论是打开某个文件或者写.js脚本都得以utf8的编码方式保存,不然程序无法运行,读出来的文件是乱码. 如果是在前台,读取文件是通过FileReader或者F ...