RAID:Redundant Array of Independent Disks.--------------独立磁盘的冗余列阵
一,硬件RAID
RAID级别:这里所说RAID级别不代表RAID性能的高低,仅代表不同组成方式编号。
RAID0:
①条带形式存储数据。
②读写性能都得以提升。
③需要至少需要2块磁盘。
④不做数据备份,其中任何一块盘损坏都无法运行。
⑤磁盘利用率100%。
RAID1:
①镜像模式,由列阵中一组磁盘复制另一组磁盘的全部数据。
②读取性能提升,写入性能降低。
③需要至少需要2块磁盘,需要成对出现。
④数据备份,其中一块盘损坏可继续正常运行。
⑤磁盘利用率50%。
RAID2:了解比较少,据说是因为历史原因,已经很少被使用。
RAID3:
①把数据分成多个小"块"(按bit存储)存放在N+1个磁盘中。读写性能提升。
②有一块盘专门用来存储校验码,校验盘的性能可能会成为阵列瓶颈。
③至少需要3块磁盘。
④其中一块盘损坏时,可以根据校验盘以及其他的磁盘信息来进行恢复。
同时坏2块或以上磁盘,则无法正常工作。但同时坏2块磁盘的几率较小,所以数据安全性相对较高。
⑤磁盘利用率N-1/N。
RAID4:
①与RAID3相似,也是将数据分成多个块(按数据块存储),读写性能提升。
②有一块盘校验盘,用来存储其他所有盘的奇偶校验码,校验盘的性能可能会成为阵列瓶颈。
③至少需要3块磁盘。
④其中一块盘损坏时,可以根据校验盘以及其他的磁盘信息来进行恢复。
但是相较RAID3,数据恢复难度比较大。
⑤磁盘利用率(N-1)/N。
RAID5:
①RAID5可以说是RAID0盒RAID1的折中。同RAID4一样,也是将数据块分别存储到多个磁盘,读写性能提升。
②同RAID3和RAID4不同,RAID5不是由一块磁盘作为专用的校验信息存储盘,而是轮流把校验信息存在所有磁盘上。
③至少需要3块磁盘
④其中一块磁盘损坏时,可以根据其他磁盘上的校验信息进行恢复。
⑤磁盘利用率(N-1)/N
RAID10:
①相当于RAID1+0,先进行镜像备份,再进行条带存储。
既,先生成2个RAID1,再将这2个RAID1根据条带组合成一个RAID0
②读写性能提升,既有RAID0的高性能读写,又有RAID1的安全性。
③至少需要4块磁盘。
④此外还有RAID01,与RAID10相反,先进行条带存储,再进行镜像备份。
但相较RAID10,数据恢复性能方面略差。
二,软件RAID
mdadm:
模式化的命令:
① -C:创建模式
-l RAID_LEVEL:阵列级别
-n #:磁盘数量(将多少块磁盘组成阵列)
-x #:指定备用的空闲盘数量
-a {yes|no}:自动为其创建设备文件。
-c:指定块(chunk)大小,默认为64KB(2的整数倍)
②管理模式:--add | -a, --remove | -r
mdadm -D 设备 可以查看RAID阵列的详细信息
mdadm -S | --stop /dev/md# 用来停止阵列
模拟将sda8设为损坏(faulty spare)
mdadm /dev/md1 -f | --fail | --set -faulty /dev/sda8
hot remove:
mdadm /dev/md1 -r /etc/sda8
mdadm /dev/md1 -a /etc/sda9 这里的-a表示--add,是把空闲磁盘加入到阵列中,和创建模式-C的-a不同。
③监控模式:-F
④增长模式:-G
⑤装配模式:-A
/proc/mstat 文件中记载着所有已经启用的RAID设备。
mdadm -A /dev/md# /etc/sda7 /etc/sda9 启用阵列md#
由于,每次启动都需要指明RAID以及RAID中的磁盘,如果磁盘数量过多,会很麻烦。(还要浪费脑细胞去记忆),所以
为了解决这个烦恼可以用下面的方法。
①扫描系统列阵信息并自动将扫描信息写入到配置文件。
mdadm -D --scan > /etc/mdadm.conf
②启动RAID阵列,此时会自动将/etc/mdadm.conf中记载的RAID阵列启用。
mdadm -A /etc/md#