一: raid简介
raid(redundant array of independent disk 独立冗余磁盘阵列)是一项数据保护策略.
二: raid的几种常用级别
1. raid 0
通过并行读取来提高数据i/o, 读取操作效率很高, 但是不提供数据容错及保护. 不推荐作为sql server使用.
2. raid 1
镜像保护,有两个驱动器,一个做主驱动器,一个做镜像, 所以是实际需要两倍的驱动器,第二个所为冗余使用. 使用raid 1我们的存储容量应该是(n*s/2)。
一次写操作写入到两个磁盘, 所以虽写入速度会稍微有影响, 但是读取速度几乎是大多数情况下的两倍. 因为在读取操作过程中驱动器可以并行地进行访问,从而提高了吞吐量。raid 1限制于两个驱动器。
3. raid 5
带校验的磁盘条带。在这种类型的raid中,数据以复杂条带的形式写入到阵列中的所有驱动器中,同时所有驱动器中都有分布数校验块。这样raid 5就可能使用三个或者更多磁盘组成的任意大小的阵列,只牺牲相当于一个磁盘的存储容量用于校验。但是这种校验是分布式的,并不单独存在于任何一个物理磁盘中.
raid 5由于在大型阵列中牺牲的存储容量较少,所以它具有成本效益的特点,从而被人们所广泛使用。与镜像不同的是,带有校验的条带要求必须在磁盘之间进行针对每个写入条带的计算,这造成了一部分的开销。因此,吞吐量并不总是一个容易计算的项目,它在很大程度上取决于系统在做校验计算时候的计算能力。
计算raid 5的容量非常简单:就是((n-1)*s)。raid 5阵列可以避免这列中任何单个磁盘的丢失.
对raid5的每一次写操作, 都会涉及到多个读用于计算并且存储. 对sql server有很多的写操作,并且要求很高效率的时, raid 5并不是一个很好的选择.
4. raid 6
带双重校验的磁盘条带。raid 6与raid 5非常相似,但它的每个条带使用两个校验块,而不是一个,这加强了应对磁盘故障的保护能力。
raid 6是raid家族中的新成员。raid 6是其他几个raid类型实现标准化几年之后增加的。raid 6比较特殊,因为它可以承受阵列中任意两个驱动器的故障,同时防止数据丢失。但是为了配合额外的冗余度,raid 6阵列需要牺牲阵列中相当于两个驱动器的容量,并要求真列中最少有四个驱动器。raid 6的容量可以用((n-2)*s)来计算。
5. raid 10
带条带的镜像。从技术上来说,raid 10是一种混合的raid,包括存在于一个非校验条带(raid 0)中的一对raid镜像。
当一个阵列中只有两个驱动器的时候,很多厂商会称其为raid 10(或者raid 10+),但从技术上来说这应该是raid 1,因为阵列中至少有四个驱动器才会发生条带化。对于raid 10来说,驱动器必须是一对一对添加的,因此阵列中的驱动器数量只可能是偶数。
raid 10可以在丢失近半数驱动器组的情况下正常运转,同时最多只能承受每个驱动器中一个驱动器发生故障或者丢失。raid 10不包含校验计算,这使得它相对raid 5和raid 6来说具有一定的性能优势,而且阵列对计算能力的要求也更低。raid 10提供了超过任何一种常见类型raid的读取性能,因为在读取操作中阵列中的所有驱动器都可同时使用。但是raid 10的写入性能要低很多。raid 10的容量计算方法和raid 1相同,都是(n*s/2)。
raid性能比较
读效率: 因为是并行读取, 读取效率都很高.
写效率: raid 0 > raid 1 > raid 10 > raid 5
磁盘利用率: raid 0 > raid 5 > raid 1 = raid 10
容错能力: raid 10 = raid 1 > raid 5 > raid 0
作为sql server 的db server建议使用raid 1 或raid10.
三: raid与sql server
db server physical disk design with separate raid volumes for data, log, tempdb and backup files.
磁盘架构:
c: os [要求很好的数据读写效率, 并且有很强的容错能力, 提供数据保护]
d: 做raid10, 存储db数据文件 [要求读的效率高, 写效率比较低一些, 容错能力要强,如果数据文件很大, 要求节约磁盘空间]
e: 做raid1, 存储db日志文件 [在db运行过程中, 日志读写比较频繁, 需要很高的数据读写效率]
f: 做raid10, 存储数据库的tempdb [存放临时数据库]
g(可选): 做raid1, 数据备份,建议数据备份在远端
ssd硬盘:ssd的英文全称是solid state disk/drive, 中文翻译为固态硬盘. 可以广泛应用于服务器、台式机、笔记本、移动设备、游戏机等, 加速启动, 提高性能, 同时降低功耗.
优点:
速度快(高i/o).
耐用防震
无噪音
重量轻
sql server搭配ssd硬盘可以取得很好的i/o性能
缺点:
价格高,容量小,做raid会进一步损失容量, 所以性价比不高. 对于不考虑价格的公司就另当别论.
技术还不是太成熟
四: 总结
针对不同的功能,建立不同的raid架构可以提高数据效率和利用率.
发表评论