RAID数据恢复技术

RAID10和RAID5区别比较,利用率与安全的取舍

摘要:安全性方面的比较, 其实在安全性方面,勿须质疑,肯定是RAID 10的安全性高于RAID 5。我们也可以从简单的分析来得出。当盘1损坏时,对于RAID 10,只有当盘1对应的镜象盘损坏,才导致RAID失效。但是对于RAID 5,剩下的3块盘中……

公司最近上马新的ERP系统,旧的系统已经无法满足业务迅速发展的要求,在服务器选择方面遇到了一些技术难题。

经过长达数月的调研,最近要开始实施了,但要决定的事情还有很多,费用开销(一次性和每个月份的)的差异性也很大,比如:软件系统服务提供商的选择;服务器是放在公司内部还是在数据中心?如果采用远程数据中心的方案,是放在电信的机房,还是网通的机房?亦或是联通的机房?在选择服务器方面,是选择1U的服务器,还是2U的?CPU个数,内存,储存空间的使用,系统软件的许可证的个数等等,都需要权衡,做出决定和取舍,要知道这些要素的组合产生的价格差异真是天壤之别!

里就选择磁盘阵列问题:一个最具典型性的与储存空间,效率以及可靠性相关的技术问题,就我了解到的情况列出来进行探讨,期望对遇到类似问题的朋友和公司内部人士提供一些参考信息。

公司数年前已经使用了一台著名品牌的塔式服务器作为公司内部的文件服务器和ERP数据服务器,使用两块完全相同的磁盘,采用RAID1结构,这台服务器使用了5年了,基本没有出现过数据灾难,但因为频繁的断电和加电的不规范操作,前不久,这台服务器的电源出现问题了,磁盘容量也几乎消耗完了,我估计磁盘的寿命也差不多了,可能也需要升级了。

公司新上马的ERP系统,因为要满足各个分公司,各办事处,销售人员和后勤人员,服务人员甚至客户的协同的,大量的,24小时不间断的远程高负荷的数据操作,在数据储存方面需要采用更高级别的RAID磁盘阵列容错系统。

就在此时,服务器基础构架,型号基本定了,但是采取何种磁盘阵列,到现在为止,还无法决定,但我明白,我们只能在RAID 5和RAID10二者之间做出选择,我将我了解到的二者的区别列出来进行分析,期望从中获得决策的灵感:

为了方便RAID 10和RAID5对比,这里拿同样多驱动器的磁盘来做对比(4个相同的磁盘),RAID 5可以选择3D+1P的RAID方案,RAID 10则可以选择2D+2D的RAID方案。

  • 安全性方面的比较, 其实在安全性方面,勿须质疑,肯定是RAID 10的安全性高于RAID 5。我们也可以从简单的分析来得出。当盘1损坏时,对于RAID 10,只有当盘1对应的镜象盘损坏,才导致RAID失效。但是对于RAID 5,剩下的3块盘中,任何一块盘故障,都将导致RAID失效, 在恢复的时候,RAID10恢复的速度也快于RAID5。
  • 空间利用率的比较: RAID 10的利用率是50%,RAID 5的利用率是75%。硬盘数量越多,RAID 5的空间利用率越高。
  • 读写性能方面的比较: 主要分析分析如下三个过程:读,连续写,离散写。

在介绍这三个过程之前,先介绍一个特别重要的概念:cache(写入缓存), cache已经是整个存储的核心所在,就是中低端存储,也有很大的cache存在,包括最简单的raid卡,一般都包含有几十,甚至几百兆的Raid cache。

Cache的主要作用是什么呢?体现在读与写两个不同的方面,如果作为写,一般存储阵列只要求写到cache就算完成了写操作,所以,阵列的写是非常快速的,在写cache的数据积累到一定程度,阵列才把数据刷到磁盘,可以实现批量的写入,至于cache数据的保护,一般都依赖于镜相与电池(或者是UPS)。

Cache的读一样不可忽视,因为如果读能在cache中命中的话,将减少磁盘的寻道,因为磁盘从寻道开始到找到数据,一般都在6ms以上,而这个时间,对于那些密集型io的应用可能不是太理想。但是,如果cache能命中,一般响应时间则可以在1ms以内。两者应该相差3个数量级(1000倍)。

读操作方面的性能比较

RAID 10可供读取有效数据的磁盘个数为4,RAID 5可供读取有效数据的磁盘个数也为4个(校验信息分布在所有的盘上),所以两者的读的性能应该是基本一致的。

连续写方面的性能比较

在连续写操作过程,如果有写cache存在,并且算法没有问题的话,RAID 5比RAID 10甚至会更好一些,虽然也许并没有太大的差别。(这里要假定存储有一定大小足够的写cache,而且计算校验的cpu不会出现瓶颈)。 因为这个时候的RAID校验是在cache中完成,如4块盘的RAID 5,可以先在内存中计算好校验,同时写入3个数据+1个校验。而RAID 10只能同时写入2个数据+2个镜相。

根据前面对缓存原理的介绍,写cache是可以缓存写操作的,等到缓存写数据积累到一定时期再写到磁盘。但是,写到磁盘阵列的过程是迟早也要发生的,所以RAID 5与RAID 10在连续写的情况下,从缓存到磁盘的写操作速度会有较小的区别。不过,如果不是连续性的强连续写,只要不达到磁盘的写极限,差别其实并不是太大。

离散写方面的性能比较

