一、概念

磁盘阵列(Redundant Arrays of Independent Disks,RAID),有“独立磁盘构成的具有冗余能力的阵列”之意。是为了提高文件在磁盘上的读写速度而研究出来的。

将存入磁盘的数据分成一个一个的条带,然后并行地存储到磁盘阵列中,或者从磁盘阵列中以条带的形式并行地取数据。如下图:

二、raid的级别:

0:条带技术( 单纯地将数据进行条带化处理,然后存储到磁盘中)
     数据读写性能提升
     不提供冗余性能(没有数据备份)
     盘符数:>=2
 1:镜像(备份)
   性能表现,写性能下降,读性能提升(可以交替读)
   冗余能力:有
   空间利用率:50%
   镜像技术 mirror
   盘符数:>=2

2,

3,

4

5:加入校验机制,几个磁盘轮流作为校验盘

性能表现:读写提升
   冗余能力:有
   空间利用率:(n-1)/n
   盘符数:>=3

1 0:先备份再条带

性能表现:读、写提升
   冗余能力:有
  盘符数:>=4
  空间利用率 1/2
0 1:先条带再备份(常用,因为1 0方式可能导致在每一个备份里条带的存储位置不同)
  性能表现:读写提升
  冗余能力:有
  空间利用率:50%
  盘符数:>=4
5 1:
 性能表现:读、写提升
 冗余能力:有
 空间利用率:(n-2)/n
 盘符数:>=6

三 、raid的类型

硬件raid:

外接一个磁盘阵列

或者内部有raid控制芯片

软件raid

md(multi disks)将指定的磁盘设备组合起来形成raid

raid 设备被创建在 /dev/md#下

如果有一天内核坏了,为了raid后的磁盘可以被使用,要把磁盘的类型标识为内核可识别的 Linux raid auto类型。

命令为mdadm:将任何设备作成raid

模式化的命令:

创建模式

管理模式

监控模式

增长模式

装配模式

-A

创建模式

-C
专用选项
      -c chunk(条带)大小,默认为 64k,
      -l 级别
      -a {yes|no}自动为其创建设备文件
      -n:设备个数,几个盘来做raid
      -x:指定空闲盘个数,然后作为raid盘坏了以后,直接顶上去的盘

管理模式
--add --del
监控模式
-F
增长模式
-G
装配模式
-A

-D --detail /dev/md# 查看raid信息
停用阵列:madm --stop /dev/md#

启用阵列: mdadm -A   /dev/md1  /dev/sda6 /dev/sda7
将当前raid信息保存至配置文件,以便以后装配,
mdadm -D --scan >/etc/mdadm.conf

软raid新建过程

新建分区/dev/sda5,/dev/sda6,过程中将sda5,sda6指定为Linux raid auto类型

让内核识别新建的分区 partprobe /deb/sda

cat /proc/partitions

madm -C /dev/md0 -a yes -l 0 -n 2 /dev/sda{5,6}

cat /proc/mdstat

接下来

mke2fs -j /dev/md0

接下来挂载

mount /dev/md0 /mnt

madam -D|--detail /dev/md0 查看raid阵列的详细信息

在管理模式下,模拟一个磁盘的损坏mdadm /dev/md# --fail /dev/sda7 将md#(代表raid)下的sda7盘模拟损坏

移除硬盘 mdadm /dev/md# -r /dev/sda7

mdadm mdadm /dev/md# -a /dev/sda7

文件系统时,可以指定条带大小里有多少个block,然后避免每次生成软raid时计算一个条带包含多少磁盘块。  mke2fs -j -E stride=16 -b(块大小) 4096 /dev/md0

