磁盘阵列raid基础原理

磁盘阵列raid基础原理


如果你的主机中有三个硬盘(不是分区),里面保存的数据非常重要,那么你会想怎么对这些数据进行备份。最简单的办法是再买几个硬盘,把数据全部拷贝到备份硬盘。如果你的主机上挂载着十个盘,那么你就得买十个硬盘用来备份。

对于企业级的大型机,一个应用系统上少则挂载二十多块硬盘,多着上百块,如果对其进行备份,我们不可能使用等量的硬盘。

这时我们就得考虑其他的备份策略。

最近学习了一种称为RAID5的备份策略,感觉很神奇,分享给大家。

 

首先我们应该明白什么是异或运算:

0100^0101=0001

异或运算的规则是同则为假,异则为真(0为假,1为真),

0^1^0^1^1^0=1

当异或计算中,1的个数为奇数时,几个等于1,为偶数时等于0

 

然后让我们来进行一个计算

0^1^0^1^*=1

请问*为何值?  =1

 

如果每一个0 1 都对应硬盘中的一个bit,看看下面的情况:

disk1

disk2

disk3

disk4

++disk

0

0

0

0

0

0

1

1

0

0

1

0

0

1

0

0

1

0

0

1

1

1

1

0

1

++disk为奇偶校验盘,它的数据都是通过前面四个盘的数据进行异或计算得到的。

下面神奇的事情将要发生:

如果disk2盘突然坏了,怎么办?

回想前面的演示计算,我们完全可以通过其它盘和奇偶校验盘的数据对disk2的数据进行恢复。

如果disk3盘坏了呢?当然我们还是可以通过其它盘对其进行数据恢复。

甚至于当某个盘坏掉的情况下,不用更换,系统可以通过其它盘计算出该盘的数据,照样能使够稳定运行(当然我们一般不会这样做)。

 

进一步优化:

1、每次写数据时,为了奇偶校验,都需要读取其它所有盘 的数据,造成写的速度慢。改进办法:分段写磁盘,系统首先把要写入的数据进行段(大小同硬盘中的段)的划分,按照这些段中的数据,计算出奇偶校验数据,然后同时写入硬盘(此时的同时写入是真实的同步执行写入,因为每一个硬盘都是物理独立的)。

2、把奇偶校验数据都写到一个盘,会造成每次写数据和恢复数据,都会访问此硬盘,因为硬盘自身速度的限制,会造成瓶颈。改进方法:把这些奇偶校验数据分散写入各个硬盘。

3、当一个硬盘坏掉后,能够进行恢复,但如果再坏一个,会对系统造成难以恢复的灾难。改进办法:增加一个热备盘,正常情况下,不向此盘写入数据,当一个磁盘出问题后,系统立即把数据恢复到热备盘。这样就运行系统可以有两个盘同时损坏而不影响系统运行,也不会造成数据丢失。

 


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值