RAID:Redudant Arrays of Inexpensive(Independent) Disks    廉价(独立)冗余磁盘阵列

  提高IO能力:磁盘并行读写;

  提高耐用性:磁盘冗余来实现;

  级别:多块磁盘组织在一起的工作方式有所不同;

  RAID实现的方式:

    外接式磁盘阵列:通过扩展卡提供适配能力;

    内接式RAID:主板集成RAID控制器;

    Sofeware RAID:

  级别:level

    RAID-0:0,条带卷,strip;

    RAID-1:1,镜像卷,mirror;

    RAID-2

    ...

    RAID-5:

    RAID-6

    RAID01

    RAID-0:

      读、写性能提升;

      可用空间:N*min(S1,S2,...)

      无容错能力

      最少磁盘数:2,2+

    RAID-1:

      读性能提升、写性能略有下降;

      可用空间:1*min(S1,S2,...)

      有冗余能力

      最少磁盘数:2

    RAID-4:

       1101,0110,1011

    RAID-5:

      读、写性能提升

      可用空间:(N-1)*min(S1,S2,...)

      有容错能力:1 块磁盘

      最少磁盘数:3,3+

    RAID-6:

      读、写性能提升

      可用空间:(N-2)*min(S1,S2,...)  

      有容错能力:2块磁盘

      最少磁盘数:4,4+

    混合类型:

    RAID-10:底层是1,上层为0

      读写性能提升;

      可用空间:N*min(S1,S2,...)/2

      有容错能力:每组镜像最多只能坏一块;

      最少磁盘数:4,4+      

    RAID-01:(不如10合理)

    JBOD:Just a Bunch of Disks

      功能:将多块磁盘的空间合并一个大的连续空间使用;

      可用空间:sum(S1,S2,...)

    常用级别:RAID-0,RAID-1,RAID-5,RAID-10,RAID-50,JBOD

    实现方式:

      硬件实现方式

      软件实现方式

      CentOS 6上的软件RAID的实现:

        结合内核中的md(multi devices)

        mdadm:模式化的工具

          命令的语法格式:mdadm [mode] <raiddevice> [options] <component-devices>

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

          模式:

            创建:-C

            装配:-A

            监控:-F

            管理:-f,-r,-a

          <reaiddevice>:/dev/md#

          <componet-device>:任意块设备

          -C:创建模式

            -n #:使用#个块设备来创建此RAID;

            -l #:指明要创建的RAID的级别;

            -a {yes|no}:自动创建目标RAID设备的设备文件;

            -c CHUNK_SIZE:指明块大小;

            -x #:指明空闲盘的个数;

            例如:创建一个10G可用空间的RAID5;

            mdadm -C /dev/md0 -a yes -n 3 -x 1 -l 5 /dev/sda{7,8,9,10}

            cat /proc/mdstat

            mdadm -D /dev/md0

            mdadm /dev/md0 -f /dev/sda7  将sda7标记为损坏

            watch -nl 'cat /pro/mdstat'

            mdadm /dev/md0 -r /dev/sda7  将sda7移除

          -D:显示raid的详细信息;

            mdadm -D /dev/md#

          管理模式:

            -f:标记指定磁盘为损坏;

            -a:添加磁盘;

            -r:移除磁盘

          观察md的状态:

            cat /proc/mdstat

          停止md设备:

            mdadm -S /dev/md#

        watch命令:

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

          watch -n# 'COMMAND'

练习1:创建一个可用空间为10G的RAID1设备,要求其chunk大小为128k,文件系统为ext4,开机可自动挂载至/backup目录;

练习2:创建一个可用空间为10G的RAID10设备,要求其chunk大小为256k,文件系统为ext4,开机可自动挂载至/mydata目录;

LVM2:

  LVM:Logical Volume Manager,version:2

  dm:device mapper,将一个或多个底层块设备组织成一个逻辑设备的模块;  

          

