阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

磁盘阵列RAID基础原理

110次阅读
没有评论

共计 1273 个字符,预计需要花费 4 分钟才能阅读完成。

如果你的主机中有三个硬盘(不是分区),里面保存的数据非常重要,那么你会想怎么对这些数据进行备份。最简单的办法是再买几个硬盘,把数据全部拷贝到备份硬盘。如果你的主机上挂载着十个盘,那么你就得买十个硬盘用来备份。
 
对于企业级的大型机,一个应用系统上少则挂载二十多块硬盘,多着上百块,如果对其进行备份,我们不可能使用等量的硬盘。
 
这时我们就得考虑其他的备份策略。
 
最近学习了一种称为 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、当一个硬盘坏掉后,能够进行恢复,但如果再坏一个,会对系统造成难以恢复的灾难。改进办法:增加一个热备盘,正常情况下,不向此盘写入数据,当一个磁盘出问题后,系统立即把数据恢复到热备盘。这样就运行系统可以有两个盘同时损坏而不影响系统运行,也不会造成数据丢失。

Debian 软 RAID 安装笔记 – 使用 mdadm 安装 RAID1 http://www.linuxidc.com/Linux/2013-06/86487.htm

常用 RAID 技术介绍以及示例演示(多图) http://www.linuxidc.com/Linux/2013-03/81481.htm

Linux 实现最常用的磁盘阵列 – RAID5 http://www.linuxidc.com/Linux/2013-01/77880.htm

RAID0+ 1 和 RAID5 的性能测试结果 http://www.linuxidc.com/Linux/2012-07/65567.htm

正文完
星哥说事-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-20发表,共计1273字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中