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

相关推荐

  • mysql备份之mysqldump

    mysql备份之mysqldump 注意:备份文件和二进制日志文件不能与mysql放在同一磁盘下 节点1 1、节点1上修改mysql配置文件,开起二进制日志保存 这里我将二进制日志放在/data/mysql/目录下,/data/是我创建的另外一个lvm磁盘,本来想直接放在/data/下,发现无法启动mysql,所以建议还是放在/data/mysql中 [ro…

    Linux干货 2016-07-19
  • 12压缩与解压

    在Linux系统中压缩、解压以及归档的工具主要有一下几种: file-roller : 这个工具适合在桌面系统下进行解压操作。 compress/uncompress  :这是一个比较老的解压工具,压缩后会添加.Z为后缀 gzip/gunzip : .gz结尾 bzip2/bunzip2 : .bz2 xz/unxz : .xz  zip…

    Linux干货 2016-11-27
  • shell脚本基础

    1、编程基础     程序:指令+数据   程序编程风格:                         过程式:以指令为中心,数据服务于指令         &nbs…

    2017-04-20
  • 第七周作业

    第七周 1,创建一个10G分区,并格式化为ext4文件系统;(1) 要求其block大小为2048,预留空间百分比为2,卷标为MYDATA,默认挂载属性包含acl;(2) 挂载至/data/mydata目录,要求挂载时禁止程序自动运行,且不更新文件的访问时间戳; [root@www ~]# fdisk /dev/sda <————-fd…

    Linux干货 2017-09-03
  • LAMP编译安装

    所谓的LAMP是指构建在Linux之上经典的一种web架构方式,其中L指的是Linux,A指的是Apache的httpd,M指的是Mysql或MariaDB,P指的是PHP,这种组合方式的基本工作模式是有httpd负责接收和相应用户的请求,然后将需要处理的php页面交由后端的php应用程序处理,而php应用程序处理php页面时的数据存储在Mysql数据库中,…

    Linux干货 2016-12-19
  • linux操作系统rpm软件包管理

    软件包管理 软件包运行环境: API:Application Programming Interface     使用标准:POSIX:     源代码运行步骤:预处理(如处理注释)—>编译成汇编代码—>链接其他库文件 ABI:applicatio…

    2016-08-22

评论列表(2条)

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

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

    • black_fish
      black_fish 2016-08-29 16:22

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