随着互联网的发展,相信每个人都对自己存储的数据越来越重视,毕竟储存数据包含着很多个人隐私。基于此,对于那些比较重视隐私的小消费者来说,往往会选择一台NAS来保存一些照片、视频、音频等自己的数据,而不使用云盘。但在选择NAS的时候,介绍页中会经常会看到磁盘阵列(RAID)这一名词,不少人表示疑惑,什么是磁盘阵列(RAID)呢?
在计算机欠发达的年代,电脑往往只能通过单块磁盘进行数据的存储和读写,但寻址和读写的时间非常慢,这会让数据的读写性能变得很低,一旦磁盘因碰撞受到损坏,磁盘里面的数据会存在消失而无法恢复的隐患,这很容易造成非常严重的后果。
为了解决这一问题,储存界想出了将多块独立的磁盘结合在一起的方案来避免这些问题,从而提高数据的可靠性和数据读写性能。后来随之RAID技术就应运而生,也就是磁盘阵列。
值得注意的是,磁盘阵列适用范围仅限于多块硬盘,而电脑只有一块硬盘是没有办法组成磁盘阵列的。如果没有磁盘阵列,即使有多块硬盘,在正常情况下也是每个磁盘相互独立工作互不干涉,这往往会出现一块硬盘疯狂工作,剩下硬盘纹丝不动的情况,等于磁盘的利用率得不到完全的发挥。但当多个硬盘组成磁盘阵列时,每一块硬盘的性能就能发挥到极致,这就是磁盘阵列。
目前RAID方案可以分为以下几个:
RAID 0
RAID 1
RAID 5
RAID 6
RAID 10
RAID 0你了解吗?工作方式类似于双通道内存
RAID 0是最简单磁盘阵列的方式,工作方式类似于双通道内存,它将多块磁盘组合在一起形成一个大容量的存储空间。当数据要写入时,会将数据分为若干个小数据,以独立的方式实现多块磁盘的读写,这些被分开的小数据会同时写入磁盘中,大大提高了读写的速度,因此执行性能非常高。
不过这种方案存在明显的缺点,首先不提供数据校验和冗余备份,一旦其中一块硬盘损坏了,数据就直接丢失无法恢复了。这种方案不会应用在数据安全要求比较高的情况中,但对于可靠性要求不高,提升读写性能的场景还是不错的。那有没有什么办法能让数据的可靠性变高呢?RAID 1便出现了。
RAID 1镜像模式:最安全的RAID模式
RAID 1又称镜像模式,这是目前最安全的RAID模式,它的原理是在往磁盘写数据的时候,将同一份数据无差别的写两份到磁盘,分别写到工作磁盘和镜像磁盘,那么它的实际空间使用率只有50%了,两块磁盘当做一块用,自然这种方案比较昂贵。
这好比有两块硬盘,里面的数据都是一样的,如果一块硬盘出现了问题,另一块硬盘保证数据的安全。所以数据的可靠性非常强,但也就牺牲了性能。
RAID 5与RAID 3之间:有哪些少为人知的秘密?
上面的两种方案都优缺点,为了弥补这一不足,RAID 5应运而生。RAID 5是目前使用最多的一种方案,这一方案在读写性能、数据安全和成本等多个方面非常平衡。RAID 5的工作原理是由RAID 3演变而来的,不过RAID 3目前使用的非常少,所以可以忽略。
RAID 3的方式是将数据按照RAID 0的形式,分成多份同时写入多块磁盘,还会另外再留出一块磁盘用于写“奇偶校验码”。例如总共有N块磁盘,那么就会让其中额度N-1块用来并发的写数据,第N块磁盘用记录校验码数据。一旦某一块磁盘坏掉了,就可以利用其它的N-1块磁盘去恢复数据。
而RAID 5其实就是对RAID 3进行了改进。RAID 3方案中第N块磁盘是校验码磁盘,因此有任何数据的写入都会要去更新这块磁盘,导致这块磁盘的读写是最频繁的,而这非常容易损坏。
不过在RAID 5方案中,不再需要用单独的磁盘写校验码了。它把校验码信息分布到各个磁盘上。这就意味着,如果其中一块硬盘损坏了,还可以通过剩余的两块硬盘将损坏硬盘中的数据恢复出来。等于就是一块硬盘中存着数据,同时还存着其他两块硬盘的备份。
但这也会存在缺点的,首先是要组成RAID 5,最少需要3块硬盘,其次,RAID 5最多只能允许其中一块硬盘损坏,如果同时损坏2块硬盘,完整的数据也是无法恢复的。
RAID 6:双重校验,保障数据可恢复
为了照顾应对上述的磁盘阵列的缺点,RAID 6出现了。RAID 6可以在有两块磁盘同时损坏的情况下,也能保障数据可恢复。
因为RAID 6在RAID 5的基础上再次改进,引入了双重校验的概念。RAID 6除了每块磁盘上都有同级数据XOR校验区以外,还有针对每个数据块的XOR校验区,这样的话,相当于每个数据块有两个校验保护措施,因此数据的冗余性更高了。
其实说白了,RAID 6就是在RAID 5的基础上特意增加一块容灾硬盘,来避免出现两块硬盘同时损坏而导致数据丢失的问题。另一方面,它也存在一些不足,虽然数据冗余性好,读取的效率也比较高,但是写数据的性能就很差,这导致RAID 6在实际环境中的应用比较少。
RAID 10:RAID 0和RAID 1的结合体
RAID10兼备了RAID 1和RAID 0的有优点。首先基于RAID 1模式将磁盘分为2份,当要写入数据的时候,将所有的数据在两份磁盘上同时写入,相当于写了双份数据,起到了数据保障的作用。
在每一份磁盘上又会基于RAID 0技术讲数据分为N份并发的读写,这样也保障了数据的效率,不过RAID 10也有着很多的问题,在RAID 10模式下,有一半的空间都存着备份的数据,浪费非常严重。可看出除非资金充足的情况下,大多数人一般是不会使用RAID 10。