什么是RAID?

磁盘阵列,把多个磁盘组合成一个磁盘组,在逻辑上看起来就是一块大的磁盘,提供单个物理磁盘的存储量和更高的存储性能,同时提供不同级别的冗余备份的一种技术,不同的RAID技术对应不同级别

生产环境常用RAID级别: RAID0, RAID1, RAID5,RAID10

什么是冗余?

  冗余值重复配置系统的一些部件,当系统发生故障的时,冗余配置的部件介入并承担故障不见得工作,由此减少系统的故障时间

RAID分类:

  软RAID,通过系统自带的软件就能实现软RAID功能,省去购买昂贵的硬件RAID控制器和附件,就能增强磁盘的IO性能和可靠性,互联网企业不用,性能不好,操作系统坏了RAID受到影响

  硬RAID,检测和修复多位错误的能力、错误磁盘自动检测和阵列重建等方面优秀,生产场景首选

什么是LVM?

逻辑卷管理,最大用途可以随意放大或缩小,灵活管理磁盘存储,必须将分区调成8e,工作中不用它,给虚拟机进行分区扩容,有一定的冗余和性能,但很弱

如果过于强调性能与备份,那么应该使用RAID功能而不是LVM,RAID根侧重性能和安全

使用RAID的直接好处:

  1. 提升数据安全性
  2. 提示数据读写性能
  3. 提供更大的单一逻辑盘数据容量存储

RAID0:

  

提高存储性能的原理是连续数数据分散多个磁盘上存储

至少需要一块盘,由于数据分散在不同的磁盘上,读写数据时候实现并发,生产中使用单盘,要做出RAID0

  

做raid时候,磁盘的大小最好一样

  生产场景:

    1. 负载均衡集群下面的多个相同RS节点服务器
    2. 分布式文件存储下面的节点
    3. MySQL主从复制的多个Slave服务器

  总之一句话,数据丢了没问题,对性能要求高

RAID1

  

  镜像,最大限度的保证用户数据的可用性和可修复,写入数据时候会把一个磁盘的数据百分百的自动复制到另一个磁盘上,从而实现存储双份的数据,写性能下降,因为它需要同时写两份同同样的数据到两块盘,对性能要求不高,对数据安全要求非常高的服务器

  至少两块盘

RAID5

  

一种存储性能、数据安全和存储成本兼容的解决方案,至少3个盘

把奇偶校验信息和想对应的数据分别存储与不同的磁盘上,当RAID5的一个磁盘数据发生损坏后,利用剩下的数据和相应奇偶校验信息去恢复被损坏的数据

不管有多少块磁盘,最多只能坏一块,RAID0和RAID1的折中方案

RAID10

  

RAID10系统要比RAID01冗余度高,安全性高,最好是4块盘

总结RAID后盘容量

RAID0    支持1块盘到多块盘,容量是所有盘之和

RAID1 只支持2块盘,容量损失一块盘

RAID5 最少三块盘,不管硬盘数量多少,只损失一块盘容量

RAID10 最少4快盘,必须是偶数硬盘,不管硬盘多少,都损失一半的容量,不支持虚拟磁盘

RAID总结:

  

  1. 对读取速度要求高,对数据丢不丢无关紧要,使用RAID0

  2. 对mysql数据库服务主服务器,使用SAS盘RAID10,保证安全性和读取性能

  3. RAID5 是一种中庸状态,最多损失一块盘,还有较快的读写速度和一定的冗余,常见磁盘阵列

  4. RAID0不损失磁盘空间,RAID1损失一半磁盘空间,RAID5损失一块磁盘,RAID10损失一半磁盘空间

linux_RAID的更多相关文章

  1. 专题:mdadm Raid & LVM

    >FOR FREEDOM!< {A} Introduction Here's a short description of what is supported in the Linux R ...

随机推荐

  1. Java框架之Spring(四)

    本文主要讲述在Spring中 1 注解方式装配 2 以自动扫描把组件纳入spring容器中管理 3 面象切面编程-代理的jdk 版实现 4 使用 Cglib 生成代理 5 aop编程的一些概念 6 使 ...

  2. 【NOIP2012】旅行计划

    题解 双向链表加倍增... 正写着不一定能写对2333 终于写对了... 然而我的双向链表和别人的都不一样... 瑟瑟发抖... 代码 //by 减维 #include<cstdio> # ...

  3. CSS属性:背景属性(图文详解)

    本文最初发表于博客园,并在GitHub上持续更新前端的系列文章.欢迎在GitHub上关注我,一起入门和进阶前端. 以下是正文. background系列属性 常见背景属性 CSS样式中,常见的背景属性 ...

  4. Error: Your project contains C++ files but it is not using a supported native build system

    我在编写有关JNI的代码的时候回报这个错误,我在网上搜了相关的资料后,找到了一篇文章解决了这个问题,点击这里查看这篇文章,我在照着这篇文章尝试的时候,总有一些错误,现在我把自己详细的解决流程贴出来,供 ...

  5. [转载]linux修改open files数

    概要:linux系统默认open files数目为1024, 有时应用程序会报Too many open files的错误,是因为open files 数目不够.这就需要修改ulimit和file-m ...

  6. (2环境架设)从零开始的嵌入式图像图像处理(PI+QT+OpenCV)实战演练

    从零开始的嵌入式图像图像处理(PI+QT+OpenCV)实战演练 1综述http://www.cnblogs.com/jsxyhelu/p/7907241.html2环境架设http://www.cn ...

  7. NPOI json转Excel DataTable转Excel ,Excel转DataTable

    JsonToExcel: public static void JsonToExcel(List<Dictionary<string, object>> json, strin ...

  8. c#中常用集合类和集合接口之集合类系列【转】

    常用集合接口系列:http://www.cnblogs.com/fengxiaojiu/p/7997704.html 常用集合类系列:http://www.cnblogs.com/fengxiaoji ...

  9. BZOJ3997: [TJOI2015]组合数学(网络流)

    3997: [TJOI2015]组合数学 Time Limit: 20 Sec  Memory Limit: 128 MBSubmit: 405  Solved: 284[Submit][Status ...

  10. c语言基础学习03

    =============================================================================涉及到的知识点有:编码风格.c语言的数据类型. ...