0x01 Raid是什么

RAID(Redundant Array of Independent Disk 独立冗余磁盘阵列)技术是加州大学伯克利分校1987年提出,最初是为了组合小的廉价磁盘来代替大的昂贵磁盘,同时希望磁盘失效时不会使对数据的访问受损 失而开发出一定水平的数据保护技术。RAID就是一种由多块廉价磁盘构成的冗余阵列,在操作系统下是作为一个独立的大型存储设备出现。RAID可以充分发 挥出多块硬盘的优势,可以提升硬盘速度,增大容量,提供容错功能够确保数据安全性,易于管理的优点,在任何一块硬盘出现问题的情况下都可以继续工作,不会 受到损坏硬盘的影响。

0x02 Raid0

Raid0:一块硬盘或者以上就可做raid0;

优势:数据读取写入最快,最大优势提高硬盘容量,比如3块80G的硬盘做raid0 可用总容量为240G。速度是一样;

缺点:无冗余能力,一块硬盘损坏,数据全无;

建议:做raid0 可以提供更好的容量以及性能,推荐对数据安全性要求不高的使用;

0x03 Raid1

Raid1:至少2块硬盘可做raid1;

优势:镜像,数据安全强,2块硬盘做raid一块正常运行,另外一块镜像备份数据,保障数据的安全。一块坏了,另外一块硬盘也有完整的数据,保障运行;

缺点:性能提示不明显,做raid1之后硬盘使用率为50%;

建议:对数据安全性比较看着,性能没有太高要求的人使用;

0x04 Raid5

Raid 5:至少需要3块硬盘raid5;

优势:以上优势,raid5兼顾。任意N-1块硬盘都有完整的数据;

缺点:只允许单盘故障,一盘出现故障得尽块处理。有盘坏情况下,raid5 IO/CPU性能狂跌,此时性能烂到无以复加;

建议:盘不多,对数据安全性和性能提示都有要求,raid5是个不错选择,鉴于出问题的性能,盘多可考虑riad10;

0x05 Raid6

Raid6:至少需要4块硬盘做raid6;

优势:raid6是再raid5的基础上为了加强数据保护而设计的。可允许损坏2块硬盘。可用容量:C=(N-2)×D;C=可用容量;N=磁盘数量;D=单个磁盘容量。比如4块1T硬盘做raid6可用容量是:(4-2)×1000GB=2000GB=2T;

缺点:性能提升方面不明显;

建议:对数据安全性要求高,性能要求不高的可选择;

0x06 Raid10

Raid10:至少需要4块硬盘。raid10是2块硬盘组成raid1,2组raid1z组成raid0,所以必须需要4块硬盘;

优势:兼顾安全性和速度。基础4盘的情况下,raid10允许对柜盘2块故障,随着硬盘数量的提示,容错量也会相对应提升。这是raid5无法做到的;

缺点:对盘的数量要求稍高,磁盘使用率为一半;

建议:硬盘数量足够的情况,建议riad10;

0x07 主流 RAID 等级技术对比

RAID等级RAID0RAID1RAID5RAID6RAID10

别名条带镜像分布奇偶校验条带双重奇偶校验条带镜像加条带

容错性无有有有有

冗余类型无有有有有

热备份选择无有有有有

读性能高低高高高

随机写性能高低一般低一般

连续写性能高低低低一般

需要磁盘数n≥12n (n≥1)n≥3n≥42n(n≥2)≥4

可用容量​全部50%(n-1)/n(n-2)/n50%

