RAID0---RAID10(重点)
二、基本原理
RAID ( Redundant Array of Independent Disks )又叫独立磁盘冗余阵列,通常简称为磁盘阵列。
RAID是一种把多块独立的硬盘(物理硬盘)按不同方式组合起来形成一个硬盘组(逻辑硬盘),从而提供比单个硬盘更高的存储性能和提供数据冗余的技术。
软raid和硬raid区别:
要实现RAID可以分为硬件实现和软件实现两种。所谓硬RAID就是指通过硬件实现,同理软件实现就作为软RAID.
冗余(备份)从好到坏:RAID1 RAID10 RAID 5 RAID0
性能从好到坏:RAID0 RAID10 RAID5 RAID1
成本从低到高:RAID0 RAID5 RAID1 RAID10
从实现角度看, RAID 主要分为软 RAID、硬 RAID 以及软硬混合 RAID 三种。软 RAID 所有功能均有操作系统和 CPU 来完成,没有独立的 RAID 控制 / 处理芯片和 I/O 处理芯片,效率自然最低。硬 RAID 配备了专门的 RAID 控制 / 处理芯片和 I/O 处理芯片以及阵列缓冲,不占用 CPU 资源,但成本很高。软硬混合 RAID 具备 RAID 控制 / 处理芯片,但缺乏 I/O 处理芯片,需要 CPU 和驱动程序来完成,性能和成本 在软 RAID 和硬 RAID 之间。
Raid 0:最少要两块硬盘才能实现。
优势:数据读取写入最快,硬盘硬盘使用率100%
缺点:无冗余能力,无备用硬盘,一块硬盘损坏,整个阵列的数据都会消失。
建议:做raid0 可以提供更好的容量以及性能,读写速度在RAID中最快,推荐对数据安全性要求不高的使用。
公式:[root@localhost ~]# mdadm -Cv /dev/md0 -l0 -n2 /dev/sd硬盘
Raid 1:最少要两块硬盘才能实现
优势:具有冗余能力,安全性强。具有一块备用硬盘,速度快
缺点:硬盘使用率为50%
建议:主要用在对数据安全性要求很高,而且要求能够快速恢复被损坏的数据的场合。
公式:[root@localhost ~]# mdadm -Cv /dev/md1 -l1 -n2 /dev/sd硬盘
****倘若只有两块硬盘推荐做raid1,如果是要求速度快就做raid0
Raid 2:
优势:RAID2对大数据量的输入输出有很高的性能
缺点:在少量数据的输入输出时性能不好
建议:主要用在对数据安全性要求很高,而且要求能够快速恢复被损坏的数据的场合。
公式:[root@localhost ~]# mdadm -Cv /dev/md2 -l2 -n3 /dev/sd硬盘
Raid3:至少需要3块硬盘raid3
优势:以上优势,raid5兼顾。任意N-1快硬盘都有完整的数据。
缺点:只允许单盘故障,一盘出现故障得尽快处理。有盘坏情况下,raid5 IO/CPU性能狂跌,此时性能烂到无以复加。
建议:盘不多,对数据安全性和性能都有要求,raid5是个不错选择,鉴于出问题的性能,盘多可考虑riad10
公式:[root@localhost ~]# mdadm -Cv /dev/md3 -l3 -n3 /dev/sd硬盘
Raid5:至少需要3块硬盘raid5
优势:可以保证速度为两个盘的速度,容量为两个盘的容量,安全性也和raid差不多。但是毕竟是3个盘,的出来的容量和速度都只等于两个盘之和。
缺点:只允许单盘故障,一盘出现故障得尽快处理。有盘坏情况下,raid5 IO/CPU性能狂跌,此时性能烂到无以复加。
建议:盘不多,对数据安全性和性能都有要求,raid5是个不错选择,鉴于出问题的性能,盘多可考虑riad10
公式:[root@localhost ~]# mdadm -Cv /dev/md5 -l5 -n3 /dev/sd硬盘
Raid6:至少需要4块硬盘做raid6
优势:raid6是在raid5的基础上为了加强数据保护而设计的。可允许损坏2块硬盘。
可用容量:C=(N-2)×D C=可用容量 N=磁盘数量 D=单个磁盘容量。
比如4块1T硬盘做raid6可用容量是:(4-2)×1000GB=2000GB=2T
缺点:性能提升方面不明显
建议:对数据安全性要求高,性能要求不高的可选择。
公式:[root@localhost ~]# mdadm -Cv /dev/md6 -l6 -n4 /dev/sd硬盘
Raid10:至少需要4快硬盘。raid10是2快硬盘组成raid1,2组raid1组成raid0,所以必须需要4块硬盘。
优势:兼顾安全性和速度。基础4盘的情况下,raid10允许对柜盘2块故障,随着硬盘数量的提示,容错量也会相对应提升。这是raid5无法做到的。
缺点:速度和容量也只有2个盘之和。却需要4个盘
建议:硬盘数量足够的情况,建议riad10.
公式:[root@localhost ~]# mdadm -Cv /dev/md10 -l10 -n4 /dev/sd硬盘
题外话:raid5 VS raid10
只看盘的数量的话,raid5的写性能不逊于raid10.
4盘的情况下,raid10提供2盘的写性能,raid5提供3盘
但,raid5的校检体质,导致额外的I0和CPU使用。
不过raid最重要的指标是可靠性:
4盘的raid5,只允许单盘故障,
raid10,允许对柜盘2块故障,可靠性高于raid5,且raid10 可随盘量上升提高容错,raid5就不行,而且IO和CPU的额外开销还涂增,从可靠性和冗余角度,达到同样的可靠性,raid10写能力高于raid5.
特殊情况下:有坏盘,无热备
radi5 CPU和IO性能狂跌。因为数据不完整,在某特殊软件下,可以实现即时重构数据进驻内存,保障业务运行,但此时raid5的性能已经烂到无以复加。
raid10 是条带化+镜像,坏盘影响读性能,不影响写性能,而且无需重构。此时的raid10完爆raid5
RAID0---RAID10(重点)的更多相关文章
- Raid0、Raid0+1、Raid1、Raid5四者的区别
RAID,可以把硬盘整合成一个大磁盘,还可以在大磁盘上再分区,放数据还有一个大功能,多块盘放在一起可以有冗余(备份)RAID整合方式有很多,常用的:0 1 5 10 Raid0Raid0是所有raid ...
- Linux运维跳槽必备的40道面试精华题(转)
Linux运维跳槽必备的40道面试精华题(转) 下面是一名资深Linux运维求职数十家公司总结的Linux运维面试精华,助力大家年后跳槽找个高薪好工作. 1.什么是运维?什么是游戏运维? 1)运维 ...
- Linux运维跳槽40道面试精华题
Linux运维跳槽40道面试精华题 运维派 3天前 1.什么是运维?什么是游戏运维? 1)运维是指大型组织已经建立好的网络软硬件的维护,就是要保证业务的上线与运作的正常,在他运转的过程中,对他进行维护 ...
- Linux运维精华面试题
1.什么是运维?什么是游戏运维? 1)运维是指大型组织已经建立好的网络软硬件的维护,就是要保证业务的上线与运作的正常,在他运转的过程中,对他进行维护,他集合了网络.系统.数据库.开发.安全.监控于一身 ...
- linux运维工程师面试题收集
面试必考 mysql5和mysql6 有什么区别 mysql-server-5.5:默认引擎改为Innodb,提高了性能和扩展性,提高实用性(中继日志自动恢复) mysql-server-5.6:In ...
- Linux运维40道精华题
题目 1.什么是运维?什么是游戏运维? 1)运维是指大型组织已经建立好的网络软硬件的维护,就是要保证业务的上线与运作的正常,在他运转的过程中,对他进行维护,他集合了网络.系统.数据库.开发.安全.监控 ...
- Linux----知识储备
----------------------------------------------------------------------基础---------------------------- ...
- Linux运维跳槽必备的40道面试精华题
过一次年,结婚.存款.父母养老,一系列向钱看的事都在碾压我们本来还挺简单的神经,但难过没有出路,唯有找到好的方法和事业方向,才能实现一步一个脚印的逆袭. 下面是一名资深Linux运维求职数十家公司总结 ...
- Linux运维命令总结
.什么是运维?什么是游戏运维? 1)运维是指大型组织已经建立好的网络软硬件的维护,就是要保证业务的上线与运作的正常, 在他运转的过程中,对他进行维护,他集合了网络.系统.数据库.开发.安全.监控于一身 ...
随机推荐
- tf.train.examle函数
在自定义数据集中: example = tf.train.Example(features=tf.train.Features(feature={ 'img_raw': tf.train.Featur ...
- 【转】解决jenkins自动杀掉衍生进程
在执行 shell输入框中加入BUILD_ID=dontKillMe ,即可防止jenkins杀死启动的进程 export BUILD_ID=dontKillMe PROJECT_LOCATION=& ...
- promise封装ajax
promise的含义(本身不是异步,是封装异步操作的容器,统一异步的标准) promise对象的特点:对象的状态不受外界影响:一旦状态改变,就不会再变,任何时候都可以得到这个结果. function ...
- 数据库程序接口——JDBC——API解读第三篇——处理结果集的核心对象
核心对象 处理结果集的核心对象有ResultSet和RowSet.其中ResultSet指定关系型数据库的结果集,RowSet更为抽象,凡是由行列组成的数据都可以. ResultSet ResultS ...
- Win10上面安装vmware,并在Vmware上面安装Ubuntu
一.安装vmware vmware安装包 链接:https://pan.baidu.com/s/178IOOuMOcotSrr6omIAM_A 提取码:c7ba vmware激活码 链接:https: ...
- Java代码三级跳——表达式、语句和代码块
Java代码三级跳—表达式.语句和代码块 表达式(expression):Java中最基本的一个运算.比如一个加法运算表达式.1+2是一个表达式,a+b也是. 语句(statement):类似于平时说 ...
- git查漏补缺
1. commit提交注释规范 2. commit 注释没写完或写错了,在不用删除这条commit的情况下,如何更正注释信息 git commit -m '1' git commit --amend ...
- IdentityHashCodeTest
Java学习:identityHashCode和hashCode方法, System类提供了一个identityHashCode(Object x)方法,这个方法返回的是指定对象的精确hashCode ...
- mybatis批量插入和更新
批量插入 <insert id="add" parameterType="java.util.List"> insert all <forea ...
- vs2013编译soui并创建一个项目
1.soui.10.sln改为soui.13.sln 2.用nodepad++打开soui.13.sln,作如下修改 注:第一行我是改为13.00,编译后似乎自己变为12.00了 编译结果: 注:这是 ...