复习-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

相关推荐

  • 马哥教育网络班21期-第5周课程练习

    1、显示/boot/grub/grub.conf中以至少一个空白字符开头的行;       grep ‘^[[:space:]]\{1,\}’ /boot/grub/grub.conf 2、显示/etc/rc.d/rc.sysinit文件中以#开头,后面跟至少一个空白字符,而后又有至少一个非空白字符的行; &…

    Linux干货 2016-12-18
  • 马哥教育网络21期+第九周练习博客

    马哥教育网络21期+第九周练习博客 1、写一个脚本,判断当前系统上所有用户的shell是否为可登录shell(即用户的shell不是/sbin/nologin);分别这两类用户的个数;通过字符串比较来实现; [root@localhost bin]# cat 1.sh  #!/bin/bash # while&nbsp…

    Linux干货 2016-09-05
  • 浅谈bash shell 变量

    一、简述 变量是指内存空间的命名,指向内存中一个或一组地址。bash shell中的变量属于弱类型变量,使用变量无需声明、不需要指定类型,默认为字符型变量。 二、变量命名、赋值、引用 (1)命名规则:     1.只能使用字母,数字,下划线;并且不能使用数字开头。     2.不…

    Linux干货 2016-08-15
  • 系统管理之Systemd详解(centos7)

    这篇着重讲解下Syetemd的相关知识,systemd可以说是centos7上的重大改革,功能之强大媲美一个操作系统,那下面就从以下几点来进行讲解:CentOS7启动Unit介绍服务管理和查看启动排错破解口令修复grub2 启动流程: post–>BISO–>bootloader(MBR)–>kernel(ramdisk)–>…

    Linux干货 2016-09-21
  • 马哥教育网络班21期+第6周课程练习

    请详细总结vim编辑器的使用并完成以下练习题 1、复制/etc/rc.d/rc.sysinit文件至/tmp目录,将/tmp/rc.sysinit文件中的以至少一个空白字符开头的行的行首加#; [root@localhost ~]# cp /etc/rc.d/rc.sysinit /tmp/ [root@localho…

    Linux干货 2016-08-15
  • 马哥教育网络第21期-第十二周课程练习

    1、请描述一次完整的http请求处理过程; (1) 建立或处理连接:接收请求或拒绝请求 (2) 接收请求:接收来自于网络的请求报文中对某资源的一次请求的过程;并发访问响应模型(Web I/O): //服务器接受客户端的请求 单进程I/O结构:启动一个进程处理用户请求,而且一次只处理一个;多个请求被串行响应; //一个进程只有一个…

    Linux干货 2016-12-26