首页 > 代码库 > RAID(磁盘阵列)使用

RAID(磁盘阵列)使用

    磁盘阵列是由很多价格较便宜的磁盘,组合成一个容量巨大的磁盘组,利用个别磁盘提供数据所产生加成效果提升整个磁盘系统效能。利用这项技术,将数据切割成许多区段,分别存放在各个硬盘上,即使有一块损坏,也不会丢失数据,还可以继续使用。



RAID的简介(磁盘阵列):


什么是RAID:多个磁盘合成一个“阵列”来提供更好的性能、冗余,或者两者都提供;

RAID的功能:

    提高IO 能力:

        磁盘并行读写;

    提高耐用性:

        磁盘冗余来实现;

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

RAID 实现的方式:

    外接式磁盘阵列:通过扩展卡提供适配能力;

    内接式RAID :主板集成RAID 控制器;

        安装OS前在BIOS 里配置;

    Software RAID:



RAID 级别:


    RAID-0 :条带卷,strip

    RAID-1:  镜像卷,mirror

    RAID-2

    ..

    RAID-5

    RAID-6

    RAID-10

    RAID-01

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 :模式化的工具;

    命令的语法格式:mdadm [mode] <raiddevice> [options]<component-devices>;

    支持的RAID 级别:LINEAR, RAID0, RAID1, RAID4,RAID5, RAID6, RAID10;

    模式:

        创建模式:-C

            -n #:  使用# 个块设备来创建此RAID;

            -l # :指明要创建的RAID 的级别;

            -a {yes|no} :自动创建目标RAID 设备的设备文件;

            -c CHUNK_SIZE:  指明块大小;

            -x #:  指明空闲盘的个数;

        显示模式:-D (显示raid 的详细信息)

            mdadm -D /dev/md#

        管理模式:-f, -r, -a

            -f:  标记指定磁盘为损坏

            -a:  添加磁盘

            -r:  移除磁盘

        装配: -A

        监控: -F

<raiddevice>: /dev/md#

<component-devices>:  任意块设备

观察md 的状态:

    cat /proc/mdstat

停止md 设备:

    mdadm -S /dev/md#



软RAID管理:


生成配置文件:mdadm –D –s >> /etc/mdadm.conf

停服务:mdadm –S /dev/md0

激活:mdadm –A –s /dev/md0

删除raid 信息:mdadm –zero-superblock /dev/sdb1

软RAID测试和修复:

    模拟磁盘故障:

        #mdadm /dev/md0 -f /dev/sda1

    移除磁盘:

        #mdadm /dev/md0 –r /dev/sda1

    从软件RAID 磁盘修复磁盘故障:

        替换出故障的磁盘然后开机;

        在备用驱动器上重建分区;

        #mdadm /dev/md0 -a /dev/sda1

    mdadm 、/proc/mdstat 及系统日志信息



实现软件raid实例:


1、fdisk t fd  (磁盘或分区转换RAID格式)

技术分享

2、创建raid设备

    mdadm -C /dev/md0 -a yes -l 5  -n 4 -x1 /dev/sd{b2,c1,c2,d1,d2}1  (同意 创建RAID设备 md0 -l  是RAID的级别,-n 使用几块组成RAID,-x  备用的块数 )

技术分享

    mdadm -D /dev/md0 (显示创建的RAID)

技术分享

3、mkfs.ext4 /dev/md0  (给 md0 创建文件系统)

技术分享

4、vim /etc/fstab (编辑配置文件)

技术分享

5、mdadm  -Ds /dev/md0 > /etc/mdadm.conf 生成配置文件

 技术分享

6, 启动raid

mdadm -A /dev/md0

技术分享

7,测试

    mdadm /dev/md0 -f /dev/sdb2 模拟损坏

技术分享

技术分享

    mdadm /dev/md0 -r /dev/sdb2删除成员

技术分享

技术分享

    mdadm /dev/md0 -a /dev/sdf1 增加

技术分享

技术分享

    mdadm -G /dev/md0 -n 6 -a /dev/sdd4 增加成员

技术分享

7、删除raid

    umount /mnt/raid  (取消挂载)

技术分享

    mdadm -S /dev/md0 停止raid

技术分享

    rm -f /etc/mdadm.conf  (删除配置文件)

技术分享

    vi /etc/fstab (删除编辑的配置文件)

    fdisk /dev/sda  (删除RAID的成员)

    mdadm --zero-superblock /dev/sdd1(清除RAID的信息)

技术分享


RAID(磁盘阵列)使用