天天看点

磁盘阵列 raid 0 1 5 10

RAID 概念

校验方式用在 RAID 重建中从校验所保存的信息中重新生成丢失的内容。 RAID 5,RAID 6 基于校验。

条带化是将切片数据随机存储到多个磁盘。它不会在单个磁盘中保存完整的数据。如果我们使用2个磁盘,则每个磁盘存储我们的一半数据。

镜像被用于 RAID 1 和 RAID 10。镜像会自动备份数据。在 RAID 1 中,它会保存相同的内容到其他盘上。

热备份只是我们的服务器上的一个备用驱动器,它可以自动更换发生故障的驱动器。在我们的阵列中,如果任何一个驱动器损坏,热备份驱动器会自动用于重建 RAID。

块是 RAID 控制器每次读写数据时的最小单位,最小 4KB。通过定义块大小,我们可以增加 I/O 性能。

RAID有不同的级别。在这里,我们仅列出在真实环境下的使用最多的 RAID 级别。

RAID0 = 条带化

RAID1 = 镜像

RAID5 = 单磁盘分布式奇偶校验

RAID6 = 双磁盘分布式奇偶校验

RAID10 = 镜像 + 条带。(嵌套RAID)

RAID 0 / 条带化

RAID 1 / 镜像化

RAID 5 / 分布式奇偶校验

RAID 6 双分布式奇偶校验磁盘

RAID 10 / 镜像+条带

硬件raid卡:亚当普特克、美国巨积(参数:级别,接口,数据传输,插槽类型等)

软raid:

raid0:striping条带模式,至少需要两块磁盘,做RAID分区最好是相同的(可以充分发挥并发优势);数据分散存储在不同的磁盘上,在读写的时候可以实现并发,但是没有容错功能;任何一个磁盘损坏将损坏全部数据;磁盘利用率为100%

raid1:mirroring镜像卷,raid大小等于两个raid分区最小的容量(最好将分区大小分为一样),数据有冗余,在存储时,同时写入两块磁盘,实现数据备份;磁盘利用率为50%

raid5:需要3块或以上的硬盘,可以提供热备盘实现故障的恢复;只损坏一块没有问题,但如果同时损坏两块磁盘,则数据会损坏;空间利用率 (n-1)/n;raid5校验位算法原理:使用简单的异或逻辑运算,相同为0,相异为1

软raid管理工具mdadm

命令参数:

-C或--creat               建立一个新阵列

-A                             激活磁盘阵列

-D或--detail              打印磁盘阵列详细信息

-s或--scan                 打印配置文件/proc/mdstat得到阵列缺省信息

-f                               将设备状态定位故障

-a或--add                  添加设备到阵列

-v                              显示详细信息

-r                               移除设备

-l或--level=               设定磁盘阵列的级别

-n或--raid-devices=  指定阵列成员(分区/磁盘)的数量

-x或--spare-devices  指定阵列中备用盘的数量

-c或--chunk=            设定阵列的块chuank(类似于block)大小,单位为KB

-G或--grow               改变阵列大小或形态

-E或--examine          打印 device 上的 md superblock 的内容

热备份盘(host spare or hot standy driver):为了加强容错功能以及使系统在磁盘故障时能迅速重建数据,以维持系统的性能,一般的磁盘阵列系统都可使用热备份功能

一、创建raid0

1) 创建raid0

2) 创建磁盘阵列配置文件

3) 分区;格式化;挂载到指定目录

4) 修改/etc/fstab开机自动挂载

环境:添加一个sdb硬盘,分两个1G的主分区(实际线上为两个独立的磁盘),sdb1和sdb2

1. 分区

说明:分两个主分区:sdb1 、sdb2,各为1G

命令 fdisk /dev/sdb

说明:查看分区,8表示硬盘,16,17,18表示分区

命令 ls -l  /dev/sdb*

<a href="http://s2.51cto.com/wyfs02/M02/8D/4C/wKioL1iW5D7zh_qEAAAQ6WHVfuo146.png" target="_blank"></a>

2. 创建磁盘阵列

说明:C表示创建,v显示详情,l级别,n硬盘数量

命令 mdadm -C -v /dev/md0 -l 0 -n 2 /dev/sdb1 /dev/sdb2

<a href="http://s4.51cto.com/wyfs02/M01/8D/4C/wKioL1iW5N3xatimAAAlR21Bjds140.png" target="_blank"></a>

2.1 扫描出阵列信息

命令 mdadm -Ds

2.2 查看RAID级别

