linux RAID(冗余磁盘阵列)

          磁盘阵列(Redundant Arrays od Independent Disks,RDIA),you“独立磁盘构成的具有冗余能力的阵列”之意。

         早期由加利福尼亚大学伯克利分校在1988年发表的一篇文章里面谈及RAID这个词汇,当时cpu效能每年大约增长30-50%,磁盘机只能成长约7%。希望找出一种新的技术平衡计算机的运算能力。研究小组设计出容错,逻辑数据备份而产生RAID理论。 

         独立磁盘冗余阵列是把相同的数据存储在多个硬盘的不同的地方(因此,冗余地)的方法。通过把数据放在多个硬盘上,输入输出操作能以平衡的方式交叠,改良性能。因为多个硬盘增加了平均故障间隔时间(MTBF),储存冗余数据也增加了容错

一.磁盘阵列的分类

1.外接式磁盘阵列:通常被用在大型服务器上面,具有可热交换(hot Swap)的特性,价格特别贵。

2.内接式磁盘阵列:价格便宜,但需要较高的安装技术,适合技术人员操作。硬件阵列能够提供在线扩容,动态修改阵列级别,自动恢复数据,驱动器漫游,超高速缓冲等功能。

3.利用软件仿真模式:通过网络操作系统自身提供的磁盘管理功能将链接普通scsi卡上的多块硬盘配置成逻辑盘组成阵列。软件阵列可以提供数据冗余能力,但是磁盘子系统的性能会有所下降;不适合大数据流量的服务器;

二.磁盘阵列的原理

          磁盘阵列作为独立系统在主机外直连或者通过网络链接与主机相连。在磁盘阵列内部为加快与主机交互速度,都带有一点量的缓冲存储器。主机与磁盘阵列的缓存交互,缓存与具体的磁盘交互数据。

         应用中,部分数据需要经常读取,磁盘阵列根据内部算法,将这部分数据存储在缓存中,加快主机读取数据速度。对于不太使用的数据,主机读取时从磁盘直接读取给主机。写入的数据,暂时存储在缓冲存储器,然后由缓冲存储器慢慢写入磁盘。加快数据写入能力。

三,磁盘阵列的优缺点

优点:1.提高传输速率,RAID通过在多个磁盘上同时存储和读取数据大幅度提高存储系统的数据吞吐量。

       2.通过数据校验提供容错能力。很多RAID模式含有较为完备的相互校验和恢复数据措施,甚至直接镜像备份,大大提高RAID系统的容错度,提高系统的稳定冗余性。

缺点:RAID0不具有冗余能力,如果一块物理磁盘碎坏,整个磁盘阵列都无法使用。

          RAID1磁盘的利用率只有50%(两块磁盘下),是所有RAID中利用率最低。

四,RAID级别

       RAID常用级别:RAID0,RAID1,RAID5,RAID10,RAID50,JBOD

RAID0:不需要ide控制器。将多块磁盘使用控制芯片(HBA主机适配器)并联起来,在通过其他方式和电脑主板链接。在N块磁盘上选择合理的带区来创建带区集。将写入的数据同时分散到所有的硬盘,读取数据也是同时读取所有硬盘,速度提升n倍。虽然RAID0可以提供更多的空间和更好的性能,但是系统不可靠,如果出现一块磁盘故障整个系统都会崩溃,无法进行补救。比较适合临时文件存放。磁盘大小最好相等,磁盘型号最好一样。

RAID1:也被成为镜像磁盘。原理把一个磁盘数据镜像到另一个磁盘上。至少具有两块磁盘,当一块磁盘出现问题时,系统也会正常运行,因为会使用另外一块备份磁盘数据进行工作。具备很好的磁盘冗余能力。数据虽然绝对安全,但是成本会明显增加,磁盘利用率为50%。磁盘出现问题要及时更换,否则剩余的镜像磁盘会出现问题,那么系统就会崩溃。更会新的磁盘原有数据会需要很长时间同步镜像,外界对数据访问不会受到影响。多用于保存重要数据的场合。

RAID4:至少需要三块磁盘,两块磁盘存放数据,另外一块磁盘存放第一块和第二块磁盘数据的异或,(两者相同为假,两者不同则为真),当一块磁盘碎坏,系统也可以工作。效验码可以根据另外一块磁盘数据计算出碎坏磁盘的数据,然后将磁盘数据传递给主机。RAID4里面还可以加入一块备用磁盘作为替补,替补磁盘称为热备,热备平时不工作。当一块磁盘碎坏,热备替换碎坏的磁盘工作的方式称为热换。允许一块磁盘出错,读写性能提升,利用率(n-)/n。

RAID5:至少需要三块磁盘,RAID4存放效验码磁盘容易被读取导致磁盘压力增大易碎坏。RAID5为了减轻压力而使每块磁盘都存放数据以及验证码,每块磁盘工作一样。为了提升RAID的读写速率,RAID里面添加缓冲存储器,写入的数据,暂时存储在缓冲存储器,然后由缓冲存储器慢慢写入磁盘。加快数据写入能力。为了防止断电导致缓冲存储器里面数据丢失不能及时写入磁盘,一般RAID都会添加有备用电池,让RAID继续工作将缓冲存储器的数据写入磁盘。

RAID01:至少需要四块磁盘,数据会先执行RAID0模式再执行RAID1模式,数据传送进来将数据进行分散,再进入下一级,分散数据镜像存入两块磁盘。一个磁盘损坏不影响系统工作,即使另外一组磁盘损坏一个也不影响系统工作,但不能时同一组两块磁盘损坏,导致系统数据丢失。读写性能提升,内存利用率50%。

RAID10:数据传送进来,执行RAID1模式镜像备份一份,然后将数据和镜像分别传输到下一级,再执行RAID0模式,将数据分散存放磁盘。允许一组一个磁盘损坏,系统可以继续工作。如果每组出现一个损坏则系统无法继续工作。

jbod:将n块同样的硬盘用硬件的形式通过智能磁盘控制器或用操作系统中的磁盘驱动器程序以软件的方式串联在一起创建打的磁盘。依次将数据写入硬盘。优点整倍提高硬盘容量。缺点一块磁盘出现故障,整个系统将会破坏。

硬RAID:在主板外面将多块磁盘通过RAID形式链接为一块磁盘,磁盘插入主板工作,不占有cpu资源。

软RAID:将磁盘独自插在主板上面,系统linux内核识别磁盘,内核存在多磁盘驱动模块将多块磁盘组合成一块磁盘分散存放数据。而多块磁盘驱动模式运行依赖cpu,占用cpu大量的资源,容易导致系统运行效果不佳。

五,创建RAID模式磁盘

madam  --manage MD devices aka linux Software RAID,linux下的一款标准软件RAID管理工具。命令文件存放在/etc/mdadm.conf

特点

1.能够诊断,监控和收集详细的阵列信息。

2.一个单独集成化的程序而不是分散程序集合,因此对不同RAID管理命令有共同的语法。

3.能够执行所有的功能,没有默认配置文件

mdadm的用法:(man  mdadm  以下用法命令可以查到)

 mdadm   [mode]    <raiddevice>    [options]     <component-devices>

#mdadm  RAID模式   RAID名称         命令              创建RAID的磁盘   

Linux系统支持的RAID模式:


#LINEAR相当于jbod              MULTIPATH多路径

mdadm的RAID模式:


mdadm:模式化工具,常用的模式

-A    装配模式

-C   创建模式

-F   监控模式












































































































猜你喜欢

转载自blog.csdn.net/weixin_39249306/article/details/80635031