1.什么是RAID?
RAID(Redundant Array of Inexpensive Disks),廉价磁盘阵列.听这个名字就知道是把廉价的磁盘转成高性能,高可靠磁盘的一个方法.在1956年IBM推出第一台硬盘驱动器,虽然经过长时间的发展但大容量,高性能的磁盘始终代价昂贵未能普及,于是RAID,一个折中的方法就出现了.
2.RAID的级别
什么是RAID的级别呢?也就是硬盘的不同组合方式.根据磁盘的组合方式不同,得到的级别也不同.为什么会有不同的级别呢?因为RAID的主要作用就是通过组合磁盘来提高I/O性能和数据安全度.提升性能的方式主要有RIAD 0,提升安全的组合方式主要有RAID 1.
3.常用级别说明
RAID 0:把一份数据大致平均地分到每个磁盘.也就是说把每个数据切割成N份,分别写入每个磁盘,这样就减小了,每个磁盘的写入量,快速地完成了数据读写.其磁盘总大小就是所以磁盘加起来.比如3个500G硬盘做个RAID 0,结果大小就是1.5T.假如每个磁盘写入速度是70M/S,总写入速度就是210M/S,大大提高了读写时间.世界上没有完美的东西,有利就有弊.RAID 0的缺点在于不安全,一旦其中一块磁盘出现故障,所有数据将不能访问,将丢失.这对于任何人来说都是不能接受的.至少要2块盘.
条带,条带是一种数据分割技术.就是在存数据的时候将一份数据顺序切割为几个小份的方式.这样在并行访问数据的时候将将大提高访问速度.现在很多厂商都采用了条带化技术.条带化大小,又称条带深度.是指条带时将数据分的块大小,一般是2K--512K,根据不同业务自定义.如果块过小,会多次寻址,增加读写次数,减少性能.但会减少数据传输时间.块大则相反.所以一般都根据业务自定义块大小.
RAID 1:把一份数据复制 复制 完整地复制成几份,分别写入两个磁盘.假如三个1G磁盘做成的RAID 1,那么总容量仍然只有1G,因为数据会被完整地复制到每个盘.这样就保证了数据的安全,毕竟磁盘同时坏几乎不可能.可以看出RAID 1性能没有任何提升并且非常浪费空间,但是对于企业来说就算硬盘坏十次都没关系,只要数据安全.至少要2块盘.
RAID 5:RAID 0性能好但不安全,RAID 1安全但性能没提升成本又高,于是一个折中的方案出现了.这就是RAID 5,由N块数据盘加1块校验盘实现,也就是有N+1块盘.同RAID 0一样数据会平均地分在n块盘上,会在最后一般形成校验码.比如第1,2盘分别放4,5校验码就放9和其他报头数据.这样当其中一块坏了,数据不会丢失,当换上新盘后数据会自动计算并同步上.可以看出这个磁盘利用率为N-1块,并且校验盘访问率高,容易损坏,所以校验盘会轮流当值.至少要3块磁盘.
RAID 10:这个就是先将磁盘做是RAID 1,也就是将数据同时写入两个磁盘,然后再将两个RAID 1做成RAID 0.将数据切成两份分别写到两个RAID 1里面.这样既提高了安全性,读写性能也有保证了.成本同RAID 1一样高.
4.如何实现RAID
说到如何连接RAID,这就不得不说到硬盘的连接方式了.计算机要处理数据就必须得把数据加载到内存来,而读写硬盘的指令因为不同类型,不同厂商的硬盘都不相同所以导致指令也不同.而CPU不可能包含所有的指令,所以这就产生了硬盘指令卡.厂商提供驱动程序,CPU通过驱动程序驱动指令卡,所有的I/O操作均由指令卡完成,这样减小了CPU的负担,提高了性能.指令卡为分集成和独立,普通PC机都是集成在板子上的,要构建RAID就必须用到专门的外置硬盘指令卡---RAID卡.
将RAID卡插在主机上,通过多条网线连接在磁盘阵列柜上,磁盘阵列柜里就可以插上许多硬盘.开机的时候通过BIOS设置好RAID级别.这样对于服务来说看见的就是设置好后的磁盘信息,而不是原生的磁盘.