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

相关推荐

  • 马哥教育网络班20期+第4周课程练习

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

    Linux干货 2016-07-04
  • 帮助和文件管理信息

    history命令: -c 清空命令历史 -d offset 删除历史中指定的第offset个命令 n 显示最近的n条历史 -a 追加本次会话新执行的命令历史列表至历史文件 -n 读历史文件中未读过的行到历史列表 -r 读历史文件附加到历史列表 -w 保存历史列表到指定的历史文件 -p 展开历史参数成多行,但不存在历史列表中 -s 展开历史参数马一行。附加在…

    Linux干货 2017-04-11
  • 第九周作业

    1. 写一个脚本,判断当前系统上所有用户的shell是否为可登录shell(即用户的shell不是/sbin/nologin);分别这两类用户的个数;通过字符串比较来实现; # awk -F: ‘{if($7!=”/sbin/nologin”) {printf “Logined user %s\n”…

    Linux干货 2017-03-01
  • N22-第2周作业

    1、Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示 cd、pwd、ls、alias、cat、more、less、tail、cut、wc、touch、mv、cp、rm pwd:用户当前所在目录 [xuc@localhost ~]$ pwd /home/xuc cd:切换目录  cd  [/PATH…

    Linux干货 2016-08-22
  • 磁盘管理

    设备类型分为字符设备和块设备 主设备号用来标识设备类型,次设备号标识同一类型下的不同设备 硬盘设备命名: scsi,sata,sas,usb:/dev/sd 不同设备/dev/sda  /dev/sdb 同一设备不同分区:/dev/sda1,/dev/sdb2…… 硬盘: 一片磁盘的一面叫做盘面,一张盘片有两个盘面 每个盘面有一个磁头,最多有256…

    Linux干货 2016-08-30
  • Linux 下openssl搭建一个CA

    CA : 证书颁发机构PKI : 公钥基础设施,公钥基础构架证书: 里面存放了用户的各种信息,最核心的部分就是公钥 谁来给CA颁发公钥,解决方法是,CA自己给自己颁发公钥 openssl 是一个强大的工具可以帮助我们来创建颁发证书,下面我们就来看下在linux下 opensssl 搭建一个CA,并实现管理 1、首先我们需要给CA生成一个私钥  cd…

    2017-07-16

评论列表(2条)

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

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

    • black_fish
      black_fish 2016-08-29 16:22

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