linux raid技术的更多相关文章

  1. RAID技术介绍

    RAID技术介绍 简介 RAID是一个我们经常能见到的名词.但却因为很少能在实际环境中体验,所以很难对其原理 能有很清楚的认识和掌握.本文将对RAID技术进行介绍和总结,以期能尽量阐明其概念. RAI ...

  2. 双机相关知识(原理、LVM、Raid技术)

    1        双机知识 1.1         预备知识 1.1.1     基本概念 双机热备:双机热备双机管理软件可以根据心跳自动检测环境运行情况,如果发现一个节点挂掉了,会自动切换到另外一个 ...

  3. 【原】Linux Raid 实验

    本文参照以下两个链接,将实验重做了一遍,目的就是加深印象及提升实操能力 参照链接:http://www.opsers.org/base/learning-linux-the-day-that-the- ...

  4. [转]RAID技术介绍和总结

    以下内容转自伯乐在线:http://blog.jobbole.com/83808/ 原文出处: 涯余(@若东临于沧海) ---------------------------------------- ...

  5. RAID技术介绍和总结

    简介 RAID是一个我们经常能见到的名词.但却因为很少能在实际环境中体验,所以很难对其原理 能有很清楚的认识和掌握.本文将对RAID技术进行介绍和总结,以期能尽量阐明其概念. RAID全称为独立磁盘冗 ...

  6. 高速掌握sinox2014激动人心的ZFS和RAID技术

    Sinox2014引入激动人心的zfs系统以及其支持的RAID,让用户高速打造便宜的高可靠性文件server. ZFS文件系统的英文名称为Zettabyte File System,也叫动态文件系统( ...

  7. 图文并茂 RAID 技术全解 – RAID0、RAID1、RAID5、RAID10

    RAID 技术相信大家都有接触过,尤其是服务器运维人员,RAID 概念很多,有时候会概念混淆.这篇文章为网络转载,写得相当不错,它对 RAID 技术的概念特征.基本原理.关键技术.各种等级和发展现状进 ...

  8. 第8天【文件系统挂载、ext文件系统及read命令、Linux RAID、lvm应用】

    文件系统挂载与管理工具(01)_recv 文件系统管理: 将额外文件系统与根文件系统某现存的目录建立关联关系,进而使得此目录作为其他文件访问入口的行成为挂载: 解除此关联关系的过程 吧设备关联挂载点: ...

  9. 【转】RAID 技术发展综述

    原文地址:https://blog.csdn.net/liuaigui/article/details/4581970   摘要 :现代企业信息化水平不断提高,数据已经取代计算成为了信息计算的中心.这 ...

随机推荐

  1. iOS iPhoneX/iPhoneXS/iPhoneXR/iPhoneXS Max系列适配

    以前异性屏只有一款iPhoneX,所以在适配的时候直接判断高度是否等于812即可判断是否是iPhoneX #define IS_IPHONE_X (IS_IPHONE && SCREE ...

  2. C#多线程简单例子讲解

    C#多线程简单例子讲解 标签: 多线程c#threadobjectcallbacktimer 分类: C#(7) 转载网址:http://www.knowsky.com/540518.html .NE ...

  3. 如何在Windows 10 IoT Core中添加其他语言的支持,如中文

    目前很多开发者已经开始使用Windows 10 IoT来做物联网领域的开发了,目前Windows 10 IoT Core的版本支持树莓派2(以及新出的树莓派3).Minnowboard Max以及Dr ...

  4. LeetCode 206. Reverse Linked List(迭代和递归两种实现)

    递归的代码比迭代的代码看起来更清爽一些,也是由于递归对行为进行了抽象吧. 注意到,这是一个尾递归函数.一些编译器会将它优化为迭代,这样一方面,在代码层面保持了清晰的逻辑和可读性.一方面保持了代码的性能 ...

  5. centos6搭建docker镜像私服

    1.创建私服容器 docker run -d -e SETTINGS_FLAVOR=dev -e STORAGE_PATH=/tmp/registry -v /opt/data/registry:/t ...

  6. 【JMeter4.0】之 “jdk1.8、JMeter4.0” 安装与配置以及JMeter永久汉化和更改界面背景、并附加附录:个人学习总结

    目录: 一.首先,需要安装.配置jdk 二.其次,安装.配置JMeter 三.JMeter汉化以及更改界面背景 四.附录:个人学习总结 一.首先,需要安装.配置jdk   返回目录 1.到官网下载1. ...

  7. myeclipse配置问题

    一,配置相关 1,myeclipse配置jdk Window --> Preferences --> Java --> Installed JREs 2.myeclipse配置tom ...

  8. 【Atheros】内核调试及网卡加载等问题小结

    我做的其他很多工作就比较有针对性了,不是什么大众性的问题,比如加统计代码.实现自己的速率调整算法或者加一些自己的控制什么的,就不再单独介绍了,最后呢再罗列一些小问题,供参考. 1. 加载模块(执行wi ...

  9. Java线程面试题:设计四个线程,其中两个线程每次对 j 加 1,另外两个每次对 j 减 1,程序如下。

    package thread; /** * Java线程面试题 * @author zhongfg * @date 2015-06-16 */ public class ThreadInterview ...

  10. SELinux状态修改

    查看SELinux状态: 1./usr/sbin/sestatus -v      ##如果SELinux status参数为enabled即为开启状态 SELinux status:         ...