什么是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. curl -windows下接口通讯

    1,下载curl -----url命令传输工具 2,配置curl环境变量 3,在cmd环境中使用   举例:curl -G http://xxxxxxx.com?+参数 使用:curl -G &quo ...

  2. 关于OC中浮点型的计算

    有时候不得不承认,细心观察生活中的细节,有时候会得到很多. 今天和公司朋友一起订了外卖,因为要分账,就突发奇想用代码来算出每个人花了多少钱.最后发现以前没有注意的细节或者不知道的知识,记录下. 我的代 ...

  3. Mysql 启动遇到 The server quit without updating PID file (/[FAILED]l/mysql/data/021rjsh216086s.pid)和Attempted to open a previously opened tablespace

    今天在测试服务器做调试的时候,遇到Mysql的启动问题,好像是PID文件找不到了. 不科学啊,前几天还好好的呀,我也没怎么乱搞啊,然后一通百度,找到了几个解决办法. 1.有可能是已经存在mysql进程 ...

  4. Java 与C++的各种优势与弱点--学习更新中

    时隔两年没有怎么碰Java了,最近开始学习回顾下.在这里记录下学习的点滴,持续更新...希望对c++\java等不同语言有较为清晰的认识,至少不要学完以后,哪一个都不会了... Java 优势: 1. ...

  5. 简陋的swift carthage copy-frameworks 辅助脚本

    在看 carthage 时,其中需要配置一个 copy-frameworks 脚本,此脚本特殊的地方,需要手动填写 Input Files 和 Output Files.一个一个填写,很糟心~ 观察了 ...

  6. JAVA实现跳一跳辅助程序之虎啸龙吟

    前序: 今天有幸,看到2位博主的文章,在此表示感谢.自己也动手实现了一下. 实现原理 请参考博主 https://www.cnblogs.com/dongkuo/p/8285162.html 另感谢博 ...

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

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

  8. OGG的孩子-有损音频编码opus

    Opus是一个有损声音编码的格式,由Xiph.Org基金会开发,之后由互联网工程任务组(IETF)进行标准化,目标用希望用单一格式包含声音和语音, 取代Speex和Vorbis,且适用于网络上低延迟的 ...

  9. Python 操作 GA API 指南

    因为需要写一个 Blog Feature 的缘故,所以接触了下 GA 的 Python API,发现 G 家的 API 不是那么直观,比较绕,但是,在使用过程中发现其实 G 家的 API 设计挺有意思 ...

  10. 信息学奥赛一本通算法(C++版)基础算法:高精度计算

    高精度加法(大位相加) #include <bits/stdc++.h> using namespace std; int main() { ],b1[]; ],b[],c[];//a,b ...