mysql适合什么阵列_如何选择最合适的RAID级别

众所周知,最常用的RAID配置等级分别是RAID-0、RAID-1、RAID-5。这三种RAID等级针对数据的传输速度和保护程度都有所不同:RAID-0(数据 条带化存储阵列)旨在提供速度,在所有RAID中速度最快,但是提供的保护最少;RAID-1(透明或条带化存储镜像)这种RAID能够提供最好的数据 保护;而RAID-5(磁盘阵列,奇偶校验散布)能够同时提供良好的速度和保护 ,使得RAID-5在所有RAID中使用最为广泛。

不过,我们发现了一个普遍性的现象,那就是:采用RAID-5(ZCR)的服务器,在测试中的表现(一个可靠MySQL资料库测试项目),远不及 采用Host RAID-1的系统,而且测试表明,就算同样的RAID-1,采用独立RAID控制器的效果,竟然还不如最简单的集成的Host RAID-1,令人颇 感意外。

一、寻找原因

Dedecms.com 版权所有

确实,为什么采用低价RAID控制器的RAID-5的性能会不尽理想?要明白这一切,我们先要弄清楚RAID-5的运作原理。RAID-5是经过XOR运 算比对各硬盘写入资料,再将所得到的奇偶校验的信息分散到阵列中的每个硬盘中。这样可以进行独立或者并行的数据读写操作,可以在提高 数据访问速度的同时实现数据冗余性。 织梦CMS

RAID-5将数据交错存储在多个磁盘上(类似RAID0),同时维护着一个奇偶校验块(parity blocks)系统,由此使整个阵列清楚每一个物 理磁盘上所存储的数据,即使某个磁盘出现了故障也不会对访问产生影响。

采用这样的模式需要至少三块物理磁盘。此外,为了存储奇偶校验数据以及在故障中进行数据恢复还会损失一部分的磁盘空间。对于RAID5模式 而言,通常需要基于硬件的RAID控制器。绝大多数的服务器已经具备了SCSI控制器,这也是RAID-5在企业服务器中被广泛采用的原因,尤其对 大多数只能安装三个硬盘的1U服务器而言,更是相当理想。

不过从中我们可以明白:RAID控制器的XOR运算能力与快取记忆体的容量,对RAID-5的性能就有着举足轻重的影响。从测试结果显示,采 用Intel RAID控制器的服务器,相较于采用Adaprec 120 ZCR控制器的服务器,RADI-5在性能上更享有相当程度的优势,但都不如运算原理最简 单的Host RAID-1。就算是RAID-1,独立RAID控制器也都不如集成的Host RAID。 织梦好,好织梦

另一个值得注意的地方是,太大的硬盘分割区对于RAID-5的能性也有不利的影响。比方将三个73GB硬盘所组成的146GB RAID-5容量,全 数作为一个超大的作业系统分割区,MySQL的测试效果只能以“惨绝人寰”来比拟,但将测试用分割区缩小到36GB,效果就瞬间成长五倍之多。 这主要是RAID控制器卡快取记忆体容量不足之故,因为测试数据显示,同样的情况并没有发生在内建设256MB RAID快取记忆体的服务器上。

如果要同时解决RAID控制器的XOR运算能力与快取记忆体的容量给RAID-5所带来的限制,惟有购买高档的RAID控制卡,也就是单通道/多 通道SCSI RAID HBA。一般一块高档SCSI RAID HBA约售20000至30000元,再加上三至四个SCSI硬盘约售10000元左右。大多数企业是难以承受如 此高额的费用。

二、Host RAID 可取?

不过,这是不是意味着,我们只需要采用最便宜的Host RAID,再也不需要独立的RAID控制器?答案绝对是否定的。首先,Host RAID并 无法提供Hotfix之类的可靠性机制(平时多安装一台硬盘作为应急之用,如果发生硬盘损坏,就立即补救),历史的教训也证明了,在同一台服 务器上的硬盘是很有可能连续阵亡的。

另外,采用Host RAID-1时,在更换硬盘后,由于必须从一台硬盘完全转移资料到另一台硬盘上,加上因缺乏辅助控制器和独立快取记 忆体,必须以来处理器进行这个工作,所以进行恢复作业时的时间会相当的长,也会大幅度降低系统的性能,对于某些高负载的服务器而言, 在绝对是难以忍受的,尤其目前节节高升的硬盘容量,更会突显这个问题的严重性。 爱做站,爱织梦

隐而不显的是,Host RAID-1因以来处理器之故,会有着较高的处理器及系统主记忆体利用率。比方采用两个硬盘组成的Host RAID-1, 其效率明显就会落后于单硬盘的情况。换言之,如果日后持续增加硬盘数量,Host RAID的扩充性就会相当的不利,这也就是不如独立RAID控制 器之处。 织梦网站管理系统真的好

