Snapshot

定义

对于某个存储对象(file/block)在一个时间点的数据拷贝

Snapshot – A point-in-time copy of data that is stored on the storage system.

业界针对snapshot两种的通用技术

Copy-on-Write

写时拷贝:在对snapshot,或者有snapshot的存储对象进程复写之前,先将对象之前的数据拷贝到一个制定的地方,用于保存那些snapped的数据

in order to preserve the snapped data, copy blocks to a designated protection space prior to being overwritten

Redirect on Write 写重定向

在对snapshot,或者有snapshot的存储对象进程复写时,将新的写入落盘到其他地方,同时更新对应的指针指。

With redirect on write, new writes to snapped storage resources or their snapshots are redirected to a new location in the same pool, and pointers are updated to point to the new location.

写重定向示意图
两种技术的对比:

结论: 写重定向效率更优,原因如下:
1、“写重定向”不需要设置专门的空间用来存储那些snapped的数据,而“写时拷贝”方案则需要
2、“写重定向”不需要拷贝转移那些snapped的数据,而“写时拷贝”方案则需要

你可能感兴趣的:(Snapshot)