磁盘阵列的英文名称是RedundantArrays of Inexpensive Disk(RAID),即容错廉价磁盘阵列。RAID可以通过一些技术(软件或者硬件)将多个较小的磁盘整合成为一个较大的磁盘设备;而这个较大的磁盘可不只是存储而已,它还具有数据保护的功能。整个RAID由于选择的等级(level)不同,而使得整合后的磁盘有不同的功能,基本常见的等级有这几种。
这种模式如果使用相同型号与容量的磁盘来组成时,效果较佳。这种模式的RAID会将磁盘先切出等量的区块(例如4KB),然后将一个文件写入RAID时,该文件的大小会依据块切割好,之后再依序放到各个磁盘里面去。由于每个磁盘会交错存放数据,因此当你的数据写入RAID时,数据会被等量放置在各个磁盘上面。举例来说,当你有两块磁盘组成RAID-0,但你有100MB的数据要写入时,每个磁盘会被分配到50MB的存储量。
使用此等级你必须自行承担数据损毁的风险,文件是被切割成为适合每块磁盘分区区块的大小,然后再依序放到各个磁盘中。如果某一个磁盘损毁了。那么文件数据将缺一块,此时这个文件就损毁了。由于每个文件都是这样存放的,因此RAID-0只要有任何一块磁盘损毁,在RAID上面的所有数据都会丢失而无法存储。
这种模式也需要相同的磁盘容量的,最好是一模一样的磁盘。如果是不同容量的磁盘组成RAID-1时,那么总容量将以最小的那一块磁盘主!这种模式主要是让同一份数据完整保存在两块磁盘上面。举例来说,如果我有一个100MB的文件,且我仅有两块磁盘组成RAID-1时,那么这两块磁盘将会同步写入100MB到他们的存储中去。因此,整体RAID的容量几乎少了50%。由于两块磁盘内容一模一样,好像镜子映照出来一样,所以我们也称它为mirror(镜像)模式。
由于两块磁盘内的数据一模一样,所以任何一块磁盘损毁时,你的数据还是可以完整保留下来。所以我们说,RAID-1最大的优点就在于数据备份。不过由于磁盘容量有一半用在备份,因此总容量会是全部磁盘容量的一半而已。虽然RAID-1写入性能不佳,不过读取的性能还可以。
RAID0+1就是先让两块磁盘组成RAID0,并且这样的设置共有两组;然后将这两组RAID0再组成一组RAID1,这就是RAID0+1。反过来说,RAID1+0就是先组成RAID-1再组成RAID-0的意思。
由于具有RAID0的优点,所以性能得以提升,由于具有RAID1的优点,所以数据得以备份。但是也由于RAID1的缺点,所以总容量会少一半用来做备份。
RAID-5至少需要三块以上的磁盘才能够组成这种类型的磁盘阵列。这种磁盘阵列的数据写入优点类似RAD-0,不过每个循环的写入过程中,在每块磁盘还加入一个同位检验数据(Parity),这个数据会记录其他磁盘的备份数据,用于当有磁盘损毁时的救援。
每个循环写入时,都会有部分的同位检查码(parity)被记录起来,并且记录的同位检查码每次记录在不同的磁盘,因此,任何一个磁盘损坏时都能通过其他磁盘的检查码来重建原本磁盘内的数据。由于有同位检查码,因此RAID5的总容量会是整体磁盘数量减一块。
数据安全与可靠性 :指的并非信息安全,而是当硬件(指磁盘)损毁时,数据是否还能够安全救援或使用之意;
读写性能 :RAID 0可增加读写性能,让你的系统I/O部分得以改善。
容量 :可以让多块磁盘组合起来,故单一文件系统可以有相当大的容量。
RAID是“Redundant Array of Independent Disk”的缩写,中文意思是独立冗余磁盘阵列。冗余磁盘阵列技术诞生于1987年,由美国加州大学伯克利分校提出。简单地说就是将N块硬盘通过RAID Controller(分Hardware,Software)结合成虚拟单块大容量的硬盘使用,其特色是N台硬盘同时读取速度加快及提供容错性(Fault Tolerant),所以RAID是当成平时主要访问数据的Storage不是Backup Solution
• RAID 0又称为Stripe或Striping,中文译为集带工作方式,有时也可以理解为“拼凑”
• 它是将要存取的数据以条带状形式尽量平均分配到多个硬盘上,读写时多个硬盘同时进行读写,从而提高数据的读写速度。RAID 0另一目的是获得更大的“单个”磁盘容量
• 硬盘数量:最少 2 个
A和B分别为两块硬盘,C为实行了Raid0之后的硬盘
A和B都为读写速度为300M的1T的硬盘,C为实行了Raid0以后的硬盘。它的读写速度可以达到600M,容量为2T。但缺点是一旦A或B损坏,C里所有数据丢失
因为在计算机看来它是一整块硬盘,在写的时候也是按照随机把数据写入A,B的。比如一个数据123456,把135写入了A,246写入了B,如果A坏了,B里的数据也没了意义
• 又称为Mirror或Mirroring,中文译为镜像方式
• 这种工作方式的出现完全是为了数据安全考虑的,它是把用户写入硬盘的数据百分之百地自动复制到另外一个硬盘上或硬盘的不同地方(镜像)。当读取数据时,系统先从RAID 1的源盘读取数据,如果读取数据成功,则系统不去管备份盘上的数据;如果读取源盘数据失败,则系统自动转而读取备份盘上的数据,不会造成用户工作任务的中断
• 由于对存储的数据进行百分之百的备份,在所有RAID级别中,RAID 1提供最高的数据安全保障。同样,由于数据的百分之百备份,备份数据占了总存储空间的一半,因而,Mirror的磁盘空间利用率低,存储成本高
• 硬盘数量:最少 2 个
A和B分别为两块硬盘,C为实行了Raid1之后的硬盘
A和B都为读写速度为300M的1T的硬盘,也就是A里面写什么B里面就写什么。B为A的备份。
读写速度为300M,容量为1T
• 先做Raid1,再做Raid0
• 硬盘数量:最少 4个
A,B,C,D分别为四块硬盘,E为实行了Raid10之后的硬盘
ABCD都为读写速度为300M的1T的硬盘,Raid10为AB和CD为实行了Raid1以后实行Raid0以后的硬盘。这样读写速度为600M,容量为2T
• Raid5是一种存储性能、数据安全和存储成本兼顾的存储解决方案,也是目前应用最广泛的RAID技术
• 各块独立硬盘进行条带化分割,相同的条带区进行奇偶校验 (异或运算),校验数据平均分布在每块硬盘上
• 以n块硬盘构建的RAID 5阵列可以有2/3块硬盘的容量,存储空间利用率非常高
• RAID 5不对存储的数据进行备份,而是把数据和相对应的奇偶校验信息存储到组成RAID5的各个磁盘上,并且奇偶校验信息和相对应的数据分别存储于不同的磁盘上。当RAID 5的任何一块硬盘上的数据丢失,均可以通过校验数据推算出来
• 硬盘数量:最少 3个
一共3T的硬盘,最后的容量可能会达到2T~2.6T左右。不怕硬盘坏一块,坏一块还能通过校验和推算出来数据。但坏两块及两块以上数据就没有了意义
• 先做Raid5,再做Raid0
• 硬盘数量:最少 6个
• 一般的中高档服务器多使用硬件RAID控制器来实现Hardware RAID,但是由于硬件RAID控制器的价格昂贵,导致系统成本大大增加。而随着处理器的性能快速发展,使得软件RAID的解决方法得到人们的重视
• SoftWare Raid即软件磁盘阵列,软件RAID使您可以将两个或多个块设备(通常是磁盘区)组合为单个 RAID 设备(/dev/mdX)
• 例如:假定有三个空分区:hda3、hdb3 和 hdc3。使用软件 RAID管理工具mdadm就能将这些分区组合起来
mdadm工具是一个管理软件RAID的独立程序,它能完成所有的软RAID管理功能
mdadm常用选项
• -A <阵列设备名>, --assemble:加入一个以前定义的阵列
• -C <阵列设备名>, --create:创建一个新的阵列
• -D <阵列设备名>, --detail:显示 md device 的详细信息
• -a yes :自动创建md阵列文件
• -l, --level=:设定 raid level
• -s, --scan:扫描配置文件或 /proc/mdstat以搜寻丢失的信息
• -n, --raid-devices=:指定阵列中可用 device 数目,这个数目只能由 --grow 修改
-x, --spare-devices=:指定初始阵列的富余device 数目
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)