CentOS7下使用mdadm实现RAID

一、RAID简述

磁盘阵列(Redundant Arrays of Independent Disks,RAID),是把多个物理磁盘组成一个阵列,当作一个逻辑磁盘使用,它将数据以分段或条带的方式储存在不同的磁盘中,这样可以通过在多个磁盘上同时存储和读取数据来大幅提高存储系统的数据吞吐量。

二、RAID分类

  1. 外接式磁盘阵列:常被使用在大型服务器上,专业的硬件磁盘阵列盘柜,价格昂贵,主要厂商:IBM、HP、EMC等。
  2. 内接式磁盘阵列:需要技术人员来使用操作,同时需要配备硬件RAID卡或者阵列卡。
  3. 软件仿真式磁盘阵列:通过操作系统自身提供的磁盘管理功能(软件功能实现)将多个硬盘配置成逻辑盘,价格相对较便宜。

三、RAID级别

  1. RAID 0

    raid0

    最早出现的RAID模式,属于条带模式,至少需要两块磁盘,成本低,可以提高整个磁盘的性能和吞吐量;但是没有容错机制,磁盘损坏易丢失数据。

  2. RAID 1

    raid1

    磁盘镜像模式,数据在写入一块磁盘的同时,会在另一块闲置的磁盘上生成镜像文件,通过二次读写实现磁盘镜像,磁盘控制器的负载也相当大,所以多磁盘控制器使用可以缓解读写负载。

  3. RAID 1 + 0

    raid10

    高可靠性与高效磁盘结构,下层是两个RAID 1,两个RAID 1之上是RAID 0,至少四块硬盘。

  4. RAID 0 + 1

    raid01

    高效率与高性能磁盘结构, 下层是两个RAID 0,两个RAID 1之上是RAID 1,至少四块硬盘。

  5. RAID 2

    raid2

    带海明码校验,这种编码技术需要多个磁盘存放检查及恢复信息,使得RAID 2技术实施更复杂,商业中用的比较少。

  6. RAID 3

    raid3

    带奇偶校验码的并行传送,只能查错不能纠错。

  7. RAID 4

    raid4

    它对数据的访问是按数据块进行的,也就是按磁盘进行的,每次是一个盘。在图上可以这么看,RAID3是一次一横条,而RAID4一次一竖条。

  8. RAID 5

    raid5

    分布式奇偶校验的独立磁盘结构,可靠性强,只损坏一块硬盘时,系统会根据存储的奇偶校验位重建数据,如果同时损坏两块硬盘时数据将完全损坏。

  9. RAID 6

    raid6

    带有两种分布存储的奇偶校验码的独立磁盘结构,多一种校验主要是用于要求数据绝对不能出错的场合。

  10. RAID 7

    raid7

    所有的I/O传送均是同步进行的,可以分别控制,这样提高了系统的并行性,提高系统访问数据的速度,带有高速缓冲存储器,由于采用并行结构和高速缓冲存储器,因此数据访问效率大大提高。

四、常见RAID级别总结

raidall

五、mdadm命令参数详解

