• 作者:老汪软件技巧
  • 发表时间:2024-12-01 04:02
  • 浏览量:

作者介绍:简历上没有一个精通的运维工程师。希望大家多多关注作者,下面的思维导图也是预计更新的内容和当前进度(不定时更新)。

虚拟快照的特点__云计算虚拟化容器

虚拟化,简单来说就是把一台服务器/PC电脑,虚拟成多台独立的虚拟机,每台虚拟机之间相互隔离,每个虚拟机都有自己独立的操作系统,磁盘,网络资源。虚拟化是一个很庞大的系统,我的介绍主要是帮助你入门,让你了解基本技术原理,具备搭建操作虚拟化的能力。由于涉及到内容较多,这里的目录就只是以简单分类介绍和说明,不再针对单个小节进行目录列出,主要涉及的分类包括以下几个方面:

1.虚拟化介绍

2.kvm基本使用

3.kvm进阶使用(本小节属于)

4.kvm技术原理

5.vmware介绍&使用

6.小结

我们在上一小节的快照中对于一个空系统做快照,大概会增加200m的空间,如果是一个使用频繁的文件呢,而且把快照文件和原始文件存储在一起,持续增加快照虽然不会把这个qcow2文件打满,但是它会持续增加大这个文件(比如定义一个虚拟机qcow2文件是20g,但是通过持续做快照,可以达到上百G,甚至更大)。

讲外置快照之前,我们先学习一个概念,写实复制

写时复制(Copy-on-Write,COW)技术是一种在计算机领域广泛应用的优化技术,尤其在虚拟化、文件系统和数据库等领域发挥着重要作用。以下是关于写时复制技术的详细介绍:

基本概念定义:

原理:

简单来说,比如有一个目录下有abc3个文件 这时候有ABC这3个人都可以看到这个3个文件,当A需要写入a文件的时候,系统会把a文件复制一份,然后在新的副本进行写操作;如果b这个时候要要写另外一个文件,它也会把要写的这个文件复制一个副本出来,如下图。

云计算虚拟化容器_虚拟快照的特点_

创建外部快照

# 名字,路径自定义
virsh snapshot-create-as \
centos31.207 \
snap1  \
--diskspec vda,file=/data/image/centos31.207_1.img \
--disk-only \
--atomic

云计算虚拟化容器__虚拟快照的特点

云计算虚拟化容器_虚拟快照的特点_

第一次创建快照的时候,原始镜像文件就不再写入,所有写入操作就写到创建的快照文件里面;当执行第二次创建快照的时候,第一个镜像文件也不再写入,而是写到第二个快照文件里面。

并且我们在这个主机对应的xml里面也可以看到关于快照文件的说明。

    type='file' device='disk'>
      name='qemu' type='qcow2'/>
      file='/data/image/centos31.207_2.img'/>
      type='file'>
        type='qcow2'/>
        file='/data/image/centos31.207_1.img'/>
        type='file'>
          type='qcow2'/>
          file='/data/image/centos31.207.img'/>
        
      

其中最前面的文件就是正在读写的文件,其他2个文件就是我们的历史文件。

和前面的写时复制对比 早些的31.207.img和31.201_1.img可以理解成底层的文件,是只读的,最新的文件31.207_2.img 则是可读可写的。

我们在稍微延申一下,是不是可以使用一个基础镜像,然后创建的虚拟机都是一个快照,这样我们就可以复用基础镜像,创建虚拟机实际就只做一个快照的时间,创建的虚拟机的速度就会很快,而且还可以节约磁盘。因为一个普通的linux至少在2G左右,创建10个就需要20G,如果用刚才的技术,2G的基础镜像和10个快照(每个200M)上一小节的数据,就可以节约16G的空间。

云计算虚拟化容器_虚拟快照的特点_

再从镜像方面来延申下,如果一个基础镜像,只包含部分内容,以后这个基础镜像+不同的快照就可以生成各种配置的镜像,也可以节约空间。

运维小路

一个不会开发的运维!一个要学开发的运维!一个学不会开发的运维!欢迎大家骚扰的运维!


上一条查看详情 +IOC容器实现分层解耦
下一条 查看详情 +没有了