概述:磁盘阵列Redundant Arrays of Inexpensive Disks RAID,其中翻译为:容错式廉价磁盘阵列。RAID,可以将多个较小的磁盘整合成为一个逻辑上的较大容量的磁盘装置,而该大容量装置不仅仅值起到扩容作用,整个RAID由于选择的等级不同,而使得整合后的磁盘具有不同的功能。

RAID种类:软RAID、硬RAID

RAID等级:常见等级:
raid0:组合任意硬盘,每块硬盘的容量大小没有特定的要求,如果容量大小相同则效果会很好,需要的存储的数据按照chunk分片,平均的写进组成raid0的所有硬盘中,所以其读写速度大大的提高,这个raid0的有效容量是所有磁盘容量之和。

raid1:至少需要两块,每块硬盘的容量大小要一致,如果磁盘的荣来那个不同,则总容量将以最小的那一颗磁盘为主,其存储模式为将需要存储的数据分别写入这两块磁盘上,而其中一块磁盘就是另外一块磁盘的镜像,因此raid1实现了高效冗余,由于一条数据需要向两块磁盘写入因此其写入速率降低,读取速率提高,其有效容量是所有磁盘容量之和的一般。

raid4:至少三块,其存储模式是将一条数据按照chunk分为两片时,第一片存储在第一块磁盘,第二片存储在第二块磁盘上,然后计算出其校验码,每次的循环写入时将会将同位的校验码存储在第三块磁盘上,即这个阵列中允许坏掉1块磁盘,才能保证磁盘中数据不受损坏,读取和存储的速率都将提高,而且具有冗余效果,其有效容量是所有磁盘块数减1,既是其中一块不能存放数据,二十用了存放校验码的。

raid5:至少三块,该阵列是改善raid4校验盘的存放压力而产生的,由于所有的数据都存储在一块磁盘上所以可以说,其校验码没有冗余,而raid5则改善了此种存储方式,其存储机制是轮换存储校验码,其中一个磁盘存储其他磁盘数据的校验码,轮换的存储,因此任何一个磁盘损毁时都能够藉由其他的次哦按的校验码来重建原本的磁盘内的数据,但是当损毁数量大于等于两颗磁盘时,整组的数据就会收到损坏。

raid6:至少四块,由于使用了两颗磁盘来存储校验值,所以该阵列允许损毁两块磁盘。

raid10:将偶数块磁盘先组成raid1然后将所有的raid1在组成raid0,这样就同时具有了raid0和raid1的特性了。

raid50:先将磁盘先组成raid5然后将所有的raid5在组成raid0,这样就同时具有了高效读取和存储效率而且还具有高效的冗余效果,加强了数据的安全性。

实现:
硬raid的实现:
●由raid芯片固化在服务器的主板上,由硬件进行组建实现
●通过主机适配器,由PCI-e接口对硬件扩展实现

软raid的实现:
使用命令"mdadm"实现
该命令是模式化的命令:

mdadm
    -C:(Create)创建模式,创建新的raid设备
        -n:创建raid时使用的磁盘个数(不包括空闲盘)
        -x:指定空闲磁盘的个数(当raid有磁盘损毁时,空

闲磁盘会立即顶上)
        -c:指定chunk大小,默认64k
        -l:指定raid的级别
#mdadm -C /dev/md1 -a yes -l 0 -n 2 -x 1 /dev/sda6 /dev/sda7
#mke2fs -j /dev/md1

-F:(Follow or Monitor)监控模式,监控raid的运行状态
    -G:(Grow)扩展模式,增加raid的设备
    --add,--fail,--remove (Manage)管理模式,对raid的设备增加或删除   
#mdadm /dev/md2 --fail /dev/sda8
    
    -v  详细信息
    -s  扫描
    --detail | -D  显示其详细信息
#mdadm --detail /dev/md2
#mdadm -D /dev/md2

保存当前的所有raid信息,便于重新装配时方便
#mdadm -D -s > /etc/mdadm.conf    

-A:(Assemble)装配模式,将其他的raid重新识别,使其生效
#mdadm -A /dev/md2    

-S:停止raid工作
#mdadm -S /dev/md2

具体实现步骤:
注:这里以实现raid5为例,并且用扩展分区上的四个逻辑分区代表三块磁盘和一块空闲磁盘。

#echo "
n

+2G
n

+2G
n

+2G
n

+2G
t
5
fd
t
6
fd
t
7
fd
t
8
fd
w" | fdisk /dev/sdb
                        #####在dev/sda的扩展分区创建四个大小为2G的逻辑分区,每个分区号分别为5,6,7,8并且将其文件系统类型修改为fd。

#partprobe /dev/sdb                          #####通知内核重读分区

####################注意现在千万不要一冲动直接格式化######################

#ls /dev                                     #####查看是否存在md0或md1等,以便于下面创建时重名,发生错误,redhat系列默认存在md0

#mdadm -C /dev/md1 -a yes -l 5 -n 3 -x 1 /dev/sdb{5,6,7,8}                    #####创建raid5,指定名字为/dev/md1,等级为raid5,磁盘数为3,空闲磁盘为1,分别是/dev/sdb{5,6,7,8}

#cat /proc/mdstat 
   #####显示当前内核所有启用的软raid的工作状态

#mke2fs -j /dev/md1    #####格式化该raid

#mount /dev/md1 /mnt    #####将/dev/md1挂载在/mnt下

到此raid5就创建成功了,而且可以正常使用了!

本文转自 向阳草米奇 51CTO博客,原文链接:http://blog.51cto.com/grass51/794847,如需转载请自行联系原作者

Linux下磁盘阵列raid相关推荐

  1. linux配置磁盘阵列raid 0、raid1 、raid5 、raid6 、raid10、raid50、raid60原理

    linux配置磁盘阵列raid 0.raid1 .raid5 .raid6 .raid10.raid50.raid60原理 1 raid0的特性: 2 raid1的特性: 3 raid10的特性: 4 ...

  2. linux服务器配置磁盘阵列,Linux下的RAID配置和管理

    一:实验环境 1):虚拟机 2):虚拟机上配置lingux系统 3):利用linux系统实现Raid的配置 4):在虚拟机中加入6快硬盘 二:实验目标 1):熟练掌握几种常用的Raid 2):对于Ra ...

  3. linux硬件 软件raid,Linux下软件RAID的实现

    作为网络操作系统, 冗余磁盘阵列(Redundant Array of Inexpensive Disks,简称RAID)功能是必备的功能之一.从Linux 2.4内核开始,Linux就提供软件RAI ...

  4. linux软raid 系统坏了,LINUX下软RAID的制造及如何查看坏盘?

    系统配置情况 假设某单位新上了一套使用Oracle数据库的能量采集系统,该系统数据量极大并且读写非常频繁,实时性要求高,高峰时有近40名用户在线,对数据库服务器的磁盘子系统提出了很高的要求.由于预算比 ...

  5. linux mdadm 源码,Linux下软RAID管理工具mdadm的基本操作实践

    RAID (Redundant Array of Independent Disks独立磁盘冗余阵列)是将多颗独立的硬盘整合成一个存储单元的数据存储技术. 1)RAID 类型有多种,分别提供不同级别的 ...

  6. linux raid和mdadm,linux下的raid及mdadm的命令详解

    RAID被称为廉价的冗余磁盘阵列,这是由于在早期的磁盘很小,性能差,易损坏.所以RAID主要的做法就是把多个便宜的小磁盘组合到一个磁盘组,使性能和磁盘容量都可以达到相当于昂贵的磁盘性能. 根据RAID ...

  7. linux下各种Raid介绍

    允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://shitao123.blog.51cto.com/3873637/1206313 RAID ...

  8. 【教程】Linux 下软 RAID 实现方案!!

    一.应用场景 Raid大家都知道是冗余磁盘的意思(Redundant Arrays of Independent Disks,RAID),可以按业务系统的需要提供高可用性和冗余性,目前市面上比较常见的 ...

  9. 在 Linux 下使用 RAID(二):使用 mdadm 工具创建软件 RAID 0 (条带化)

    RAID 即廉价磁盘冗余阵列,其高可用性和可靠性适用于大规模环境中,相比正常使用,数据更需要被保护.RAID 是一些磁盘的集合,是包含一个阵列的逻辑卷.驱动器可以组合起来成为一个阵列或称为(组的)集合 ...

最新文章

  1. R语言eval函数评估表达式或者字符串实战
  2. 倒计时2天!AI大咖云集、30场技术公开课,还有乐队... 年度最有意思的AI开发者活动来了!...
  3. 网站内链如何布局才能使蜘蛛更喜欢?
  4. 无电池摄像头如何实现高清晰度视频编码?
  5. js计算器代码加减乘除_如何用jQuery做一个简易版计算器
  6. .Net设计模式_原型模式
  7. java逸出_Java并发编程 - 对象的共享
  8. Typora如何插入公式
  9. 【Java】京东面试:说说MySQL的架构体系
  10. 反向传播的目的,及其为什么要从后向前计算梯度
  11. iOS 唤起各种App的方法总结
  12. PHP TP5框架 发送短信验证码
  13. CTFweb篇——html源代码签到题
  14. 网页短链接实现原理探究
  15. 小米android通知栏图标不显示,MIUI开发版更新:已修复原生样式下部分通知图标不显示的问题...
  16. Npm配置全局安装插件目录以及命令用法扩展
  17. OSX的一些基本知识
  18. PS笔刷:150个天气套装
  19. 百度云 php api接口调用 签名计算
  20. Java计算机毕业设计大学生兼职管理系统源码+系统+数据库+lw文档

热门文章

  1. SELECT INTO和INSERT INTO SELECT的区别 类似aaa?a=1b=2c=3d=4,如何将问号以后的数据变为键值对 C# 获取一定区间的随即数 0、1两个值除随机数以外...
  2. python和uipath区别_Uipath中调用Python的方法
  3. configure 查找依赖库_由浅入深:Python 中如何实现自动导入缺失的库?
  4. mysql group commit_MySQL5.7 核心技术揭秘:MySQL Group Commit-阿里云开发者社区
  5. SQL Server 使用Detach和Attach 方式 移动数据库位置
  6. java rtree源码_rtree R树用java实现的源代码,欢迎广大用户学习交流 Applet 272万源代码下载- www.pudn.com...
  7. phpstorm xdebug本地调试断点不生效_PHPSTORM与xdebug配置
  8. CentOS:linux开放指定端口命令
  9. IDEA采用Debug模式无法启动项目,但是采用普通模式可以正常启动项目
  10. 在html页面中建立文字连接,html中如何建立超链接