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
下一篇 2016-08-29

相关推荐

  • 进程和计划任务

    一、知识整理 1、网络客户端工具:lftp,ftp,lftget,wget 子命令:get,mget,ls,help等 wget [opt] …[url] -q 静默模式 -c 断点续传 -O 保存位置 –limit-rates=  指定传输速率 登录ftp之后:lcd 在本机切换目录;get下载单个文件 !ls 查看本机文…

    Linux干货 2016-09-13
  • 3rd work

    1、列出当前系统上所有已经登陆的用户名,注意同一个用户登陆多次,则只显示一次即可。 [root@localhost ~]# w 11:50:45 up 24 min,  3 users,  load average: 0.04, 0.04, 0.10 USER     TTY      FROM             LOGIN@   IDLE   JCP…

    Linux干货 2017-10-08
  • 马哥教育网络21期+第四周练习博客

    1、复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限。 [root@localhost ~]# cp -r /etc/skel/ /home/tuser1 [root@localhost ~]# chmod&n…

    Linux干货 2016-08-02
  • 使用NFS服务和samba部署wordpress

             centos 7.3主机一台   centos 6.8主机一台  使用yum安装的mysql(7以后使用yum装mysql叫mariadb)         我事先查看了一…

    2017-05-02
  • Linux命令格式、获取帮助、文件系统

    一、Linux的命令     (一)、概念和意义:             发起一个命令:请求内核将某个二进制程序运行为一个进程;      &nbs…

    Linux干货 2016-08-15
  • 在 Linux 下你所不知道的 df 命令的那些功能

    原文出处: xmodulo   译文出处:linux.cn – mtunique   欢迎分享原创到运筹维幄 问题: 我知道在Linux上我可以用df命令来查看磁盘使用空间。你能告诉我df命令的实际例子使我可以最大限度得利用它吗?   对于磁盘存储方面,有很多命令行或…

    Linux干货 2015-03-02

评论列表(2条)

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

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

    • black_fish
      black_fish 2016-08-29 16:22

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