如果采用的是 oracle 数据库,每次写一个数据块的数据,如8K;由于每次写入的量不是很大,而且写入的次数非常频繁,因此联机日志看起来会像是连续写。但是因为不保证能够添满RAID 5的一个数据条带块,比如32K(保证每个盘都能写入),所以很多时候更加偏向于离散写入(写入到已存在数据的条带中)。在 离散写的时候对于RAID5,实际发生了4次i/o:但 对于RAID 10,同样的操作,最终RAID 10只需要2个i/o操作,但是,在RAID 5中, 如果需要读取的数据已经在cache中,可能并不需要4个io的。这也证明了cache对RAID5 的重要性,不仅仅是计算校验需要,而且对性能的提升尤为重要。 当然,并不是说cache对RAID10就不重要了,因为写缓冲,读命中等,都是提高速度的关键所在,只不过RAID 10对cache的依赖性没有RAID 5那么明显而已。

磁盘世纪读写操作(机械 电磁操作)的IOPS对比

假定有一个数据请求事件,其iops是10000,读cache命中率是30%,读iops为60%,写iops为40%,磁盘个数为120,那么分别计算在raid5与raid10的情况下,每个磁盘的iops为多少。

Raid 5: 单块盘的iops =(10000*(1-0.3)*0.6+4*(10000*0.4))/120=(4200+16000)/120=168

这里的10000*(1-0.3)*0.6表示是读的iops,比例是0.6,除掉cache命中,实际只有4200个iops。4*(10000*0.4)表示写的iops,因为每一个写,在raid 5中,实际发生了4个io,所以写的iops为16000个。

为了考虑raid 5在写操作的时候,那2个读操作也可能发生命中,所以更精确的计算为:单块盘的iops = (10000*(1-0.3)*0.6+2*(10000*0.4)*(1-0.3)+2*(10000*0.4))/120=(4200 + 5600 + 8000)/120=148计算出来单个盘的iops为148个,基本达到磁盘极限。

Raid10:单块盘的iops=(10000*(1-0.3)*0.6+2*(10000*0.4))/120=(4200+8000)/120=102

可以看到,因为raid 10对于一个写操作,只发生2次io,所以,同样的压力,同样的磁盘,每个盘的iops只有102个,这远远低于磁盘的极限iops。

Raid10和Raid5对比结论

要求较高的空间利用率,对安全性要求不是特别高、大文件存储的系统采用RAID 5比较好。相反,安全性要求很高,不计成本,小数据量频繁写入的系统采用RAID 10的方式比较好。另外关于限制: 在Raid 10中,四个硬盘的总空间不能大于3.8T,这样现在的大容量磁盘: 1T的就无法使用,限制了储存空间,而RAID 5就基本不存在这种限制。另外,磁盘数量增加,对电源的要求上升,能耗也加大了,且服务器散热风扇的噪音也将急剧增大。(文:Traveler行者 188688900)

如何让你的数据更安全——三个方面对平台的数据安全进行保护

当一个商业的系统平台推出时,系统的安全性就尤为重要,为了保障平台的安全性,根据我这几年的经验,还有去年参加的网络安全培训,我认为需要从以下三个方面对平台的数据安全进行保护:

数据安全
数据安全

硬件技术

  1. 服务器采用磁盘阵列:服务器硬盘由4块600G的SAS硬盘采用RAID5组成一个容量为1.8T的磁盘阵列,任何一块硬盘损坏都可以采用热插拨的方式迅速替换硬盘来恢复数据,保证数据的完整性和一致性。
  2. 数据备份:每天自动进行一次完整性数据备份。
  3. 双机容错:配备主备两台服务器,当主服务器发生故障时,备份服务器可以实时启动主服务器镜像,继续提供平台的正常服务。
  4. 异地容灾:每天自动将数据实时备份在远程数据备份中心中,一旦发生火灾,地震等不可预科的灾难时,可以从远程数据备份中心即时恢复数据。
  5. 电信级机房:服务器放置于电信VIP中心机房,采用电信级防火墙保护,24小时网络实时监控,有效防止黑客入侵。

软件技术

  1. 敏感数据加密:用户数据采用MD5加密,MD5为不可逆加密,这种加密后的数据是无法被破解的,即使黑客拦截和获取了加密后的信息,也无法还原为明文。
  2. 加密的接口调用:接口调用采用验证MD5加密串,只有双方的加密串一致,校验才通过,可以有效禁止非法的第三方调用。
  3. 合理的权限管理:对不同的用户角色赋于不同的权限,每个角色只能查看自己拥有权限的模块和内容,无法查看没有权限的内容。
  4. 企业级杀毒软件与防火墙:采用企业级专业的杀毒软件和防火墙,防止服务器被病毒感染和黑客入侵。
  5. 口令的安全强度:采用大小写,数字,字母,特殊字符混合口令,使黑客无法通过简单的暴力破解来破解口令。
  6. 数据库禁止远程登录:数据库仅充许本地登录,使黑客无法从远程连接暴力破解数据库。
  7. 日志管理:软件将自动记录用户的操作记录,对于非法的访问与操作可以通过日志得到更全面的信息。
  8. 解决系统漏洞:定时更新操作系统补丁,关闭不安全服务和端口,删除默认共享,清除系统不安全的漏洞。

管理技术

  1. 系统安全策略:根据用户在组织内的角色和职责而为其分配不同级别的权限,把服务器配置为赋予各个用户仅能使用特定的程序并明确定义用户权限。
  2. 管理制度:公司内建立和实施严密的计算机网络安全制度与策略,制订《数据安全管理规定》

本文由:飞天不不 分享,转载请注明出处http://mtoou.info/shujuanquan/