命令cat /proc/mdstat

<a href="http://s4.51cto.com/wyfs02/M00/8D/4C/wKioL1iW5JbB2Ex5AAAT8v_Y2us496.png" target="_blank"></a>

2.3 查看RAID设备

命令mdadm -E /dev/sdb[1-2]

<a href="http://s3.51cto.com/wyfs02/M00/8D/4E/wKiom1iW5KLBvQECAAA8va6Cu1M393.png" target="_blank"></a>

2.4 查看RAID阵列:

     命令 mdadm -D /dev/md0

     说明:Spare、 Failed分别表示备份、坏掉的磁盘,都为0;Chunk Size表示块的大小,512K;State状态为sync

3. 生成raid配置文件

   说明:默认没有配置文件

命令 mdadm -Ds &gt; /etc/mdadm.conf

<a href="http://s2.51cto.com/wyfs02/M01/8D/4E/wKiom1iW5MKRScq5AAAZblNcxTs174.png" target="_blank"></a>

4. 先分区;再格式化;然后挂载

4.1 分区

命令 fdisk /dev/md0

<a href="http://s2.51cto.com/wyfs02/M01/8D/4E/wKiom1iW5QDQokobAABT-FCByNk705.png" target="_blank"></a>

4.2 格式化

命令 mkfs.ext4 /dev/md0p1

<a href="http://s2.51cto.com/wyfs02/M02/8D/4E/wKiom1iW5Q_BPW4zAACECJBb7_o357.png" target="_blank"></a>

4.3 挂载

命令 mkdir /raid0

命令 mount /dev/md0p1  /raid0/

<a href="http://s1.51cto.com/wyfs02/M01/8D/4C/wKioL1iW5TvRKo9gAAAgLFXCqF8043.png" target="_blank"></a>

5. 开机自动挂载

   说明:修改配置文件 /etc/fstab

添加:/dev/md0p1   /raid0   ext4   defaults  0 0

<a href="http://s4.51cto.com/wyfs02/M02/8D/4C/wKioL1iW5UqwWptmAAAeSSxiVfE628.png" target="_blank"></a>

6. 重启

<a href="http://s2.51cto.com/wyfs02/M02/8D/4E/wKiom1iW5VeQ5GkQAAAp-1V-hbc171.png" target="_blank"></a>

二、创建raid1          

1)建立raid1

2)添加1G热备盘

3)模拟磁盘故障,自动顶替故障盘

4)卸载阵列并删除整个阵列

环境:创建分区,sdb1,sdb2,sdb3大小为1G

1. 创建三个主分区

<a href="http://s5.51cto.com/wyfs02/M01/8D/4C/wKioL1iW5yDRVn50AAATjHO1O9E543.png" target="_blank"></a>

2. 创建阵列,-x 1 热备盘为1

<a href="http://s5.51cto.com/wyfs02/M00/8D/4C/wKioL1iW5zuRsSnNAAA7JAkukXs541.png" target="_blank"></a>

2.1 查看raid信息

<a href="http://s2.51cto.com/wyfs02/M01/8D/4E/wKiom1iW50mA0C9KAAAh5oMjr78492.png" target="_blank"></a>

2.2 查看raid状态

<a href="http://s1.51cto.com/wyfs02/M02/8D/4E/wKiom1iW51Tjqz1LAAAUg74DVa4321.png" target="_blank"></a>

3. 创建配置文件

<a href="http://s5.51cto.com/wyfs02/M01/8D/4C/wKioL1iW52Lztd5tAAAaPV85Bic683.png" target="_blank"></a>

4. 创建主分区、格式化

说明:大小不填,直接回车,即所有分区大小给它

<a href="http://s3.51cto.com/wyfs02/M02/8D/4E/wKiom1iW53XQkNnsAAAPcHK_3N8450.png" target="_blank"></a>

<a href="http://s4.51cto.com/wyfs02/M02/8D/4C/wKioL1iW53XSeXoIAAAOL6sS5XY908.png" target="_blank"></a>

<a href="http://s4.51cto.com/wyfs02/M00/8D/4E/wKiom1iW53WgE8CUAABqLjsvUjM977.png" target="_blank"></a>

5. 挂载

<a href="http://s1.51cto.com/wyfs02/M00/8D/4E/wKiom1iW54vAfI7qAAAfHk1iuug241.png" target="_blank"></a>

6. 模拟故障

查看分析:s表示热备盘,两个都OK,2/2

<a href="http://s5.51cto.com/wyfs02/M00/8D/4C/wKioL1iW56eR_81bAAAUdiO3SCg647.png" target="_blank"></a>

