1、条带化(striping)
把数据分片,存储在多个磁盘以提高数据并行访问速率,从而提升I/O性能;
影响条带化性能有两个关键指标,条带大小和条带宽度,条带大小(striping size)即分片的数据块大小,数据块分得越多,就可以并行存储到更多的磁盘,传输性能更高,自然要求控制器有更强的数据块分片、定位、排队、合并的能力,反之则传输性能降低,对控制器的要求也降低;条带宽度(striping width),即可并发读写的条带数(例如,磁盘),宽度越大即并发读写能越强。
2、写惩罚(write penality)
写惩罚是RAID中当有数据变更时或写小数据块时,需要对磁盘做的额化操作,一般情况下需要做读条带数据、读校验码、重写数据、重写校验码的操作;
3、快照
全拷贝快照:对数据做完全镜像,在存储设备上要分配同样大小的空间,同步过程影响写操作;
差分快照
写时复制(CoW,Copy on Write)
COW快照需要消耗一些存储空间--建立快照卷。当我们为一个数据卷创建一个快照之后,这些预留的空间用来存放被变化数据更新的旧数据。COW快照在初始化的过程中仅仅创建用来描述源数据块位置的指针信息(元数据),而不是完整的将源数据块拷贝过来。因此初始化的过程几乎可以在瞬间完成,对系统的影响也很小。
COW快照会跟踪数据卷的写操作和数据块变化。当某个数据块发生改变时,在将旧的数据覆盖之前,首先将该块的旧数据复制到预留的快照卷,该步骤仅在数据卷相应数据块位置发生第一次写操作请求时进行。这个处理过程确保快照出来的数据与发起快照的那个精确时间点保持完全一致。这个过程也描述了“copy on write”这个名字的含义。
COW快照的主要优势在于空间的高效利用,因为快照卷只需要保留发生过变化的数据块,与数据卷相比要小得多。但是我们也知道COW快照有个缺点,它会引起数据卷性能的下降,这是因为创建快照之后,对数据卷的写操作会增加一个等待的过程 --即旧数据块复制到快照卷的过程。另外一个关键问题是每个快照卷必须依赖一个完整的数据卷。
写时重定向(RoW,Redirect on Write)
“ROW重定向写”与“COW复制写”是相对的概念,它可以避免两次写操作引起的性能损失。ROW同COW一样在空间利用方面效率非常高。那是什么让ROW快照避免了写性能的损耗?其中的原因是ROW把对数据卷的写请求重定向给了快照预留的存储空间,而写操作的重定向设计则把需要两次写才能完成的操作减少为一次写。我们知道COW的两次写包括:1、将旧数据写入快照卷;2、在数据卷写入新数据。而ROW只有写入新数据一步。
使用ROW快照,数据卷存放的是上一个快照时间点的旧数据,新数据最终存放在预留的快照空间。这里也有一个复杂的问题,就是快照的删除。被删除的快照上的数据必须被复制到原始数据卷,并且做一致性回退。创建的快照越多,维护快照的复杂度也会以指数级别上升。这些复杂性包括对原始数据的访问、快照数据和原始数据卷的跟踪、以及快照删除后的数据调整。另一个直接引发的严重问题是,原始数据集中会产生大量的碎片。
4、烟囱式架构
首先,传统IT系统多为“烟囱式”架构,一平台一应用,如果需要扩容,原有的架构和部署方式必然发生巨大变化,并且多系统之间很难实现数据共享,扩容成本极高。其次,多套系统造成管理、维护效率低下。研究表明,IT系统用于维护的费用占到整体费用的72%,远高于首次采购设备的费用。而这一状况在进入海量存储时代后变得更加突出。