Raid-独立磁盘冗余阵列
多个独立的物理磁盘按照不同的方式组合起来,形成一个虚拟磁盘。
常用的级别是:
RAID0,(raid0是以条带的形式将数据均匀分布在阵列的各个磁盘上。例如40G的数据,RAID0就是将数据平分为两个20G,两个磁盘分别放20G的数据)称为Stripe或Striping,中文译为集带工作方式。它是将要存取的数据。
优点:极高的磁盘读写效率,不存在校验,不会占用太多的CPU资源,使用和配置比较简单。
缺点:无冗余,不能用于对数据安全性要求高的环境。
适用领域:视频生成和编辑、图像编辑,其它需要大的传输带宽的操作。
RAID1,(RAID1以镜像为冗余方式,对虚拟磁盘上的数据做多份拷贝,放在成员磁盘上,所需成员磁盘数为2N个,N>=1,最低为2个。数据大小为40G,两个盘分别存40G)
优点:具有100%数据冗余,提供最高的数据安全保障,理论上可以实现2倍的读取效率,设计和使用比较简单
缺点:开销大,空间利用率只有50%,在写性能方面提升不大
适用领域:财务,金融等高可用、高安全的数据存储环境
RAID01,先做RAID0再做RAID1。假设有60G的数据,先将数据分为两个30G,将第一个30G放入A组的每一个磁盘中,将第二个30G放入B组的每一个磁盘中。
RAID10,用的较多,先做RAID1,再做RAID0。假设有60G的数据,先将60G的数据复制两份,将第一个60G平分分别存入A组的每一个磁盘中,将第二个60G平分分别放入B组的每一个磁盘中。所需成员磁盘数:2N,N>=2,最低为4个。
优点:读性能很高,写性能比较好,数据安全性好,允许同时有N个磁盘失效。
缺点:空间利用率只有50%,开销大。
适用领域:多用于要求高可用性和高安全性的数据库应用。
RAID2,采用校验冗余:把数据分散为位或块,加入汉明码,间隔写入到磁盘阵列的每个磁盘中。采用了并行存取方式。花费大,成本昂贵。(不用)
RAID3,数据块被分为更小的块并行传输到各个成员磁盘上,同时计算XOR检验数据存放到专用的校验磁盘上。(基本不用)
RAID4,数据被分为更大的块并行传输到各个成员磁盘上,同时计算XOR校验数据存放到专用的校验磁盘上。(基本不用)
RAID3和4的区别:RAID3的数据块比RAID4的小。
RAID5,采用独立存取的阵列方式,校验信息被均匀的分散到阵列的各个磁盘上。所需成员磁盘数,3个或更多,最低为3个。允许损坏一块磁盘,磁盘使用率为(N-1)/N。
优点:读性能比较高,中等的写性能,检验信息的分布式存取,避免出现写操作的瓶颈。
缺点:控制器设计复杂,磁盘重建的过程比较复杂
适用领域:文件服务器,Email服务器,web服务器等环境数据库应用。
RAID6,是指带有两种分布存储的校验信息的磁盘阵列,它是对RAID5的扩展,主要是用于要求数据绝对不能出错的场合,使用了两种奇偶校验方法,需要N+2个磁盘。使用率为(N-2)/N,允许损坏两个磁盘。
RAID7,自身带有智能化实时操作系统和用于存储管理系统的软件工具,可以完全独立与主机运行,不占用主机cpu资源。
RAID50,先做RAID5再做RAID0。所需成员磁盘数:6个或更多,最低为6个
优点:比RAID5有更好的读性能,比相同容量的RAID5重建时间更短,可以容许N个磁盘同时失效。
缺点:设计复杂,比较难实现;同一个RAID5组内的两个磁盘失效会导致整个阵列的失效。
适用领域:大型数据库服务器、应用服务器、文件服务器等。
常用RAID级别的比较:
RAID级别 | RAID0 | RAID1 | RAID3 | RAID5 | RAID10 |
别名 | 条带 | 镜像 | 专用奇偶位条带 | 分布奇偶位条带 | 镜像阵列条带 |
容错性 | 无 | 有 | 有 | 有 | 有 |
冗余类型 | 无 | 镜像 | 奇偶校验 | 奇偶校验 | 镜像 |
备盘 | 无 | 有 | 有 | 有 | 有 |
读性能 | 高 | 低 | 高 | 高 | 中间 |
随机写性能 | 高 | 低 | 最低 | 低 | 中间 |
连续写性能 | 高 | 低 | 低 | 低 | 中间 |
需要的磁盘数 | 2个或更多 | 2个或2N个 | 3个或更多 | 3个或更多 | 4个或2N |
可用容量 | 总的磁盘容量 | 磁盘容量的50% | 磁盘容量的(N-1)/N | 磁盘容量的(N-1)/N | 磁盘容量的50% |
创建软RAID
用分区做RAID,需要修改分区类型:fd
[root@csa ~]# mknod /dev/md1 b 9 1//创建设备
这个设备叫/dev/md1,b块设备,RAID的主设备号为9,从设备号1
[root@csa ~]# mdadm -C /dev/md1 -l 5 -n 3 /dev/sda6 /dev/sda7 /dev/sda8//创建raid,-l表示RAID5,-n表示创建3块
[root@csa ~]# mdadm -Ds /dev/md1//查看
[root@csa ~]# mkfs.ext4 /dev/md1//格式化
挂载 mount /dev/md1 /1
[root@csa ~]# mdadm /dev/md1 -f /dev/sda7//设置/dev/sda7为不可用
[root@csa ~]# mdadm /dev/md1 -r /dev/sda7 //移除/dev/sda7
[root@csa ~]# mdadm /dev/md1 -a /dev/sda9//添加一块新的
移除RAID:
先卸载
将分区均标记为不可用(-f),再移除(-r)
[root@csa ~]# mdadm -S /dev/md1//停用它
[root@csa ~]# rm -rf /dev/md1//删除它
创建硬件RAID
添加磁盘
[root@csa ~]# mknod /dev/md2 b 9 2
[root@csa ~]# mdadm -C /dev/md2 -l 6 -n 4 /dev/sdc /dev/sdd /dev/sde /dev/sdf
[root@csa ~]# mkfs.ext4 /dev/md2
[root@csa ~]# mdadm -Ds /dev/md2
挂载
[root@csa ~]# mdadm /dev/md2 -f /dev/sdc
[root@csa ~]# mdadm /dev/md2 -f /dev/sdc
[root@csa ~]# mdadm -Ds /dev/md2
[root@csa ~]# mdadm /dev/md2 -r /dev/sdc
[root@csa ~]# mdadm /dev/md2 -a /dev/sdg
创作者:Eric· Charles