linux中的磁盘阵列(RAID)

RAID: Redundant Arrays of Inexpensive Disks

 Independent

提高IO能力: 通过磁盘并行读写实现

提高耐用性能: 磁盘冗余来实现

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

RAID是的方式:

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

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

Software RAID: 

级别: level

RAID-0: 0, 条带卷, strip;

RAID-1: 1, 镜像卷, mirror;

RAID-2

RAID-5:

RAID-6:

RAID10

RAID01

RAID-0: 

读、写性能提升

可用空间: N*min(s1,s2,…)

无容错能力

最少磁盘数: 2, 2+

RAID-1:

读性能提升、写性能略有下降

可用空间1*min(s1,s2,…)

有冗余能力

最少磁盘书: 2, 2+

RAID-4:

RAID-5: 

读写性能提升

可用空间: (N-1)*min(s1,s2,…)

有容错能力: 最多坏一块磁盘

最少磁盘数: 3, 3+

RAID-6

读写性能提升

可用空间: (N-2)*(s1,s2,…)

有容错能力: 可以同时坏2块磁盘

最少磁盘数: 4, 4+

混合类型

RAID-10:

读写性能提升

可用空间: N*min(s1,s2,…)

有容错能力: 每组镜像最多同时坏一块

最少磁盘数: 4, 4+

RAID-01

RAID-50、RAID7

JBOD: Just a Bunch of Disks

功能: 将多块磁盘的空间合并成一个大的连续空间使用

可用空间: sum(s1,s2,…)

常用级别:

RAID-0, RAID-1, RAID-5, RAID-10, RAID-50,JBOD

实现方式:

硬件实现方式

软件实现方式

CentOS 6上的软件RAID的实现

结合kernel中的md(multi devices)模块

mdadm: 模式化的工具

管理模式,跟踪模式

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

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

模式:

创建模式: -C

装配模式: -A

监控模式: -F

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

查看模式: -D

<raiddevice>: /dev/md#

<component-devices>: 可以是任意设备

-C: 创建模式

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

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

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

-c CHUNK_SIZE: 指明块的大小

-x #: 指个明冗余或空闲盘的数

示例: 要创建一个10G空间的RAID5

(1)首先分区系统, fdisk /dev/sdc

选用n选项,增加新分区

然后更改分区的类型为 linux raid auto

保存退出

partx -a /dev/sdc

(2)创建RAID

mdadm -C /dev/md0 -a yes -n 3 -x 2 -l 5 /dev/sdc{5..9}

查看一下md的设备文件,是否创建成功

cat /proc/mdstat

格式化创建文件系统

mke2fs -t ext4 /dec/md0

(3)创建挂载

修改配置信息: vim /etc/fstab

创建挂载点: mkdir /mydata

挂载raid: mount -a

(4)查看RAID状态

mdadm -D /dev/md0

(5)保存raid配置信息

mdadm -Ds /dev/md0 > /etc/mdadm.conf

(6)测试raid

mdadm /dev/md0 -f /dev/sdb1  模拟失败

mdadm /dev/md0 -r /dev/sdb1  删除磁盘

mdadm /dev/md0 -a /dev/sdb1  添加磁盘

(7)暂停服务

mdadm -S /dev/md0

或者

umount /mnt/raid

(8)激活

mdadm -A -s /dev/md0

(9)强制启动

mdadm -R /dev/md0

(10)删除raid信息

mdadm -zero-superblock /dev/sdb1

(11)删除raid信息

卸载: umount /dev/md0

暂停服务: mdadm -S /dev/md0

删除分区: fdisk /dev/sd*

清除阵列磁盘信息: mdadm –zero-superblock /dev/sdsdb

修改配置信息: vim /etc/fstab

删除raid配置文件: rm /etc/mdadm.conf

-D: 显示raid的详细信息

mdadm -D /dev/md#

管理模式:

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

-a: 添加磁盘

-r: 移除磁盘

观察md的工作状态

cat /proc/mdstat

动态查看:

watch -n1 'cat /proc/mdstat'

停止md设备

mdadm -S /dev/md#

watch命令

-n #: 刷新间隔, 单位是秒

显示设备上的mdadm设备:

查看文件: cat /proc/mdstat

或者 ls /dev | grep "md"

原创文章,作者:black_fish,如若转载,请注明出处:http://www.178linux.com/40931

(0)
black_fishblack_fish
上一篇 2016-08-29 08:49
下一篇 2016-08-29 08:49

相关推荐

  • 使用httpd反向代理模块实现tomcat负载均衡集群(上)

    前言  tomcat介绍:   tomcat是一个免费开放源代码的web应用服务器,不是一个完整意义上的Java EE服务器;它甚至都没有提供哪怕对一个主Java EE API的实现,但由于遵守apache开源协议,tomcat却有为众多的java应用程序服务器嵌入自己的产品中构建商业的java应用程序服务器,如JBoss和JOnAS等。…

    Linux干货 2015-07-21
  • linux 文件权限以及用户策略 讲解

     linux 文件权限以及用户策略 讲解    由于linux系统是一个多用户使用的系统,对于各个用户指定的文件或目录必须存在一套管理系统,以防止多用户对相同文件的混淆使用。于是催生出了linux系统文件的用户权限设置。其存在的意义就是每一个文件或目录对于不同的用户区分读取,写入,执行三种权限,即:r,w,x。下面将详…

    Linux干货 2016-08-05
  • Boot目录下内容丢失导致系统无法启动

    Boot目录下内容丢失导致系统无法启动 笔者朋友近期在一次学习过程中不慎将虚拟机中boot目录下内容丢失,导致系统无法启动。当然此前他并不知道是这样,只是应为莫名的弹出框报错所有导致系统无法启动。此后朋友将此故障告知笔者,笔者本身其实也是小白刚刚学习linux不就,但是对这些稀奇古怪的故障感觉很有兴趣,所以笔者就掉进坑里搞了好久才搞出来点眉目来。为了让更多学…

    Linux干货 2016-10-24
  • Python 课堂笔记

    第二天

    Linux干货 2018-03-21
  • 文件处理工具系列(二):行编辑器sed

    1、sed介绍     sed(Stream EDitor),是一种行编辑工具,它一次处理一行内容。处理时,把当前匹配到的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed命令对这些数据做出相应的增删改查操作,处理完成后,默认输出至屏幕,而未被匹配到的行也将默认输出至屏幕。而原来的文件内容并没有发生改变,除…

    Linux干货 2016-08-11
  • LNMP的虚拟主机配置http和https

    项目实战:    搭建LNMP环境:Linux+Nginx+Mysql(MariaDB)+php(php-fpm),创建多个虚拟主机:    主机1提供正常的http服务,用于安装wordpress博客;    主机2提供正常的https服…

    Linux干货 2016-10-30

评论列表(2条)

  • 马哥教育
    马哥教育 2016-08-29 16:04

    常见RAID的各种工作方式是我们面试中经常会被问到的知识,作者也总结的很详细,建议通过作图来加深自己对RAID的各个工作方式的理解。

    • black_fish
      black_fish 2016-08-29 16:22

      @马哥教育好的老师, 一会补充上