其实在表现方面,Host RAID-0及Host RAID-1并不需要太多的系统资源,但在重建损坏了的RAID(Degraded Mode)或是碰上大量运算资 源的RAID-5(需于每次写入时计算Parity),Host RAID未必是一个良好的选择,加上Host RAID须依赖操作系统,如Windows2000、Solaris或 Linux等先启动,所以操作系统并未能受到RAID的保护。Host RAID只需两块SCSI硬盘的价钱便可以完成,甚至可以是免费,但除非是用RAID-1( 镜像),否则RAID-0有任何差错,资料尽毁!

三、结论

事实上,RAID并不能完全保障硬盘自身的安全,就算是看起来很安全、能兼顾性能的RAID 0+1和1+0,只要两个硬盘位于不同的RAID-0 区域的硬盘接连损坏,资料照样全军覆没,而RAID-5也无法承受一颗以上的硬盘损坏。更重要的是,在预算有限的前提下,企业不见得有能力 采购昂贵的高档RAID控制卡和那么多的硬盘去构建RAID 0+5或者RAID 5+0。

所以,企业应根据自身的需求以及服务器服务器本身的扩充性,去选择最合适的RAID方案。如今大多数企业基于成本效益都采用可用性 、容量、数据保护和性能之间可折中接受的RAID-5,但对于作业系统则会采用RAID-1;如果对处理器的性能并不要求,最重要的是内存容量和硬 盘I/O效率,那么RAID-5的效率就明显不佳,加上存储资料容量不高,无疑采用兼顾效率和安全的RAID 0+1。 www.dedecms.com

更重要的是,定期备份资料,甚至定期更换硬盘,才是确保企业服务器稳定性及资料安全的不二做法,而这些是任何一种RAID都做不到 的。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/505567.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python写if语句_python if语句

## Python条件和If语句Python支持数学中通常的逻辑条件&#xff1a;* 等于&#xff1a;a b* 不等于&#xff1a;a&#xff01; b* 小于&#xff1a;a * 小于或等于&#xff1a;a < b* 大于&#xff1a;a> b* 大于或等于&#xff1a;a> b这些条件可以几种方式使用&am…

python用法查询笔记_Python爬虫学习笔记(三)

handler处理器自定义 - Cookies && URLError && json简单使用Cookies&#xff1a;以抓取https://www.yaozh.com/为例Test1(不使用cookies)&#xff1a;代码&#xff1a;import urllib.request# 1.添加URLurl "https://www.yaozh.com/"# 2.添加请求头…

java 线程 交给spring_浅谈Java中spring 线程异步执行

多线程并发处理起来通常比较麻烦&#xff0c;如果你使用spring容器来管理业务bean&#xff0c;事情就好办了多了。spring封装了Java的多线程的实现&#xff0c;你只需要关注于并发事物的流程以及一些并发负载量等特性&#xff0c;具体来说如何使用spring来处理并发事务&#xf…

java编程实现素数环_结对编程(JAVA实现)

项目成员&#xff1a;黄思扬(3117004657)、刘嘉媚(3217004685)二、PSP表格PSPPersonal Software Process Stages预估耗时(分钟)实际耗时(分钟)Planning计划6040 Estimate 估计这个任务需要多少时间6040Development开发14401505 Analysis 需求分析3015 Design Spec 生成设计文档…

自学java编译老是出错_为什么按照书上的代码,编译老是出错?

老是又小伙伴在群里说我的代码是按照书上的代码敲的&#xff0c;就是编译不过&#xff1f;想不通呀&#xff01;目前市面上的一些书都是十来年以前编写的了&#xff0c;你不幸看的还是这些书&#xff0c;错误原因就在这里。比如谭浩强的C语言程序设计这个本书都出了N版了&#…

java版的中世纪战争_世界战争英雄设置-火焰纹章英雄英雄地图及AI命令设置

英雄地图及AI命令设置游戏中练级塔中的AI设置和故事地图中的一样&#xff0c;所以如果故事地图中的AI是主动出击的&#xff0c;那练级塔一样的地图也是主动出击。故事地图中配置有5个敌人&#xff0c;在练级塔中也一样会配置5个敌人。不同的是职业可能会发生变化&#xff0c;但…

python pip安装依赖的常用软件源

目录 引言 一、什么是镜像源&#xff1f;​​​​​​​ 二、清华源 三、阿里源 四、中科大源 五、豆瓣源 六、更多资源 引言 在软件开发和使用过程中&#xff0c;我们经常需要下载和更新各种软件包和库文件。然而&#xff0c;由于网络环境的限制或者服务器的负载&#…

java虚拟机规范 51cto_java虚拟机

最近学习java虚拟机做了一些整理&#xff0c;会陆续发完。Java虚拟机一、概念&#xff1a;当我们谈到java虚拟机的时候&#xff0c;有可能指下面3个方面&#xff1a;1)&#xff1a;抽象java虚拟机的规范。2)&#xff1a;一个java虚拟机具体的实现。------实现是指&#xff1a;实…

java重定向链接页面变小_java web的进来看一下!页面重定向的异常!帮忙看一下!谢谢了!...

