当前位置: 首页 > news >正文

用MAID 2.0降低存储费用

      
  多年来,许多公司一直在部署大规模 非活动磁盘阵列(Massive Arrays of Idle Disks,MAID)技术 ,以便减少数据存储能源费用。在不使用时,该技术通过关闭耗电量大的磁盘驱动器,让它们处于睡眠状态,从而达到降低能耗的目的。不过,第一代的MAID产品(MAID 1.0)或者叫 “旧的MAID”产品存在两大缺点:  首先,停止旋转的驱动器需要几分钟的时间才能重新转动起来,这个时间太长了,让人无法接受,因而导致性能下降,这是大多数应用程序所无法接受的。其次,提供MAID 1.0的大多数厂商在任何一个特定的时间只支持比例有限的活动磁盘,这个比例通常少至25%。

节能与性能两不误

MAID 2.0添加了多种模式,以适应不同类型的数据,从而增强了节能功效,而不是像MAID 1.0那样只有开和关两种方式。比方说,财务文档和医疗检验结果等文件需要保存好几年,甚至保存更长的时间,但这类文件的数据一般不会变化。X光图就很典型,这些资料需要加以保存,但通常根本不需要经常查阅,而且根本不会出现改动。这类内容固定的数据最适合使用MAID 2.0不过了。

磁盘驱动器的耗电量占到了数据存储设备总耗电量的80%。虽然MAID 1.0和MAID 2.0都能减少磁盘驱动器的耗电量,但MAID 2.0还有另一个优点: 保证性能不受影响。而MAID 1.0尽管通过关闭旋转磁盘驱动器的方法能获得大幅节电的功效,但因为这种做法对应用程序的性能会造成显著的负面影响,所以在大多数情况下并不实用。MAID 2.0技术的目标就是,既为种类尽可能广泛的应用程序提供节能这个优点,又不影响它们的性能。

MAID 2.0产品通过在用户指定的依赖于应用程序的节能级别下进行操作来实现这个目标。第一级设置是指响应时间最短,但仍有可能实现节能。第一级设置适用于像医院这些事务繁忙的单位,比如它们需要快速查阅病人的X光片或病历。第一级设置保证在不活动期间,仍可以节能20%。

许多人错误地以为,实行24×7操作的数据中心根本不会出现不活动期间。然而,据加利福尼亚大学圣克鲁兹分校的研究人员近日开展的一项信息访问调查显示,所有存储数据当中多达90%在3个月的时间内一动也没动。随时准备供工作人员访问,并不意味着系统中的所有存储磁盘都需要全速旋转。

MAID 2.0的三级节省模式

存储设备不活动15分钟之后,用户通常可能会决定让它处于第一级MAID 2.0模式。这时候,读/写磁头会自动停下来。这个步骤对用户来说是透明的,它减小了空气阻力,有助于实现约20%的节能功效。它保证响应时间小于1秒,第一个输入/输出请求不会出现用电尖峰现象,随后的所有输入/输出请求都在瞬间得到处理。

第二级MAID 2.0常常在磁盘驱动器不活动30分钟后进入,它可以把驱动器盘片的转速减少50%。第一个输入/输出请求将在15秒之内得到处理,随后的输入/输出请求将瞬间得到处理。第二级至少可以实现节能40%的功效,一般用于数据偶尔访问但不是经常访问的场合,比如已归档的文字处理文件、电子表格和演示文档。

第三级MAID 2.0使驱动器处于轻度睡眠状态,不过能够在30秒之内响应第一个输入/输出请求。与其他级别的MAID 2.0一样,随后的输入/输出请求也是瞬间得到处理。许多用户在驱动器不活动60分钟后采用第三级MAID 2.0。这样一来,至少可以实现节能60%的功效,非常适用于内容固定的数据长期归档,比如电子邮件、财务记录和医疗检验结果。

显然,MAID 2.0方法比MAID 1.0方法更灵活、更高效。MAID 1.0方法让磁盘驱动器不是全速旋转就是停止旋转,节能方面不灵活,而且还影响了应用程序的性能。而MAID 2.0不一样,MAID 2.0解决方案在不影响性能的情况下达到的节能效果相当显著,而更加值得注意的是,许多非MAID 2.0存储系统需要长达60秒至120秒的时间来响应输入/输出请求,而且根本没有任何节能功效。

