Chinaunix首页 | 论坛 | 博客
  • 博客访问: 11678753
  • 博文数量: 8065
  • 博客积分: 10002
  • 博客等级: 中将
  • 技术积分: 96708
  • 用 户 组: 普通用户
  • 注册时间: 2008-04-16 17:06
文章分类

全部博文(8065)

文章存档

2008年(8065)

分类: 服务器与存储

2008-07-15 15:38:26

NetApp也不是简单能说清楚的,可以说它的统一存储的概念、NAS/iSCSI的支持、FC的支持,内部系统Data OnTap、快照技术、卷管理等太多了,整个一套硬件和软件的集合体,个人感觉NetApp做的比较出色的就是存储里面的软件系统。

NetApp的快照技术,我感觉在众多的厂商里面还是非常优秀的,这与它在底层所采用的系统有很大的关系,通过类似指针的方式来管理数据块。其快照技术基于也是基于指针的方式,当快照时,只是将目前的指针复制一份作为快照。当数据块发生变化时,不像其他阵列,将这个即将变化的数据块拷贝出来,放到快照卷里面,而是:新申请一块空间,将对应数据块的指针指向这个新的存储空间,然后将新的数据放进去。
这样,NetApp的快照技术在一个数据块发生变化时,所作的是一个写的操作。
而其他的“copy on write”的快照方式:首先要读(要变化的数据块),写(到快照卷),写(变化的数据到磁盘)。
因此在存在众多快照时,NetApp的性能并没有明显的降低。

由于NetApp采用WAFL(write anywhere file layout)的技术,另外由于其采用的特殊的raid技术,使得其在卷管理上更具有灵活性,不同于普通的raid条带化的概念,它在实现卷的扩容,数据一致性上有比较好的解决方案
在做快照时并不需要专门的快照卷空间,只是复制根节点128B的数据。因此新的快照几乎不占空间,除非在数据变化时。
当因数据块发上变化,而导致源卷损失掉这个数据块时,(系统会从剩余的存储资源中划出一些空间来补充)---我的理解。

无论做多少快照,在数据法上变化时,NetApp只是改变指针,而不是将数据读出再写到快照卷里面。而其他快照方式就不一样了,随着快照的增多,所要读写的数据量将是成倍增加的。
因此在多快照时,NetApp的优势将会得到体现。

再说说它的RAID4吧, 先看看RAID4的定义
RAID-4等级
Independent Data disks with shared Parity disk(独立的数据硬盘与共享的校验硬盘)
RAID 3 英文定义是Parallel transfer with parity,即并行传输及校验。与之相比,RAID 4则是一种相对独立的形式,这也是它与RAID 3的最大不同。





RAID-4结构图解




与RAID 3相比,我们发现关键之处是把条带改成了“块”。即RAID 4是按数据块为单位存储的,那么数据块应该怎么理解呢?简单的话,一个数据块是一个完整的数据集合,比如一个文件就是一个典型的数据块。当然,对于硬盘的读取,一个数据块并不是一个文件,而是由操作系统所决定的,这就是我们熟悉的簇(Cluster)。RAID 4这样按块存储可以保证块的完整,不受因分条带存储在其他硬盘上而可能产生的不利影响(比如当其他多个硬盘损坏时,数据就完了)。


不过,在不同硬盘上的同级数据块也都通过XOR进行校验,结果保存在单独的校验盘。所谓同级的概念就是指在每个硬盘中同一柱面同一扇区位置的数据算是同级。在写入时,RAID就是按这个方法把各硬盘上同级数据的校验统一写入校验盘,等读取时再即时进行校验。因此即使是当前硬盘上的数据块损坏,也可以通过XOR校验值和其他硬盘上的同级数据进行恢复。由于RAID 4在写入时要等一个硬盘写完后才能写一下个,并且还要写入校验数据所以写入效率比较差,读取时也是一个硬盘一个硬盘的读,但校验迅速,所以相对速度更快。总之,RAID 4并不为速度而设计。下面我们总结一下RAID 4的特点:



阅读(733) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~