RAID

- RAID的特点:

提高IO 能力:

磁盘并行读写

提高耐用性;

磁盘冗余来实现

级别:多块磁盘组织在一起的工作方式有所不同
RAID 实现的方式:

外接式磁盘阵列:通过扩展卡提供适配能力
内接式RAID :主板集成RAID 控制器
    安装OS 前在BIOS 里配置
软件RAID :通过OS 实现

- RAID级别:

RAID-0:

读、写性能提升;
可用空间:N*min(S1,S2,...)
无容错能力
最少磁盘数:2, 2

RAID-1:

读性能提升、写性能略有下降;
可用空间:1*min(S1,S2,...)
有冗余能力
最少磁盘数:2, 2N

RAID-4:

多块数据盘异或运算值,存于专用校验盘

RAID-5: :

读、写性能提升
可用空间:(N-1)*min(S1,S2,...)
有容错能力:允许最多1 块磁盘损坏
最少磁盘数:3, 3+

RAID-6:

读、写性能提升
可用空间:(N-2)*min(S1,S2,...)
有容错能力:允许最多2 块磁盘损坏
最少磁盘数:4, 4+

RAID-10: :

读、写性能提升
可用空间:N*min(S1,S2,...)/2
有容错能力:每组镜像最多只能坏一块
最少磁盘数:4, 4+

RAID-01 、RAID-50

RAID7:可以理解为一个独立存储计算机,自身带有操作系统和管理工具,可以独立运行,理论上性能最高的RAID模式

JBOD :Just a Bunch Of Disks

功能:将多块磁盘的空间合并一个大的连续空间使用
    可用空间:sum(S1,S2,...)

常用级别:RAID-0, RAID-1, RAID-5,

RAID-10,
RAID-50, JBOD

- 软RAID

  • mdadm :为软RAID 提供管理界面
  • 为空余磁盘添加冗余
  • 结合内核中的md(multi devices)
  • RAID 设备可命名为/dev/md0 、/dev/md1 、/dev/md2、/dev/md3等

- 软件raid的实现

mdadm
    -C:创建模式
        -n #:使用#个块设备来创建此 此RAID
        -l #:指明要创建的RAID 的级别
        -a {yes|no} :自动创建目标RAID 设备的 设备文件
        -c CHUNK_SIZE:  指明 块大小
        -x #:指明空闲盘 的个数
    -D:显示raid 的详细信息,打印 md 设备文件
        mdadm -D /dev/md#
    管理模式:
        -f:标记指定磁盘为损坏
        -a:添加磁盘
        -r:移除磁盘
    -s 扫描配置文件和丢失的文件信息
    -S 停止删除 md0(raid)
    -A 加入一个以前定义的阵列
    观察md 的状态:
        cat /proc/mdstat
  • Watch 实时跟踪查看信息
-n 间隔刷新时间 eg .5 间隔为 0.5 秒

软RAID配置示例:

使用mdadm 创建并定义RAID 设备
    mdadm -C /dev/md0 -a yes -l 5 -n 3 -x 1 /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1
用文件系统对每个RAID 设备进行格式化
    mke2fs -j /dev/md0
生成配置文件
    mdadm –D –s >> /etc/mdadm.conf
测试RAID 设备
使用mdadm 检查RAID 设备的状况
    mdadm --detail|D /dev/md0
增加新的成员
    mdadm –G /dev/md0 –n4 -a /dev/sdf1

软RAID的测试和修复

模拟磁盘故障
    mdadm /dev/md0 -f /dev/sda1
移除磁盘
    mdadm /dev/md0 –r /dev/sda1
从软件RAID 磁盘修复磁盘故障
    替换出故障的磁盘然后开机
    在备用驱动器上重建分区
    mdadm /dev/md0 -a /dev/sda1
mdadm 、/proc/mdstat及系统日志信息

软RAID 管理

> 生成配置文件:mdadm –D –s >>/etc/mdadm.conf    
    /etc/mdadm.conf配置文件为开机自启mdRAID设备的配置文件   
停止设备:mdadm –S /dev/md0    
激活设备:mdadm –A –s /dev/md0  激活    
强制启动:mdadm –R /dev/md0     
删除raid 信息:mdadm --zero-superblock /dev/sdb1     

删除raid

1 先取消挂载
2 停止raid mdadm -S /dev/md0
3 rm -rf 删除配置文件
4 vim /etc/fatab删除文件中的挂载信息
5 删除对应分区上的超级块中的raid信息或格式化分区  mdadm --zero-superblock /dev/sdb1

实验:

  • 创建raid10
法1,raid0和1分开创建
mdadm -C /dev/md0 -a yes -l 1 -n 2 /dev/sdb{1,2}         
mdadm -C /dev/md1 -a yes -l 1 -n 2 /dev/sdc{1,2}            
mdadm -C /dev/md2 -a yes -l 0 -n 2 /dev/md{0,1}      
法2.raid10同时创建      
dadm -C /dev/md0 -a yes -l 10 -n 4 /dev/sdb{1,2} /dev/sdc{1,2} 
  • 创建RAID5
mdadm -C /dev/md0 -a yes -l 5 -n 3 -x1 /dev/sd{a7,b,c1,d1}  -a 自动创建  -l raid级别  -n raid成员数 -x 热备盘   
mdadm  -D /dev/md0   查看raid状态
cat /proc/mdstat 
mdadm -Ds /dev/md0 > /etc/mdadm.conf  生成raid配置文件
mkfs.ext4 /dev/md0  格式化文件系统
vim /etc/fstab  挂载信息写入fstab文件   
  • 删除RAID
umount 先卸载raid设备 
mdadm  -S /dev/md0  停止md0设备
rm -f /etc/mdadm.conf 
vim /etc/fstab  删除fatab文件的挂载信息   
mdadm --zero-superblock /dev/sda7 清除Raid成员上raid元数据

你可能感兴趣的:(RAID)