netapp学习(十三)---Snapshot基础知识(上)
2012-03-20 17:33
295 查看
Because each Snapshot contains only pointers and blocks that have changed, the size of the Snapshot is very small compared to the complete system it represents.
下面的图很好地讲述了Netapp Snapshot的实现原理。
1、 文件系统写block A, B, C, D 到磁盘并且用指针指向它们(元数据)
2、 这个时候创建一个快照-snapshot1,没有读写数据或copy数据到磁盘,这个snapshot仅仅是指向目前的位置
3、文件系统修改block C,并且写C‘到磁盘中,而原来的block C没有任何变化。因此现有的文件系统指向C’而不是指向C。而步骤1中创建的snapshot1仍然指向C。
4、文件系统此时再做snapshot2用于指向现有的块,没有数据被读、写、或copy到磁盘,因此没有性能影响。
5、如果文件系统还有变化,那么文件系统继续写到新的block中。
以上就是Netapp snapshot的实现机制,图形化解释非常形象,也易于理解。这种快照实现方式是NetApp独有的,基于NetApp看家本领Write anywhere file layout技术,而其他厂家(比如IBM DS3K/4K/5K)的实现方式(即copy-on-write)是另一种,如下图。和其他厂家相比,NetApp这种快照实现方式对性能影响较小(只有一次写操作,而其他厂商是2写1读),无需预留区,无论快照还是快照恢复,都是秒级别,大大提高性能。
Netapp数据快照的优势
不管拍多少份快照,对系统性能没有任何影响
不需要给快照提前分配存储空间,这样就不会造成如下两种情况
–给快照空间分配过大,造成空间浪费
–给快照空间分配过小,导致快照失效
可以对一份数据最多进行255份快照
Snaprestore
如上图,NetApp的快照没有改变原有的block,因此在做快照restore的时候不需要任何的数据拷贝过程,只涉及到一些标志位的修改和数据块的释放,因此,不管需要恢复的数据量多大,都能在很短的时间内完成数据恢复
注: 分布式文件系统MooseFS也有mfsmakesnapshot命令,可以对文件或文件夹做快照,并且能支持多个源文件采用append方式将快照追加到同一个快照文件中。下面是摘自MooseFS中的一段话,由此可见,实现原理都是类似的。
mfsmakesnapshot prepares a copy of the whole file (or files) in one operation. Furthermore, until modification of any of the files takes place, the copy does not take up any additional space.)
下篇--《netapp学习(十三)---Snapshot实验(下)》
本文出自 “star&storage” 博客,请务必保留此出处http://taotao1240.blog.51cto.com/731446/811631
下面的图很好地讲述了Netapp Snapshot的实现原理。
1、 文件系统写block A, B, C, D 到磁盘并且用指针指向它们(元数据)
2、 这个时候创建一个快照-snapshot1,没有读写数据或copy数据到磁盘,这个snapshot仅仅是指向目前的位置
3、文件系统修改block C,并且写C‘到磁盘中,而原来的block C没有任何变化。因此现有的文件系统指向C’而不是指向C。而步骤1中创建的snapshot1仍然指向C。
4、文件系统此时再做snapshot2用于指向现有的块,没有数据被读、写、或copy到磁盘,因此没有性能影响。
5、如果文件系统还有变化,那么文件系统继续写到新的block中。
以上就是Netapp snapshot的实现机制,图形化解释非常形象,也易于理解。这种快照实现方式是NetApp独有的,基于NetApp看家本领Write anywhere file layout技术,而其他厂家(比如IBM DS3K/4K/5K)的实现方式(即copy-on-write)是另一种,如下图。和其他厂家相比,NetApp这种快照实现方式对性能影响较小(只有一次写操作,而其他厂商是2写1读),无需预留区,无论快照还是快照恢复,都是秒级别,大大提高性能。
Netapp数据快照的优势
不管拍多少份快照,对系统性能没有任何影响
不需要给快照提前分配存储空间,这样就不会造成如下两种情况
–给快照空间分配过大,造成空间浪费
–给快照空间分配过小,导致快照失效
可以对一份数据最多进行255份快照
Snaprestore
如上图,NetApp的快照没有改变原有的block,因此在做快照restore的时候不需要任何的数据拷贝过程,只涉及到一些标志位的修改和数据块的释放,因此,不管需要恢复的数据量多大,都能在很短的时间内完成数据恢复
注: 分布式文件系统MooseFS也有mfsmakesnapshot命令,可以对文件或文件夹做快照,并且能支持多个源文件采用append方式将快照追加到同一个快照文件中。下面是摘自MooseFS中的一段话,由此可见,实现原理都是类似的。
mfsmakesnapshot prepares a copy of the whole file (or files) in one operation. Furthermore, until modification of any of the files takes place, the copy does not take up any additional space.)
下篇--《netapp学习(十三)---Snapshot实验(下)》
本文出自 “star&storage” 博客,请务必保留此出处http://taotao1240.blog.51cto.com/731446/811631
相关文章推荐
- c语言学习之基础知识点介绍(十三):枚举的介绍和使用
- mvn基础知识学习
- CSS学习之样式表基础知识
- 【知了堂学习笔记】_JavaScript基础知识之内置对象(三)
- java学习笔记——基础知识
- Java基础知识学习四(类集框架)
- APUE学习: 第一章, Unix基础知识
- MySQL+PHP学习,从最基础的知识开始(PHP+MySQL安全事务)
- C#学习基础知识总结
- CSS选择器的学习(续)和样式基础知识点
- c语言学习之基础知识点介绍(二):格式化控制符和变量的补充
- 【Java学习笔记】基础知识学习16【文本输出】
- HTML基础知识学习笔记
- 学习 javascript 基础知识
- android学习必备java基础知识——内部类
- SHELL基础学习必杀技之十三问
- JavaEE进阶知识学习-----SpringBoot基础知识-1-项目初始化知识
- 汇编语言学习第一章-基础知识
- android基础知识再学习
- 学习C#基础知识(二)