相比raid0,配置文件多了个spare,表示热备盘数量

<a href="http://s2.51cto.com/wyfs02/M01/8D/4E/wKiom1iW57WQ0y0CAAAaVmbuT0M405.png" target="_blank"></a>

说明:每1秒钟,执行后面的命令(将sdc设置为故障盘,执行命令前,先在打开一台机器,观察)

<a href="http://s1.51cto.com/wyfs02/M00/8D/4C/wKioL1iW58Ljn33_AAAiUUc4IjA766.png" target="_blank"></a>

设置故障盘命令:mdadm -f /dev/md1 /dev/sdb1

观察切换过程

<a href="http://s4.51cto.com/wyfs02/M01/8D/4E/wKiom1iW5-PitE9OAAAqqS9HUw0634.png" target="_blank"></a>

<a href="http://s4.51cto.com/wyfs02/M01/8D/4C/wKioL1iW5-OT7ddYAAAU9_k_Buw927.png" target="_blank"></a>

7. 移除标识为坏的盘,尽管硬盘有的支持热插拔,也需要软raid移除一下

<a href="http://s3.51cto.com/wyfs02/M02/8D/4E/wKiom1iW5_aCoHxcAAAdR6o_9fs594.png" target="_blank"></a>

8. 重新生产配置文件

<a href="http://s3.51cto.com/wyfs02/M02/8D/4C/wKioL1iW6AbSJ6K6AAAZlnquTBU272.png" target="_blank"></a>

9. 开机自动挂载

说明:修改配置文件 /etc/fstab

<a href="http://s4.51cto.com/wyfs02/M00/8D/4E/wKiom1iW6BOiLwx3AAAcxw3monA328.png" target="_blank"></a>

10. 重启

<a href="http://s5.51cto.com/wyfs02/M01/8D/4C/wKioL1iW6CDje3vNAAAp_i1uVv8819.png" target="_blank"></a>

三、创建RAID5

1) 创建raid5

2) 添加1G热备盘,模拟磁盘故障,自动顶替故障盘

3) 移除故障盘

4) 停止阵列,重新激活阵列

5) 再添加新的1G热备盘,扩展阵列容量,从3个扩展到4个

实验环境:sdb1 sdb2 sdb3 sdb5 sdb6(sdb4为扩展分区)

1. 创建3个主分区,扩展分区下,2个逻辑分区

<a href="http://s1.51cto.com/wyfs02/M02/8D/4E/wKiom1iW6GSjxsHZAABZwMbjpjg437.png" target="_blank"></a>

查看分区

<a href="http://s4.51cto.com/wyfs02/M02/8D/4C/wKioL1iW6HGjdI7CAAAdAEpXKzY252.png" target="_blank"></a>

2. 创建阵列

<a href="http://s4.51cto.com/wyfs02/M00/8D/4E/wKiom1iW6ISyJn5TAAAhmNfn1xc013.png" target="_blank"></a>

2.1 查看阵列

<a href="http://s4.51cto.com/wyfs02/M00/8D/4C/wKioL1iW6JGwrjZSAAAcXggBpOI138.png" target="_blank"></a>

2.2 查看打印信息

<a href="http://s3.51cto.com/wyfs02/M01/8D/4F/wKiom1iW6KCiFB8dAAARmscqTmA748.png" target="_blank"></a>

省略2)3)步

3. 分区

说明:主分区,全部内容

<a href="http://s5.51cto.com/wyfs02/M00/8D/4C/wKioL1iW6LSwJCR5AAAPhPQvKXY716.png" target="_blank"></a>

4. 格式化

<a href="http://s3.51cto.com/wyfs02/M01/8D/4C/wKioL1iW6L2S33pVAACAB3F7774681.png" target="_blank"></a>

说明:3个盘,共2个G大小

<a href="http://s5.51cto.com/wyfs02/M01/8D/4F/wKiom1iW6MewkuY3AAAfrz0RbEU182.png" target="_blank"></a>

6. 添加一个扩展盘,使raid5阵列扩展到4块盘

说明:先卸载,再添加盘

6.1 新添加的盘被系统作为热备盘

<a href="http://s4.51cto.com/wyfs02/M01/8D/4C/wKioL1iW6OKRxr0uAABDUk7LFzM673.png" target="_blank"></a>

6.2 添加扩展前,先开一个窗口,查看监控状态