java 取磁盘阵列容量_硬盘阵列 Raid 的区别及容量计算方式相关推荐

  1. java 日期加减天数、月数、年数的计算方式

    因为某个项目需要统计 近1周.近1个月.近6个月 等数据,所以在时间的加减上面想了很多方式,最后决定用java.util.Calendar java.util.Calendar ,提供了计算时间的方式 ...

  2. java取网页数据_浅析JAVA实现网页取内容

    有很多网站提供从其他网站提取新闻甚至是从向翻译网站取内容 由于手头做的网站需要涉及这个方面的内容,所以最近研究了一下 这里把我的一点小心得写给大家 希望大家讨论共同进步 首先我觉得这种功能的实现其实是 ...

  3. java 取整符号_浅析java中的取整(/)和求余(%)

    1.取整运算符 取整从字面意思理解就是被除数到底包含几个除数,也就是能被整除多少次,那么它有哪些需要注意的地方呢?先看下面的两端代码: int a = 10; int b = 3; double c= ...

  4. java 取上下文路径_取Servlet上下文路径,取WebContent的路径

    ---------------------取Servlet上下文路径,取WebContent的路径 -------------------------------- 1.String path = r ...

  5. java取内核数_在Java中查找内核数

    如何从Java代码中找到应用程序可用的内核数量? #1楼 在安装Cygwin的Windows上可以使用: System.getenv("NUMBER_OF_PROCESSORS") ...

  6. java 取上下文路径_取得上下文路径的方式(getContextPath)

    jsp可以直接取得取得上下文路径,但是js不能,需要在jsp里设置属性再根据属性获取或者通过window.loaction的方式做处理后取得. 1.通过监听器,获取 1.1web.xml文件配置监听器 ...

  7. 【图解】Java取整函数ceil、floor、round的区别

    废话不多说,先上图: ceil() 字面意思:天花板 向上取整 返回类型:double 适用于分页程序中计算总页数 floor() 字面意思:地板 向下取整 返回类型:double round() 字 ...

  8. java统计excel数据_数据分析实战——EXCEL实现复购率计算

    这是数据分析实战的第三篇(复购率计算篇),本文提供真实数据(脱敏),并梳理复购率计算思路和技巧,通过15分钟的阅读和实践,读者即可根据自己的订单数据灵活计算业务涉及到的复购率了.(实战数据在文末) 相 ...

  9. java controller注解原理_@Controller、@RestController注解区别详解

    @Controller.@RestController注解区别: @RestController 注解相当于 @Controller + @ResponseBody 合在一起的作用. 一.@Contr ...

最新文章

  1. 关于接口使用抛异常还是返回错误码,下列哪些说法符合《阿里巴巴Java开发手册》
  2. auve子表单中只读不好用
  3. 国际电信联盟(ITU)发布最新IDI指数
  4. SoapUI简介和入门实例解析
  5. 学计算机所需要的英语单词,学计算机最少要懂的英语单词是什么
  6. 计算机总体水平情况,学生信息技术起点水平情况调查分析报告
  7. android 最新消息滚动,Android 滚动操作Scroller类详解
  8. 实例59:python
  9. 水星路由器DNS服务器未响应,水星路由器进不去设置怎么办
  10. Docker基础知识:Containers,Namespace,CGroups
  11. Eclipse-无法执行现有代码,依旧执行以前的代码
  12. HyperMesh有限元分析报错集锦
  13. 西门子g120变频器接线图_西门子S7—1500第二十一讲(G120变频器第一篇)
  14. mcgscom口针脚定义_各种接口针脚定义
  15. mysql和jdbc(韩)
  16. appcan与java_APPCAN学习笔记004---AppCan与Hybrid,appcan概述
  17. python第二版课后答案第七章7.5_IDA7.5 启动基础配置
  18. Android应用程序中的DVM和Linux中进程的区别
  19. 洛谷 - P1014 [NOIP1999 普及组] Cantor 表 [Java版]
  20. 桂电深信服CTF之MSC真假压缩包

热门文章

  1. phpadmin 导入数据
  2. PHPAdmin删除外键约束
  3. wps自动插入文献_WPS参考文献自动生成方法教程
  4. numpy中按条件查找,搜索某些值的方法
  5. html压缩包怎么打开,展示电脑rar压缩包文件怎么打开?教你正确打开方式
  6. php guzzle 上传文件,Guzzle 使用文档
  7. MySQL 8.0 物理备份xtrabackup简介
  8. 微信开发——测试号申请,接口配置,JS接口安全域名,自定义菜单
  9. 关系网络lbs的应用_基于LBS的陌生人社交APP
  10. docker搭建XXLjob