MAID 2.0产品最多可以把这个响应时间缩短75%,而且能够大幅节省能源和费用,因此,业内人士普遍认为,MAID 2.0将是用途最广泛的节能型数据存储技术。它并不影响性能、易于部署,还能解决最主要的成本问题——磁盘驱动器的能耗。MAID 2.0用户获得的节能幅度在20%~60%或更多,而且在许多情况下,还能获得比没有节能功效的替代技术更高的性能。

 
者:乐天/译
来源:51CTO

相关文章:

  • 为什么要创建开放源码的PlayScala社区?
  • 关于 TCP/IP,必知必会的十个问题
  • OSStatus code 查询
  • TCP协议中FLAG的含义
  • TypeScript学习笔记(六):泛型
  • Unity3D之Mecanim动画系统学习笔记(十):Mecanim动画的资源加载相关
  • Android零基础入门第11节:简单几步带你飞,运行Android Studio工程
  • java中你确定用对单例了吗?
  • 深入分析Sleep(0)与Sleep(1)的区别
  • swift3.0常用操作包含删除字符串(string),更换字符串,插入字符串
  • 第21章 RTX 低功耗之睡眠模式
  • Spring思维导图(AOP篇)
  • layer close 关闭层IE9-浏览器崩溃问题解决
  • Java-static
  • 克隆用户过狗提权
  • “Material Design”设计规范在 ComponentOne For WinForm 的全新尝试!
  • 《Java8实战》-第四章读书笔记(引入流Stream)
  • 2019年如何成为全栈工程师?
  • Android 初级面试者拾遗(前台界面篇)之 Activity 和 Fragment
  • Django 博客开发教程 16 - 统计文章阅读量
  • Mysql优化
  • 基于Dubbo+ZooKeeper的分布式服务的实现
  • 模型微调
  • 实战|智能家居行业移动应用性能分析
  • 手写一个CommonJS打包工具(一)
  • 吴恩达Deep Learning课程练习题参考答案——R语言版
  • 分布式关系型数据库服务 DRDS 支持显示的 Prepare 及逻辑库锁功能等多项能力 ...
  • 格斗健身潮牌24KiCK获近千万Pre-A轮融资,用户留存高达9个月 ...
  • 通过调用文摘列表API获取文摘
  • # 深度解析 Socket 与 WebSocket:原理、区别与应用
  • ###C语言程序设计-----C语言学习(6)#
  • (10)工业界推荐系统-小红书推荐场景及内部实践【排序模型的特征】
  • (动态规划)5. 最长回文子串 java解决
  • (附源码)springboot社区居家养老互助服务管理平台 毕业设计 062027
  • (十)【Jmeter】线程(Threads(Users))之jp@gc - Stepping Thread Group (deprecated)
  • (算法)求1到1亿间的质数或素数
  • (算法二)滑动窗口
  • (五)大数据实战——使用模板虚拟机实现hadoop集群虚拟机克隆及网络相关配置
  • (学习日记)2024.01.09
  • (转载)OpenStack Hacker养成指南
  • *p++,*(p++),*++p,(*p)++区别?
  • .NET 8 中引入新的 IHostedLifecycleService 接口 实现定时任务
  • .NET/C# 反射的的性能数据,以及高性能开发建议(反射获取 Attribute 和反射调用方法)
  • .net6解除文件上传限制。Multipart body length limit 16384 exceeded
  • .Net程序猿乐Android发展---(10)框架布局FrameLayout
  • .NET教程 - 字符串 编码 正则表达式(String Encoding Regular Express)
  • .sh文件怎么运行_创建优化的Go镜像文件以及踩过的坑
  • .vimrc php,修改home目录下的.vimrc文件,vim配置php高亮显示
  • /usr/bin/perl:bad interpreter:No such file or directory 的解决办法
  • [android] 练习PopupWindow实现对话框
  • [C++]拼图游戏
  • [cogs2652]秘术「天文密葬法」
  • [Docker]十一.Docker Swarm集群raft算法,Docker Swarm Web管理工具
  • [FC][常见Mapper IRQ研究]
  • [ffmpeg] x264 配置参数解析