我用login.jsp进行登录留言板的管理页面用一个servlet进行身份验证。成功----->通过request.getRequestDispatcher("/admin/secure/manage?qlist").forward(request, response);return;其中/admin/secure/manage是ManageServlet的映射路径。来登录到manage的管理…

java数组设置结束_Java 数组最佳指南,快收藏让它吃灰

两年前&#xff0c;我甚至写过一篇文章&#xff0c;吐槽数组在 Java 中挺鸡肋的&#xff0c;因为有 List 谁用数组啊&#xff0c;现在想想那时候的自己好幼稚&#xff0c;好可笑。因为我只看到了表面现象&#xff0c;实际上呢&#xff0c;List 的内部仍然是通过数组实现的&…

java窗口只能点一个_java – 为什么界面只能在顶级类中声明?

Won’t inner class become top-level class if I put it into another Class file?不,它仍然是一个内部类,文件名指示(IIRC它是OuterClass $InnerClass.class).内部类可以访问外部类的属性,即它们依赖于它们的外部类’实例.使用界面,您无法做到这一点.想到一个完全不相关的类…

Mysql 中Sql控制流语句_DCL语句/控制流语句

一、(1)DCL(数据控制语言)主要是数据库管理员用来管理其他用户权限时使用的语句&#xff1b;可以授予的权限包括以下&#xff1a;列权限&#xff1a;和表中的一个具体列相关、表权限&#xff1a;和一个具体数据表中的所有数据相关、数据库权限&#xff1a;和一个具体数据库中的…

Java7运行applet_Java applet不会在JRE7下运行,控制台中不会显示错误

在Windows 7,64位下&#xff0c;由于升级到JRE-7 32位&#xff0c;在IE9 32位或Chrome下&#xff0c;我无法运行诸如this one之类的小程序。在Applet矩形内&#xff0c;我看到消息“Error。Click for details”点击applet框(空白)会出现一个对话框&#xff1a;Application Erro…

同包类 和 其他类 java_关于继承:为什么Java中的“protected”修饰符允许访问同一个包中的其他类?...

在Java中&#xff0c;具有"受保护"修饰符的成员不仅可以由同一个类和子类访问&#xff0c;还可以由同一个包中的每个人访问&#xff1f;我想知道语言设计的原因&#xff0c;而不是实际的应用程序(例如&#xff0c;测试)1坦率地说我也想知道为什么。 它总是让我感到震…

java打印已经被加载的类_使用URLClassLoader加载类,不会报错,但被加载类中的内容也没有打印出来...

被加载类和加载类的程序在一个文件夹下&#xff1b;运行没有任何结果&#xff1a;D:java_exercise>javac URLTest.javaD:java_exercise>java URLTestD:java_exercise>加载类&#xff1a;import java.net.*;import java.io.File;import java.net.URLClassLoader ;publi…

python反序列化总结_单例模式的反序列化总结

最近观看effective in java &#xff0c;提到单例模式创建过程中&#xff0c;如果是要保证该对象是可序列化的&#xff0c;需要考虑两点&#xff1a;1、继承Serializable接口2、增加readResolve方法比较疑惑的是为什么需要增加这个方法&#xff0c;在以往的使用中需要被序列化的…

ipv6+ssh+java_IPv6的本地联网地址计算方法详解

IPv6的世界里&#xff0c;如果DHCP6和SLACC这两位大佬都为没有为可怜的网卡分配IP地址&#xff0c;也没有人为网卡设置静态的IP地址&#xff0c;系统就会为网卡计算一个IPv6的网址来。这样的网址只能在本地使用&#xff0c;不得路由&#xff0c;所以&#xff0c;被称为“link-l…

java gzipoutputstream_java – GZIPInputStream逐行读取

我有一个.gz格式的文件。用于读取此文件的java类是GZIPInputStream。但是&#xff0c;此类不会扩展BufferedReader类的java。因此&#xff0c;我无法逐行读取文件。我需要这样的东西reader new MyGZInputStream( some constructor of GZInputStream)reader.readLine()...我虽然…

java互斥锁的实现原理_java-深入分析synchronized原理

互斥锁互斥锁futex&#xff0c;全拼fast userspace mutexes&#xff0c;直翻为快速用户空间互斥器&#xff0c;它是我们上层应用实现锁的最常用方法。futex是一块所有进程都可以访问的内存&#xff0c;是通过cpu的原子操作修改内存中的值来尝试获取琐&#xff0c;如果没有竞争&…

php 自定义加密算法,php自定义加密函数、解密

“/*加密*/function addcoder($str){$yuan abA!c1dB#ef2Cg$h%iD_3jkl^E:m}4n.o{&F*p)5q(G-r[sH]6tuIv7wJxy8z9K0;$jia zAy%0Bx1C$wDv^Eu2-t3(F{sr&G4q_pH5*on6I)m:l7.Jk]j8K}ihgf9#ed!cb[a;if ( strlen($str) 0) return false;for($i 0;$i{for($j 0;$j{if($str[$i…