复习-RAID原理详解

一、RAID

RAID:冗余磁盘阵列,将多个磁盘不同的方式组成阵列,作为单一磁盘使用;通过RAID,大幅提高了I/O能力、容错性。

二、RAID级别

不同的磁盘阵列组成模式,称为磁盘级别,不同的RAID级别可提供不同的I/O能力提升、磁盘可用率和容错性

1、RAID 0 条带卷 strip

 用两块和两块以上磁盘组成,RAID控制器将数据平均切割成多块,并将数据库分散存放在各磁盘上。每个磁盘上存数据的一部分。
        磁盘利用率 最小磁盘*N
        I/O能力大幅提升
        无容错性
        磁盘数量 2块和2块以上

raid0.png

2、RAID 1镜像

至少用2块盘组成,存数据时,在每个磁盘上各存一份。
         读性能上升,写性能因为在存储多次,会下降
         磁盘利用率   最小的那块磁盘空间大小
         有冗余能力  
         磁盘数据 2块和2块以上

raid1.png

3、RAID 4,独立校验

使用一块硬盘单独存放校验码,数据按块存放在各数据盘,每次读取数据都要校验,校验盘容易成为瓶颈,可以坏一块盘
    有冗余能力
    磁盘数量 3块及3块以上

raid4.png

4、RAID 5 分布式校验

将校验码随机存放在各硬盘上,可以坏一块磁盘
读、写性能提升
可用空间:(N-1)*最小磁盘
有容错能力:1块磁盘
最少磁盘数:3, 3+

raid5.png

5、RAID 6 两次校验

将校验码存放两次,可以坏两块盘
读、写性能提升
可用空间:(N-2)*最小磁盘
有容错能力:可以两块磁盘
最少磁盘数:4个及4个以上

6、RAID 10

先按RAID 1做成阵列,再做RAID 0
读、写性能提升
可用空间 5-%
容错,每组RAID 1可坏一块磁盘
最少磁盘数:4个及4个以上

raid10.png

7、RAID 01

先按RAID 0做成阵列,再做RAID 1

JBOD:将多块磁盘合并为连续空间

三、RAID实现方式

外接式磁盘阵列:通过扩展卡提供适配能力
内接式RAID:主板集成RAID控制器
Software RAID:软件方式模拟,mdadm

四、mdadm命令

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

mdadm用法

mdadm [mode] <raiddevice> [options] <component-devices>
mode:
 #创建:-C
 #装配: -A
 #监控: -F
 #管理: -f,-r,-a
 #<raiddevice> RAID设备文件: /dev/md#
 #<component-devices> 组成RAID的磁盘

-C  创建

   -n #       使用#个设备创建RAID
   -l #   RAID级别
   -a yes|no  是否自动创建RAID设备文件
   -c         指定块大小:512字节
   -x#   指定容余和空闲盘个数

mdadm  /dev/md0 -C -n 3 -x 1 -l 5  -a yes  /dev/sda{1,2,3,4} 
#使用sda1-4创建RAID5,其中一块盘为热备,设备文件为dev/md0,

-D 查看RAID设备的详细信息

 mdadm /dev/md#

管理模式:

 -f: 标记指定磁盘为损坏;
 -a: 添加磁盘
 -r: 移除磁盘

观察md的状态:

cat /proc/mdstat

停止md设备:

mdadm -S /dev/md#

watch命令:

-n #: 刷新间隔,单位是秒;
watch -n# 'COMMAND'

原创文章,作者:N21-沉舟,如若转载,请注明出处:http://www.178linux.com/21413

(0)
N21-沉舟N21-沉舟
上一篇 2016-07-04 11:34
下一篇 2016-07-04 11:34

相关推荐

  • 来马哥教育后

    来北京三天了,说实话,我长了不少见识,甚至可以说是见过了以前一些从没想到过的事情,我拼了命往大城市来,如今如我所愿了,我来的时候发誓对自己说:我要留在北京,我也要积累足够的资本让自己真正成为大城市的上层社会人士,现在吃多少苦我都无所谓。 我以前在建筑工地的时候想:我将来能学IT是最幸福的事了。当时真是这么想的,等我真到马哥教育,我发现,我把问题想的太简单,就…

    Linux干货 2018-03-26
  • 马哥教育网络班21期-第五周课程练习

    1、显示/boot/grub/grub.conf中以至少一个空白字符开头的行; [root@localhost ~]# grep "^[[:space:]]\{1,\}" /boot/grub/grub.conf 2、显示/etc/rc.d/rc.sysinit文件中以#开头,后面跟至少一个空白字符…

    Linux干货 2016-08-08
  • puppet进阶管理之终极应用

         上一篇博客写了puppet操作file、cron、user、group、exec基础资源的使用,连接地址为 http://www.178linux.com/13990  这次实验puppet的操作Package、Server和puppet的特殊资源属性Metaparameters。 回顾下…

    Linux干货 2016-04-12
  • 利用 yum 查找某个命令属于哪个包

    当我们在安装一个不熟悉的命令是,会遇到个问题:Error: Nothing to do 而你又不知道该命令的是属于哪个rom包,莫慌~我们可以借助一个叫yum的基于rpm的软件包管理器。 以 dig 这个命令为例,当我安装它时会出现如下情况  [root@localhost ~]# yum install dig  Loaded plug…

    Linux干货 2016-03-27
  • 如何在linux系统上获取命令的帮助信息,man文档的章节划分

    内置命令获取帮助文档的方式:   判断一个命令是否是Linux内置的,可以用type命令,只有Linux的内置命令才能使用 help 命令获得帮助。 type cd 输出:cd is a shell builtin 说明这个命令是系统自带的内置命令,那么就可以使用 help命令来获取帮助。 help 命令名 外部命令获取帮助文档的方式: 第一种办法是使用 &…

    Linux干货 2016-10-31
  • linux基础中的基础 —- 用户管理、文本处理、正则表达式等命令的使用(博客第三周作业)

    1、列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可。     who | cut -d' ' -f1 | uniq 2、取出最后登录到当前系统的用户的相关信息。     who | tail -1 3、取出当前系统上被用户当作其默认shell的最…

    Linux干货 2016-07-22