<a href="http://s2.51cto.com/wyfs02/M02/8D/4F/wKiom1iW6OzTvbG4AAAlnd-kIdg676.png" target="_blank"></a>

6.3 扩展为4个盘

说明:新加的盘上,也要更新内容,添加数据和检验位等,需要较长一段时间

<a href="http://s3.51cto.com/wyfs02/M02/8D/4F/wKiom1iW6PfgxD68AAAF7G24AZ4829.png" target="_blank"></a>

<a href="http://s5.51cto.com/wyfs02/M01/8D/4F/wKiom1iW6SHCJU-IAAAq1btHd_o722.png" target="_blank"></a>

7. 重新生成配置文件

<a href="http://s3.51cto.com/wyfs02/M01/8D/4C/wKioL1iW6SvCVxWIAAAaKV_UM7I175.png" target="_blank"></a>

8. 开机自动挂载

命令:vim /etc/fstab

<a href="http://s5.51cto.com/wyfs02/M02/8D/4F/wKiom1iW6TbgYY9fAAAQFSNXZN8873.png" target="_blank"></a>

9. 重启

<a href="http://s2.51cto.com/wyfs02/M02/8D/4C/wKioL1iW6T-DZH3lAAAqdy-Aiss433.png" target="_blank"></a>

四、创建raid10

说明:raid1+0双层架构方法

1. 创建4个主分区

<a href="http://s5.51cto.com/wyfs02/M00/8D/4F/wKiom1iW6hzz7H_LAAAW33DKhUs393.png" target="_blank"></a>

2. 创建两个底层raid1(md11和md12)

<a href="http://s1.51cto.com/wyfs02/M00/8D/4C/wKioL1iW6ijwqtmUAAAwNcSIeB4722.png" target="_blank"></a>

<a href="http://s3.51cto.com/wyfs02/M01/8D/4F/wKiom1iW6kDws9-MAAAvd9hbI60136.png" target="_blank"></a>

查看raid状态

<a href="http://s5.51cto.com/wyfs02/M01/8D/4C/wKioL1iW6k2BjW-aAAAsw3oo0Xw992.png" target="_blank"></a>

<a href="http://s5.51cto.com/wyfs02/M01/8D/4F/wKiom1iW6k2x3r_2AAAcWjZDwBM389.png" target="_blank"></a>

3. 将md11和md12 合并创建一个raid0(md10)

<a href="http://s2.51cto.com/wyfs02/M02/8D/4C/wKioL1iW6mLwmMeUAABBh_DsMR8372.png" target="_blank"></a>

4. 导出配置文件、分区、格式化、挂载、开机自动挂载、重启

<a href="http://s4.51cto.com/wyfs02/M01/8D/4C/wKioL1iW6oCy6gpRAAAwEO3-1mE173.png" target="_blank"></a>

<a href="http://s2.51cto.com/wyfs02/M00/8D/4C/wKioL1iW6oHQqiqlAAAPqNcoYRw956.png" target="_blank"></a>

<a href="http://s2.51cto.com/wyfs02/M01/8D/4F/wKiom1iW6oGhIVb5AAB_O44lLXE518.png" target="_blank"></a>

<a href="http://s2.51cto.com/wyfs02/M01/8D/4C/wKioL1iW6oKwaQt0AAAfZufG_X4838.png" target="_blank"></a>

开机自动挂载:vim /etc/fstab

<a href="http://s4.51cto.com/wyfs02/M02/8D/4F/wKiom1iW6r_hmx9mAAAd5bMxOMU388.png" target="_blank"></a>

<a href="http://s1.51cto.com/wyfs02/M00/8D/4F/wKiom1iW6r-SW6k3AAApjahw5uc635.png" target="_blank"></a>

五、其他操作

1. 停止阵列

停止前,先生成配置文件,因为后期重新启动时,要用到它;先卸载,再停用

命令:mdadm -Ds &gt;/etc/mdadm.conf

比如停止md5:mdadm -S /dev/md5

批量停止命令

说明:扫描所有信息,再停止

命令:mdadm -Ss

2. 激活阵列

说明:起来的过程中,需要读配置文件

批量激活命令: mdadm -As

3. 删除阵列

说明:先卸载,再停止raid设备,删除raid配置文件,清除物理磁盘中的raid标识

<a href="http://s5.51cto.com/wyfs02/M00/8D/4C/wKioL1iW6tvAne81AABALngBpcM339.png" target="_blank"></a>

本文转自 huangzp168 51CTO博客,原文链接:http://blog.51cto.com/huangzp/1895045,如需转载请自行联系原作者