Jan
21
2018
阿里云ECS为什么文件系统和快照空间大小不一致?
用户在实例内部看到的是磁盘 (EBS),在磁盘分区上创建的是文件系统 (File System)。文件系统负责管理磁盘空间,其操作最终均转化为磁盘的 I/O 请求。EBS 会记录 Block(指磁盘的逻辑块地址被块存储划分为相同大小的块)状态,按需将脏数据拷贝到 OSS,这就是打快照的过程。
以下原因可能会造成文件系统的空间与快照大小不一致:
文件系统本身的元数据会占用磁盘空间。
创建文件系统过程会写大量 Block。特别的,Windows 的慢速格式化会写脏大量 Block,而使用快速格式化可以减少写Block 的数量。
文件系统为了减小开销,删除文件只是在内部做个标记,而 EBS 不感知这个删除指令,Block 仍然是已分配状态,所以仍会把这部分也做到快照里,导致快照比文件系统大。
Virtio-block 和 Xen 的 Block-front 等模块不支持 TRIM 指令(一种IO指令,提示LBA上的某段数据不再使用,可以被删除),因而磁盘无法感知数据可以被删除。
本公司销售:阿里云新/老客户,只要购买阿里云,即可享受折上折优惠!>
我有话说: