Linux -RAID
转自:http://www.cnblogs.com/xiaoluo501395377/archive/2013/05/25/3099464.html
| 硬盘类型 | 速度 |
| SATA | <150M/s |
| SCSI | <200M/s |
| SAS | 200M/s左右 |
| SSD固态硬盘 | 500M/s左右 |
磁盘的缺陷就是:I/O性能极差,稳定性极差
RAID(Redundant Array of Independent Disks)
①速度:读写速度的提升
②磁盘使用率:多磁盘的空间使用率
③冗余性: 能够支持几块磁盘损坏而不丢失数据
RAID一共有7个级别,分别是RAID0~RAID6 ,但常用的RAID级别主要是以下四种:
①RAID0:提高读写性能
②RAID1:提高读写性能、冗余性
③RAID5:提高读写性能、冗余性(允许1块硬盘发生故障)
④RAID6:提高读写性能、冗余性(运行2块硬盘发生故障)
1.RAID0 至少需要2块硬盘

①空间利用率:所有硬盘空间之和
②性能:所有硬盘读写速度之和
③冗余能力:无
读写数据的时候是将数据分开读写到多块硬盘上,所以其读写速度是最快的,但是因为多块硬盘上保存了数据的一部分,所以当一块硬盘发生损坏时,其整个RAID的数据也就损坏了
2.RAID1 至少需要2块硬盘

①空间利用率:所有磁盘中最小的那块(其实在使用RAID时,最好每块硬盘的大小及型号都一样)
②性能:读性能是所有硬盘之和,写性能有所减弱
③冗余能力:只要有一块硬盘正常,数据就正常
同于RAID0了,RAID1在写数据时会将数据复制到多块硬盘上,即每块硬盘都会保存该数据的一个备份,在读数据时,以提高冗余性。读的时候同时从多块硬盘上读取数据,以提高读的性能
3.RAID5 少需要3块硬盘
①空间利用率:1 - 1/n
②性能:读性能接近RAID0,写性能相比RAID0要弱一些
③冗余能力:可以接受1块硬盘的损坏
RAID5与RAID0类似,读写数据的时候会将数据分布的读写到所有硬盘上。但是在写数据的时候RAID5会对数据进行奇偶校验运算,并将校验信息也保存在了硬盘上,所以即使我们其中一块硬盘发生了损坏,RAID5也能通过其他硬盘以及校验信息对数据进行恢复使用。但是如果2块或者2块以上的硬盘发生了损坏,整个数据也就损坏了。
4.RAID6 至少需要4块硬盘

RAID6与RAID5相类似,读写数据的时候会将数据分布的读写到所有硬盘上。在写数据的时候RAID5会对数据进行奇偶校验运算,并将校验信息也保存在了硬盘上,但是RAID6会比RAID5多保存一份校验信息,所以RAID6的冗余性比RAID5就有所提升,可以允许2块硬盘发生损坏。
①空间利用率:1 - 2/n
②性能:读性能接近RAID5,写性能相比RAID5还要弱一些
③冗余能力:可以接受2块硬盘的损坏
| RAID级别 | 速度 | 冗余性 | 磁盘利用率 |
| RAID 0 | 读写速度均有提升 | 0 | 所有磁盘之和 |
| RAID 1 | 读速度有提示 | n | 一个磁盘大小 |
| RAID 5 | 读写速度均有提升 | 1 | 1-1/n |
| RAID 6 | 读写速度均有提升 | 2 | 1-2/n |
Linux操作系统的软件RAID是通过mdadm 这个程序来实现的,使用Linux下的 mdadm 这个软件需要注意的几点:
①mdadm 支持的RAID级别有:RAID0、RAID1、RAID4、RAID5以及RAID6。我们看到对于常用的四种RAID级别,mdadm都能够支持
②mdadm 可以基于多块硬盘、分区以及逻辑卷来创建RAID。对于硬件实现RAID来说,就只能是基于多块硬盘了
③创建好的软件RAID对应于 /dev/mdn,n表示的是第几个RAID,如第一个创建的RAID对应 /dev/md0, 第二个创建的RAID就对应 /dev/md1,当然这个名字是可以自己随便取的
④RAID的信息保存在 /proc/mdstat 文件中,或者通过 mdadm 命令来查看
mdadm 这个命令来创建软件RAID的语法格式:
创建RAID 0: mdadm -C /dev/md0 -a yes -l 0 -n 2 /dev/sdb /dev sdc
创建RAID 1: mdadm -C /dev/md1 -a yes -l 1 -n 2 /dev/sdb /dev/sdc 创建RAID 5: mdadm -C /dev/md2 -a yes -l 5 -n 3 /dev/sdb /dev/sdc /dev/sdd 创建RAID 6: mdadm -C /dev/md3 -a yes -l 6 -n 4 /dev/sdb /dev/sdc /dev/sdd /dev/sde
① -C 创建一个新的RAID 我们这里就是创建第一个RAID,名字叫做 /dev/md0
② -a 自动创建对应的设备 yes表示会自动在/dev下创建该RAID设备
③ -l 指定要创建的RAID级别 0我们这里创建RAID 0
④ -n 指定硬盘数量 2表示使用2块硬盘来创建这个RAID0,分别是 /dev/sdb 和 /dev/sdc
我们也可以使用 -x 参数来指定一个备份磁盘,备份磁盘一般不使用,当出现一个磁盘故障的时候,指定的备份磁盘可以自动上线工作:
mdadm -C /dev/md0 -a yes -l 5 -n 3 -x /dev/sdb /dev/sdc /dev/sdd /dev/sde mdadm -D 这个命令来查看刚创建的RAID的详细信息
或者来查看 /proc/mdstat 这个文件来查看RAID的信息 RAID的信息保存到 /etc/mdadm.conf 这个文件里,这样在下次操作系统重新启动的时候,系统就会自动加载这个文件来启用我们的RAID
mdadm -D --scan > /etc/mdadm.conf 使用RAID 0这个设备来对其进行文件系统格式化和挂载使用
mkfs.ext4 /dev/md0
mount /dev/md0 /mnt 通过 mdadm -S 这命令来关闭我们的 RAID ,当然在关闭RAID之前,我们需要先卸载掉RAID
umount /mnt
mdadm -S /dev/md0 通过 mdadm --zero-superblock 这个命令即可,但是我们首先必须要停止我们的RAID,即使用 mdadm -S 命令。例如我要将刚才创建的RAID 0 的两块硬盘完全移除,就可以使用如下命令:
mdadm -S /dev/md0
mdadm --zero-superblock /dev/sdb
mdadm --zero-superblock /dev/sdc 试验: 创建一个 RAID 5
mdadm -C /dev/md0 -a yes -l 5 -n 3 /dev/sdb /dev/sdc /dev/sdd
cat /proc/mdstat
mdadm 命令来模拟RAID故障,通过 mdadm /dev/md0 -f /dev/sdd 命令 mdadm -D /dev/md0查看信息
mdadm /dev/md0 -r /dev/sdd 来移除这块硬盘 换上新的硬盘,使用 mdadm /dev/md0 -a /dev/sde 这个命令

Linux -RAID的更多相关文章
- 【原】Linux Raid 实验
本文参照以下两个链接,将实验重做了一遍,目的就是加深印象及提升实操能力 参照链接:http://www.opsers.org/base/learning-linux-the-day-that-the- ...
- 第8天【文件系统挂载、ext文件系统及read命令、Linux RAID、lvm应用】
文件系统挂载与管理工具(01)_recv 文件系统管理: 将额外文件系统与根文件系统某现存的目录建立关联关系,进而使得此目录作为其他文件访问入口的行成为挂载: 解除此关联关系的过程 吧设备关联挂载点: ...
- linux raid技术
一.概念 磁盘阵列(Redundant Arrays of Independent Disks,RAID),有“独立磁盘构成的具有冗余能力的阵列”之意.是为了提高文件在磁盘上的读写速度而研究出来的. ...
- Linux RAID 磁盘管理
Linux RAID 磁盘管理 RAID工作模式介绍:https://www.cnblogs.com/xiangsikai/p/8441440.html 本章主要讲解 Linux下 RAID5 与 R ...
- Linux raid信息 查看
Linux下查看软.硬raid信息的方法. 软件raid:只能通过Linux系统本身来查看 cat /proc/mdstat 可以看到raid级别,状态等信息. 硬件raid: 最佳的办法是通过已安装 ...
- Linux RAID卡优化
200 ? "200px" : this.width)!important;} --> 介绍 我们的生产服务器经常会做raid存储,但是单单做了raid就能保证性能高效和数据 ...
- Linux - RAID和LVM
什么是 RAID 磁盘阵列全名是『 Redundant Arrays of Inexpensive Disks, RAID 』,英翻中的意思是:容错式廉价磁盘阵列. RAID 可以透过一个技术(软件或 ...
- Linux RAID简介
现代磁盘的缺陷:IO性能极弱,稳定性极差 RAID廉价磁盘冗余阵列:通过多磁盘并行运行来提高计算机的IO性能,在创建RAID时要求硬盘大小.品牌.型号一样 RAID可分为多种,称之为RAID级别,现代 ...
- Linux RAID磁盘阵列
RAID磁盘阵列 什么是RAID RAID是磁盘阵列的英文缩写,多块磁盘组成了一个组合,一起完成存储任务,就是磁盘阵列. RAID几种常用的类别(组合) RAID0:条带卷:最低磁盘个数2+,空间利用 ...
随机推荐
- 前端开发者应该知道的 CSS 小技巧
一些小技巧让你的CSS技术更专业 使用:not()去除导航上不需要的边框 为body添加行高 垂直居中任何元素 逗号分离的列表 使用负nth-child选择元素 使用SVG图标 文本显示优化 在纯CS ...
- Manacher算法 , 实例 详解 . NYOJ 最长回文
51 Nod http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1089 Manacher 算法 定义数组 p[i]表示以i为 ...
- webservice发布在外网上的在system.web中加入这个就好使了
<webServices> <protocols> <add name="HttpSoap"/> ...
- HDOJ-三部曲一(搜索、数学)-1013-Sudoku
Sudoku Time Limit : 4000/2000ms (Java/Other) Memory Limit : 131072/65536K (Java/Other) Total Submi ...
- 破解 crackme4(深入底层抓出关键算法)
系统 : Windows xp 程序 : crackme4 程序下载地址 :http://pan.baidu.com/s/1nu452xN 要求 : 注册机编写 使用工具 : OD & IDA ...
- ZOJ2006 (最小表示法)
var s:ansistring; cas:longint; function minp(st,len:longint):longint; var p1,p2,k,tmp:longint; begin ...
- HDU 3047
http://acm.hdu.edu.cn/showproblem.php?pid=3047 和hdu 3038以及poj那个食物链一样,都是带权并查集,此题做法和hdu 3038完全相同,具体操作看 ...
- 图例解析四大UML关系【转】
转自http://developer.51cto.com/art/201007/209644.htm 本文和大家重点讨论一下UML关系图,UML中有五类图,共有九种图形,UML类之间的UML关系图你是 ...
- 决策树模型 ID3/C4.5/CART算法比较
决策树模型在监督学习中非常常见,可用于分类(二分类.多分类)和回归.虽然将多棵弱决策树的Bagging.Random Forest.Boosting等tree ensembel 模型更为常见,但是“完 ...
- spring学习笔记---第三方SDK(Rest API)和Jaskson的巧用
前言: 其实我以前一直不懂电商, 以及电商中所涉及的业务概念. 对于SKU等名词, 觉得有些玄乎. 对其背后的数据模型, 也有莫名的未知恐惧感: 庞大而理不清头绪. 不过最近有机会接触了微商(有赞), ...