1、主要模式

  1. Assemble:装配模式,将原来属于一个阵列的每个块设备组装为阵列

    -A, --assemble: 开启一个阵列
    -u, --uuid:可以根据组件设备的uuid开启RAID
    -m, --super-minor:保存在每个组件设备中的超级块中的minor号,可以根据这个开启RAID
    -N, -–name:根据RAID名开启RAID。
    -R, –-run:即使RAID中的磁盘设备不完整(例如原来创建4块盘的RAID5,现在只发现3块成员盘),RAID也被开启-–no-degraded:和–scan选项一起使用,禁止RAID中的磁盘设备不完整时启动RAID
    -a, -–auto:如-–create中的 –auto
    -b, -–bitmap:指定bitmap位图文件-–backup-file:保存关键信息的文件,例如:如果中途断电可以重启继续
    -U, –-update:更新每个磁盘设备的超级块信息
    
  2. Build: 创建或组装不需要元数据(没有超级块)的阵列,每个设备没有元数据块

  3. Create: 创建一个新的阵列,每个设备具有超级块

    -C, --create:创建一个新的阵列 
    -l, --level: RAID级别 
    -n, --raid-devices: 活动设备个数 
    -a, {yes|no}: 是否自动为其创建设备文件 
    -c, --chunk: CHUNK大小, 默认为64K,重要的参数,决定了一次向阵列中每个磁盘写入数据的大小 
    -x, --spare-devices: 备用盘个数
    
  4. Grow:改变阵列中每个设备被使用的容量或阵列中的设备的数目,改变阵列属性

    -G, --grow: 改变阵列的大小或设备的数量
    -n, --raid-devices=: 活动设备个数
    -x, --spare-devices=:备用盘个数
    -c, --chunk=: CHUNK大小, 默认为64K,重要的参数,决定了一次向阵列中每个磁盘写入数据的大小
    -z, --size=:阵列中从每个磁盘获取的空间总数
    -l, --level=: RAID级别
    -p, --layout=:设定raid5 和raid10的奇偶校验规则;并且控制故障的故障模式--parity: 类似于--layout--assume-clean:目前仅用于 --build 选项
    -R, --run: 强制激活RAID,使用这个选项,设备上有旧的元数据信息的提示会被忽略
    -N, --name=: 设定阵列的名称–-rounding:在linear array中的rounding factor,等于条带大小
    
  5. Monitor:监控RAID的状态,报指定的事件,可以实现全局热备

    -F, --follow, 
        --monitor:选择监控(Monitor)模式
        --alert:当检测到一个事件时运行指定的程序
    -m,--mail: 事件报警时给谁发电子邮件-p,--program, 
    -y, --syslog: 事件记录于syslog中
    -d, --delay:隔多少秒轮询各个RAID,默认是60秒
    -f, --daemonise:创建一个子进行作为后台监控程序
    -i, --pid-file:与--daemonise一起使用,子进程PID记录文件
    -l, --oneshot:只会检测RAID一次
    -t, --test,生成test报警信息,用来测试报警信息是否能正确收到
    
  6. Manage:管理存储阵列中的设备,比如增加热备磁盘或者设置某个磁盘失效、阵列中移除失效的磁盘

    -a,--add:在线添加磁盘设备,例如可以添加热备盘
    --re-add:给RAID重新添加一个以前被移除的设备
    -r,--reomve:移除设备,只能移除failed(失效)磁盘和spare(热备)磁盘设备
    -f,--fail:使RAID中某个磁盘设备失效
    
  7. Incremental Assembly:添加设备到阵列中

  8. Misc: 报告或者修改阵列中相关设备的信息,比如查询阵列或者设备的状态信息、对阵列中的某个设备进行操作(例如抹去超级块或停止阵列)

    -Q, --query: 查询一个RAID或者一个RAID组件设备的信息
    -D, --detail: 查询一个RAID的详细信息
    -E, --examine:查询组件设备上的超级块信息
    -R, -–run:启动不完整的RAID(例如本来是有4块盘的RAID5,现在3块盘也可以启动)
    -S, -–stop:停止RAID
    -o, -–readonly:使RAID只能只读
    -w, -–readwrite:使RAID能读写
        -–zero-superblock:超级块信息被写0覆盖。
    
  9. Auto-detect: 只是要求在Linux内核启动时自动检测到阵列

2、无任何模式参数

```
-v, -–verbose:显示更详细的信息
-f, -–force:某些选项强制执行
-c, -–config:指定配置文件,默认是 /etc/mdadm.conf 或者是/etc/mdadm/mdadm.conf
-s, –-scan:从配置文件或者/proc/mdstat中扫描信息
-e, -–metadata:定义组件设备上超级块的类型-–homehost:创建一个RAID时,homehost名会记录在超级块中
-b, --brief:较少的细节,用于 --detail 和 --examine选项
-q, --quit:安静模式;加上该选项能使mdadm不显示纯消息性的信息,除非那是一个重要的报告;
-c, --config=: 指定配置文件,缺省为 /etc/mdadm.conf
```

六、创建RAID5举例

如下有5个分区:

/dev/sdb 10GB           
/dev/sdc 10GB           
/dev/sdd 10GB   
/dev/sde 10GB
/dev/sdf 10GB
  1. 建各个分区,以/dev/sdb1分区为例,其他分区依次建立
    fdisk /dev/sdb
    fenqufdisk
  1. 创建RAID5,加入sdb,sdc,sdd

    mdadm -Cv /dev/md0 -a yes -l 5 -n 3 /dev/sd{b,c,d}
    或
    mdadm --creat /dev/md0 --level=5 --raid-device=3 /dev/sd{b,c,d}
    
  2. 添加一个热备盘

    mdadm -a /dev/md0 /dev/sde1
    
  3. 移除一个热备盘

    mdadm -r /dev/md0 /dev/sde1
    
  4. 模拟硬盘故障

    mdadm -f /dev/md0 /dev/sdb1
    
  5. 移除故障的硬盘,现在已经没有热备盘了,再添加一个热备盘

    mdadm -r /dev/md0 /dev/sdb1
    mdadm -a /dev/md0 /dev/sdf1
    
  6. 生成mdadm的配置文件

    echo DEVICE /dev/sd[c-f]1 > /etc/mdadm.conf
    mdadm -Ds >>/etc/mdadm.conf
    
  7. 格式化并挂载 /dev/md0 设备

    mkdir /mnt/raid5
    mkfs.ext4 /dev/md0
    mount /dev/md0 /mnt/raid5
    
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,383评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,522评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,852评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,621评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,741评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,929评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,076评论 3 410
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,803评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,265评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,582评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,716评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,395评论 4 333
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,039评论 3 316
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,798评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,027评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,488评论 2 361
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,612评论 2 350

推荐阅读更多精彩内容