当前位置: 首页 > news >正文

Linux RAID简介

现代磁盘的缺陷:IO性能极弱,稳定性极差

RAID廉价磁盘冗余阵列:通过多磁盘并行运行来提高计算机的IO性能,在创建RAID时要求硬盘大小、品牌、型号一样

RAID可分为多种,称之为RAID级别,现代的RAID共7类,常用的共4类

RAID 0:提高读写性能

RAID 1:读取性能、冗余性

RAID 5:读写性能、冗余性(最多损坏1块磁盘)

RAID 6:读写性能、冗余性(最多损坏2块磁盘)

 

RAID 0:最少2块磁盘,在读写时将数据分开读写到多块磁盘来提高读写性能

原理:在读写时数据分开读写到磁盘,数据分为磁盘个数份。有几块磁盘就分为几份,以此来提高磁盘的读写效率

特点:

空间利用率:所有硬盘空间之和

性能:所有磁盘速度之和

冗余能力:无

RAID 0是性能最高的、空间利用率最高的,但是没有冗余能力

 

RAID 1:最少2块硬盘,数据是复制写到多块硬盘,在读取数据时提高冗余性。同时从多块硬盘读取数据提高读性能

特点:

空间利用率:磁盘中最小的那块

性能:读性能是所有磁盘之和,写性能稍慢

冗余能力:有

RAID 1空间利用率最小,读性能很强,冗余能力最强。应用在稳定性要求比较高的地方

 

综上所述RAID 0和RAID 1各有优缺点

所以生产环境使用最多的就是RAID 5和RAID 6

RAID 5

RAID 5最少3块磁盘,与RAID 0类似,读写数据时会将数据分布式的读写到所有磁盘,但是在写数据的时候会对数据进行奇偶校验运算,将校验信息同时保存在磁盘之上,校验信息可用于数据恢复

RAID 5特点:RAID  5就相当于RAID  0的升级版

空间利用率1-1/N

性能:读性能接近RAID 0  写性能较RAID  0弱一些

冗余能力:可以接受1块磁盘损坏

例如:上述C数据丢失,我们可以用A、B、P0(校验信息)反推出C数据,所以最多允许一块磁盘损坏。此时你能否想到如果多保存一份校验信息不就可以允许2块磁盘损坏了嘛,稳定性能更强,是的,这就是RAID  6

RAID 6

RAID 6最少4块硬盘,与RAID 5类似,读写数据时将数据分布式写到磁盘上并保存奇偶校验信息,但是会比RAID  5多保存一份校验信息,所以冗余性比RAID 5有所提高

特点:

空间利用率:1-2/N

性能:读性能接近RAID 5,写性能较RAID  5少弱

冗余能力:可以接受2块磁盘损坏

RAID 6百度百科的介绍http://baike.baidu.com/view/1652299.htm

 

RAID的实现方式有2种

1:软件RAID

通过系统功能或RAID软件来实现的

2:硬件RAID

通过RAID硬件卡实现,有些主板集成RAID硬件,有些需要购买独立的RAID硬件卡,稳定性和速度比软件RAID要强

转载于:https://www.cnblogs.com/xiaoit/p/3411998.html

相关文章:

  • 正确理解SOA、SaaS和云计算的关系
  • linux查看各项参数
  • 关于关于--关于网络,关于还是关于
  • 【Demo 0002】Android 提醒框
  • 数据相似性检测算法
  • vc的UI编程PngTextButton控件的适用情况
  • Android中在屏幕上涂鸦的例子
  • 近期备考安排
  • CentOS 配置mysql允许远程登录
  • 并查集回顾
  • 用一个暑假的时间想明白一件事
  • wubi安装ubuntu后迁移到新分区
  • Java多态的一些陷阱
  • 海量空间数据库实施策略-栅格数据 4
  • Virtualbox安装Windows 8.1遇到0x000000C4错误解决办法 - 转
  • ➹使用webpack配置多页面应用(MPA)
  • java 多线程基础, 我觉得还是有必要看看的
  • Java基本数据类型之Number
  • Java教程_软件开发基础
  • java正则表式的使用
  • maven工程打包jar以及java jar命令的classpath使用
  • Otto开发初探——微服务依赖管理新利器
  • Vue全家桶实现一个Web App
  • 将回调地狱按在地上摩擦的Promise
  • 每天一个设计模式之命令模式
  • 数据科学 第 3 章 11 字符串处理
  • 吐槽Javascript系列二:数组中的splice和slice方法
  • 我从编程教室毕业
  • 我与Jetbrains的这些年
  • 无服务器化是企业 IT 架构的未来吗?
  • ​​​​​​​sokit v1.3抓手机应用socket数据包: Socket是传输控制层协议,WebSocket是应用层协议。
  • ​flutter 代码混淆
  • # 再次尝试 连接失败_无线WiFi无法连接到网络怎么办【解决方法】
  • #WEB前端(HTML属性)
  • #微信小程序:微信小程序常见的配置传旨
  • $refs 、$nextTic、动态组件、name的使用
  • (9)目标检测_SSD的原理
  • (C语言)二分查找 超详细
  • (Matlab)遗传算法优化的BP神经网络实现回归预测
  • (六)vue-router+UI组件库
  • (十三)Java springcloud B2B2C o2o多用户商城 springcloud架构 - SSO单点登录之OAuth2.0 根据token获取用户信息(4)...
  • (转)PlayerPrefs在Windows下存到哪里去了?
  • (转)大型网站的系统架构
  • (转)一些感悟
  • .bat批处理出现中文乱码的情况
  • .net core使用ef 6
  • .NET LINQ 通常分 Syntax Query 和Syntax Method
  • .net MVC中使用angularJs刷新页面数据列表
  • .Net 垃圾回收机制原理(二)
  • .net/c# memcached 获取所有缓存键(keys)
  • /run/containerd/containerd.sock connect: connection refused
  • @EnableWebMvc介绍和使用详细demo
  • @四年级家长,这条香港优才计划+华侨生联考捷径,一定要看!
  • [].slice.call()将类数组转化为真正的数组
  • [corCTF 2022] CoRJail: From Null Byte Overflow To Docker Escape