Linux:Day8(下) RAID的更多相关文章

  1. 查看Linux系统下Raid信息

    软件raid:只能通过Linux系统本身来查看 cat /proc/mdstat 可以看到raid级别,状态等信息. 硬件raid: 最佳的办法是通过已安装的raid厂商的管理工具来查看,有cmdli ...

  2. 了解linux下RAID(磁盘阵列)创建和管理

    现在的操作系统,不论是windows 还是linux都具有raid的功能,RAID 分为硬件 RAID 和软件 RAID, 硬件 RAID 是通过 RAID 卡来实现的,软件RAID是通过软件实现的, ...

  3. linux基础-磁盘阵列(RAID)实例详解

    磁盘阵列(RAID)实例详解 raid技术分类 软raid技术 硬raid技术 Raid和lvm的区别 为什么选择用raid RAID详解 RAID-0 RAID-1 RAID-5 Raid-10 R ...

  4. 第7章 Linux上配置RAID

    7.1 RAID概念 RAID独立磁盘冗余阵列(Redundant Array of Independent Disks),RAID技术是将许多块硬盘设备组合成一个容量更大.更安全的硬盘组,可以将数据 ...

  5. 深入理解linux系统下proc文件系统内容

    深入理解linux系统下proc文件系统内容 内容摘要:Linux系统上的/proc目录是一种文件系统,即proc文件系统. Linux系统上的/proc目录是一种文件系统,即proc文件系统.与其它 ...

  6. LINUX中软RAID的实现方案

    转自linux就该这么学 应用场景 Raid大家都知道是冗余磁盘的意思(Redundant Arrays of Independent Disks,RAID),可以按业务系统的需要提供高可用性和冗余性 ...

  7. 在Linux虚拟机下配置tomcat

    1.到Apache官网下载tomcat http://tomcat.apache.org/download-80.cgi 博主我下载的是tomcat8 博主的jdk是1.8 如果你们的jdk是1.7或 ...

  8. 在Linux系统下运行微信Web开发者工具

    微信Web开发者工具只有window版本和mac版本,如果想要在Linux系统下运行微信Web开发者工具,需要花费很大周折. 注:带 * 的步骤或文件为不确定是否管用的步骤或文件.本人系统为Linux ...

  9. 在Linux虚拟机下配置jdk的环境变量

    1.到Oracle公司的官网里下载好jdk,网址 http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133 ...

随机推荐

  1. Codeforces617E(莫队)

    E. XOR and Favorite Number time limit per test: 4 seconds memory limit per test: 256 megabytes input ...

  2. 大事记 - 安卓微信浏览器 video 标签层级过高

    // 为什么叫<大事记>? // 以前总有面试官问这样一个问题:“你在项目中遇到过最头疼的问题是什么,是怎么解决的?” // 当时总觉得,已解决的问题都算不上头疼,所以回答总是不尽人意. ...

  3. 【软工神话】第四篇(Alpha冲刺)

    前言:咳咳,一个多月了,最近忙这忙那,都把这个故事给落下了,昨晚刚回到家,白天得干活,晚上赶紧把这个故事写完,以此纪念自己的软工. 说明:故事中的人物均是化名,故事情节经过些许加工,故事情节并没有针对 ...

  4. angularjs-select2的使用

    1.引入文件 '/select2.css', '/select2-bootstrap.css', '/select2.min.js', ‘/angular-select2.min.js’ 2.页面 3 ...

  5. bootstrap timepicker 在angular中取值赋值 并转化为时间戳

    上一篇我们讲到angular对于timepicker的一个封装后的插件angular-bootstrap-timepicker,但是由于angular的版本必须是v1.2.30以上的.对于有些涉及到多 ...

  6. cookie 和 session区别

    cookie 和 session区别 ① cookie介绍说明 cookie 存放在浏览器缓存中---浏览器进行查看(谷歌) [设置]---[高级]---[内容设置]---[cookie]---[所有 ...

  7. Visual Studio 20周年,我和VS不得不说的故事

    Visual Studio 2017正式版已如期发布(点击这里查看发布全记录)!自去年 11 月正式宣布 Visual Studio 项目之后,微软终于正式推出了“宇宙最强集成开发环境(IDE)”的最 ...

  8. Linux应用和系统库的2种安装方式---源码安装tarball和二进制rpm包

    一.应用程序和系统库从哪里来? 两种机制,源码安装和二进制安装. 二.源码安装 tarball 1.核心思想是:利用开源代码,自己编译生成应用程序或者库,要求系统上必须已安装TMG(tar, make ...

  9. js的深层克隆和浅层克隆代码和理解

    <script> //判断是不是原始值 //判断是数组还是对象 //建立相应的数组或对象 var obj={ name:'辣鸡', sex:'male', card:['laobi','f ...

  10. (网页)HTMl5的sessionStorage和localStorage

    百度上百度的,记录一下: html5中的Web Storage包括了两种存储方式:sessionStorage和localStorage. sessionStorage用于本地存储一个会话(sessi ...