阿里云快照容量基本原理-阿里云开发者社区

开发者社区> 云计算> 正文

阿里云快照容量基本原理

简介: # 快照容量与磁盘容量的关系 快照是在某个时间点,对整个磁盘数据状态的捕捉。在 创建快照的过程中, 通过消除空块的操作,使得单个快照容量小于磁盘容量。 阿里云会识别出从未写入过数据的磁盘空间,并标记为空块,不进行计量, 以节省用户的快照空间。 # 数据写入操作的准确定义 首先澄清一个概念,对底层分布式存储系统而言,“数据写入操作”不仅仅 意味着用户写入的业务数据,也包括格式化磁盘

快照容量与磁盘容量的关系

快照是在某个时间点,对整个磁盘数据状态的捕捉。在
创建快照的过程中, 通过消除空块的操作,使得单个快照容量小于磁盘容量。
阿里云会识别出从未写入过数据的磁盘空间,并标记为空块,不进行计量, 以节省用户的快照空间。

数据写入操作的准确定义

首先澄清一个概念,对底层分布式存储系统而言,“数据写入操作”不仅仅 意味着用户写入的业务数据,也包括格式化磁盘等一系列 IO 操作。
用户在拿到磁盘后,必须要先格式化才能正常使用,格式化的本质是建立文 件系统的过程。一个分区或磁盘在作为文件系统使用前,需要初始化,并将数据 结构记录到磁盘上,这个过程就叫建立文件系统。
因此,在磁盘上建立文件系统,也就意味着对磁盘有数据写入操作。
不同的文件系统,在格式化时写入的文件大小也不尽相同,具体如下:

  1. Windows 系统格式化,分为快速和正常格式化:
    • 快速格式化只是给分区分配文件系统,并重写目录表;

• 正常格式化不但会进行上述工作,还会对分区逐扇区进行扫描以
确定和标记坏扇区;
• 因此正常格式化操作,会填充磁盘空块,相当于把磁盘全盘写了
一遍。在此种情况下,第一个全量快照的大小会近似于磁盘容量。

   而快速格式化占用的实际空间则相对较少。
  1. Linux 系统格式化,也同样是建立文件系统的过程。因此刚刚格式化完
    毕的磁盘,在用户没有写入业务数据的时候,第一个快照也会有一定的 容量大小,具体要看不同的文件系统格式而定。

虚拟机内删除文件会减少空间占用吗?

文件系统中所谓删除只是在需要删除的文件头部做个标记,告诉用户这块空 间可以利用了,并不会减少磁盘本身的空间占用。

为什么快照容量大于文件系统内看到的数据量?

如上所述,文件系统的格式化、文件的删除操作以及用户的写数据行为都会 使得磁盘空块数量不断减少,从而减弱了创建快照过程中消除空块的效果。因此, 用户会看到快照容量比文件系统内展示的数据量要大。

为什么快照删除了之后,快照链总容量有时不会减少?

由于阿里云采用的是增量快照的方式,即后面的快照会和之前的快照进行比对,如果是全部内容相同,则直接引用之前快照的内容,例如:
s1->s2->s3

在创建s3时,会把磁盘的内容和s2的内容进行比较,如果没有发生任何变化,则直接引用s2的内容,增量大小则为0,s2的引用计数为1,此时删除s2,并不会回收s2占用的存储空间。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
云计算
使用钉钉扫一扫加入圈子
+ 订阅

时时分享云计算技术内容,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。

其他文章