什么是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. 如何压缩UUID长度?

    java中UUID的toString方法,生成的uuid是36位了,在项目中,有时候会显的过长,占用空间比较多,如何能够压缩存储下,又能够保证uuid的唯一性呢? 一. 思路 看源码后,发现UUID的 ...

  2. linux sshd服务

    1.ssh介绍:SSH是secure shell protocol的简写,由IETF网络工作小组制定,在进行数据传输之前,SSH先对联机数据包通过加密技术进行加密处理,加密后再进行传输,确保传递的数据 ...

  3. c# winform 视频转字符动画

    以上是大图展示, 原理比较简单,附件下载带了一个分辨率比较小的txt动画.   音乐删除了music.mp3,  如果需要自己下载一首歌曲,然后放在根目录名称“music.mp3”就可以了. 附件点我 ...

  4. PE文件详解(六)

    这篇文章转载自小甲鱼的PE文件详解系列原文传送门 之前简单提了一下节表和数据目录表,那么他们有什么区别? 其实这些东西都是人为规定的,一个数据在文件中或者在内存中的位置基本是固定的,通过数据目录表进行 ...

  5. iOS学习——UIAlertController详解

    在开发中,弹出提示框是必不可少的.这两天项目中统一对已经被iOS API废弃的UIAlertView和UIActionSheet进行替换,我们知道,UIAlertView和UIActionSheet都 ...

  6. 【转】jar包和war包的介绍和区别

    JavaSE程序可以打包成Jar包(J其实可以理解为Java了),而JavaWeb程序可以打包成war包(w其实可以理解为Web了).然后把war发布到Tomcat的webapps目录下,Tomcat ...

  7. Zabbix实战-简易教程(6)--Server端高可用

    3.4 server前端高可用    至此,单台Zabbix server环境已经搭建完成,为了达到高可用效果,我们需要通过2台服务器之间通过HA软件进行探测,一旦检测到主的server挂掉后,从的s ...

  8. python实现简单函数发生器

    最近学校又抽风把我自动化系的苦逼童鞋留下做课设,简直无聊到爆的-->用VB实现函数发生器,(语言不限制) 大伙不知从哪搞来的MATLAB版本,于是几十个人就在这基础上修修改改蒙混过关了,可我实在 ...

  9. Maven工程搭建spring boot+spring mvc+JPA

    添加Spring boot支持,引入相关包: 1.maven工程,少不了pom.xml,spring boot的引入可参考官网: <parent> <groupId>org.s ...

  10. redis4.0 集群,jedis客户端连接配置

    使用jedis 2.9.0连接,异常信息: redis.clients.jedis.exceptions.JedisDataException: ERR Client sent AUTH, but n ...