RAID(独立磁盘冗余阵列)

SQL77 2012-07-11 02:44:47

为了保证数据不轻易丢失,然后出现了RAID(独立磁盘冗余阵列)是由多个磁盘驱动器(一个阵列)组成的磁盘系统


--讲一下简单的几个RAID在磁盘崩溃时的恢复
--主要参考数据库系统实现


--1
--RAID1 也就是经常所说的磁盘镜像.
--假设两个磁盘:那就是一个数据盘.一个冗余盘.冗余盘提供与数据盘一样的复本
--当数据盘或冗余盘一个盘崩溃后,马上更换相应盘.并进行冗余计算.恢复相应的盘.

--优点:磁盘数据丢失机率较低,除了在恢复另一个盘的时候,此磁盘又坏掉了。能提高读取的效率。增加了磁盘写入的开销
--缺点:磁盘利用率较低。是所有磁盘的一半。



--2
--RAID4
--奇偶位--冗余盘的位是其他所有数据盘的模2和
--假设有4个磁盘,存储的是8位.
数据盘0 11110001
数据盘1 11001101
数据盘2 00110011
---------------
冗余盘3 00001111

--假设盘0坏了
数据盘0 ????????
数据盘1 11001101
数据盘2 00110011
---------------
冗余盘3 00001111

则可以根据其余的3个盘进行计算:第1位冗余盘为0,盘1为1,盘2为0,根据模2的方法可计算出盘0的第1位是1,其余类似

--优点:磁盘利用率较高。也只能是一个磁盘崩溃才能进行恢复。
--缺点:写入开销需要进行多个盘的模2计算,所以写入性能不好

--3
--RAID5 对RAID4的进行改正
--假如还是4个磁盘。与RAID4不同的是,冗余盘不再是一个磁盘。而是分配到各个磁盘。
--分配的方法是:
盘0是:4n+0的柱面(n>=0)的冗余盘
盘1是:4n+1的柱面(n>=0)的冗余盘
盘2是:4n+2的柱面(n>=0)的冗余盘
盘3是:4n+3的柱面(n>=0)的冗余盘

所以每一个磁盘的读写概率是一样的。写概率=1/4+3/4*1/3=1/2
(对以上解释:1/4是写入自己所在的磁盘)+3/4(不是写入自己所在的磁盘)*1/3(和其余3个盘的其中一个))

--优点:磁盘利用率较高。(至少需要3个磁盘),也只能是一个磁盘崩溃才能进行恢复。
--缺点:还是不能恢复多个磁盘同时崩溃的错误

--4
--RAID6
--假设有7个磁盘,4位(一种简单的主要是利用海明码)盘0-3是数据盘,4-6是冗余盘
盘0 盘1 盘2 盘3 盘4 盘5 盘6
1 1 0 1 0 1 0
1 0 1 0 0 1 0
0 0 1 0 1 0 1
0 1 0 1 1 0 1
--方法
盘4是盘0 1 2 的模2和
盘5是盘0 1 3 的模2和
盘6是盘0 2 3 的模2和

--假如同时有两个盘崩溃。可利用RAID4讲的办法进行恢复。

--优点:可以同时支持多个磁盘的崩溃恢复
--缺点:写入性能开销大。


--其他关于RAID的介绍
http://msdn.microsoft.com/zh-cn/library/ms190764(v=sql.105).aspx
--关于基于硬件的解决方案
http://msdn.microsoft.com/zh-cn/library/ms188252(v=sql.105).aspx
--比较 RAID 等级的不同实现
http://msdn.microsoft.com/zh-cn/library/ms178048(v=sql.105)

...全文
206 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
zjl8008 2012-07-12
  • 打赏
  • 举报
回复
raid 10 呢,没介绍啊
發糞塗牆 2012-07-11
  • 打赏
  • 举报
回复
鄙视自己占SF的
夜予 2012-07-11
  • 打赏
  • 举报
回复
raid 3、4用的比较少吧,一般都raid 1、5、10
Barton 2012-07-11
  • 打赏
  • 举报
回复
学习啦~
SQL77 2012-07-11
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 的回复:]
什么乱七八糟的。
[/Quote]
liangCK 2012-07-11
  • 打赏
  • 举报
回复
什么乱七八糟的。
lycorisraya 2012-07-11
  • 打赏
  • 举报
回复
学习!
happytonice 2012-07-11
  • 打赏
  • 举报
回复
select jf+学习 as 双丰收
--小F-- 2012-07-11
  • 打赏
  • 举报
回复
天-笑 2012-07-11
  • 打赏
  • 举报
回复
不错不错!
SQL77 2012-07-11
  • 打赏
  • 举报
回复
SF自己留着。

27,579

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