草庐IT

如何保护数据中心免受全球热浪影响?

佚名 2023-03-28 原文
气候变化给一个意想不到的地方带来了麻烦:数据中心的运作。随着全球热浪频率的增加,这些关键的技术基础设施正在越来越频繁地受到影响,威胁到互联网的基础元素。

7 月,当英国经历超过 40 摄氏度的创纪录高温时,谷歌和甲骨文位于伦敦的数据中心被迫离线。热浪使他们的数据中心冷却系统无法使用,并导致许多客户的网站中断。而谷歌中断影响了整个欧洲的 WordPress 托管网站。

这些冷却系统旨在调节服务器和其他数据中心设备散发的热量。但是,当内部热量遇到热浪的外部高温时,冷却系统就会不堪重负,无法正常工作。因此,重要的数据中心设备过热并熄火。

随着热浪席卷秋季,科技公司的 IT 运营面临长期中断。根据Twitter 前工程副总裁 Carrie Fernandez 的一份公司备忘录, 9 月,当高温导致其萨克拉门托数据中心中断时,Twitter 发现自己处于“非冗余状态” 。她称这一事件“史无前例”,并表示热浪导致“物理设备完全关闭”。

尽管热浪在全球范围内成为普遍现象,但 Twitter 等公司对酷热可能对科技行业造成的破坏准备不足。Twitter 前安全负责人 Peiter “Mudge” Zatko 在 8 月份的一份举报披露中透露,Twitter 因“数据中心冗余不足”而面临风险。他警告说,“少数数据中心暂时但重叠的中断”可能导致 Twitter 被“离线数周、数月或永久”。既然 Elon Musk 已经收购了 Twitter 并解雇了大量员工,该公司可能比以前更没有为热浪做好准备。

热浪:IT 越来越头疼

热浪会对严重依赖 IT 服务或提供数字产品的企业造成重大损害。4D Data Centers的首席运营官 Steve Wright警告说,高温等环境条件有能力“损坏 IT 设备并因电网过载而导致停电”。

Wright 表示,在高温情况下未能妥善维护数据中心的公司可能会遇到“服务器故障、硬盘崩溃和数据丢失”的情况。“任何断电对客户来说都是毁灭性的,关键数据文件会损坏或丢失,大型机出现故障,系统过热会造成资金损失,”他说。

但是,对于这种日益严重的 IT 难题,有一些解决方案。Wright 解释说,数据中心运营商可以先安装备用发电机,以确保在停电期间继续供电。他补充说,他们还可以通过跟踪温度和湿度来延长数据中心服务器和硬盘驱动器的使用寿命。

Wright 指出微软成功测试水下数据中心作为应对过热的手段。这家科技巨头称这个概念“可靠且实用”,与陆上数据中心相比,其故障率大大降低。

“对于数据中心,有必要使用高能冷却系统来应对不断上升的温度,尤其是 2021 年对美国数据中心的调查显示,45% 的数据中心所有者和运营商负责管理全球最大 IT 的基础设施组织表示,极端天气已经威胁到他们的持续运营,”他解释道。

数据中心的冷却系统是整个系统的薄弱环节

冷却系统旨在防止数据中心设备过热,但事实是它们根本无法应对破纪录的热浪。数据中心智库 Uptime Institute Intelligence 的研究主管 Daniel Bizo 表示,酷热会给压缩机、泵、风扇和其他冷却设备带来压力。

“在不深入技术的情况下,压缩机有多种类型,是机械制冷系统的核心,例如空调和冷水机系统。他们使用电力来压缩气态冷却剂,然后在循环的后期膨胀(冷却盘管暴露在环境空气或水中)并急剧冷却以产生冷却效果,”他解释道。

“这个例子中的泵是一个水泵,它在数据中心周围循环设施水(在冷冻水系统中)作为冷却剂(由水冷却器中的压缩机冷却)以去除计算机房空气处理器的热量,行内冷却装置和其他热交换装置。他们工作越努力,失败的可能性就越大。”

不幸的是,冷却设备并不是数据中心易受极端高温影响的唯一重要组成部分。Bizo 说备用发电机和外部电力设备也会受到热浪的影响。这“会降低他们支持数据中心全部容量的能力,如果需要的话,如果电网遇到热引起的问题”。

尽管谷歌、甲骨文和推特等知名科技公司的服务在 2022 年因酷热而受到严重干扰,但该行业仍有一些希望。Bizo 解释说,除了一些明显的例外,绝大多数数据中心在夏季都“在极端温度下没有出现重大问题”。他将此归因于“适当的电源和冷却冗余以及良好的设备维护卫生”。

“此外,大多数数据中心通常仅以中等利用率水平运行。运营商可以利用备用冷却能力来应对极端高温,”他说。“相比之下,云提供商更倾向于将他们的基础设施推向极限,并且在极端天气事件中容错的余地更小。”

如何保护数据中心免受热浪影响

随着热浪对全球技术基础设施变得越来越普遍和灾难性,数据中心运营商必须加强防御以抵御这一非常现实的威胁。幸运的是,Bizo 相信有很多解决方案可以减轻极端高温的影响。

首先,数据中心运营商可以投资蒸发和绝热冷却系统。或者他们可以用自动喷水灭火系统补充现有的空调和冷却装置。

“在数据大厅中承受几度的高温有助于减轻冷却系统的压力;如果您的系统仅使用环境空气冷却(仅由外部空气冷却),操作员可能会考虑使用蒸发效果对其进行升级,”他说。

“一个例子可能是在空调/冷却器的冷却盘管周围雾化空气。新建/大型翻新工程可以选择冷却系统,通过设计使用蒸发(或绝热效应,另一种依赖空气吸收水的物理现象)来冷却环境空气,只要它不太潮湿,以达到冷却效果”

但他表示,应对气候危机的“更具战略性的长期应对措施”是采用液冷 IT 系统。“液冷 IT 也有帮助,因为它允许整个冷却‘链’的温度更高。这是因为与根据行业建议需要在 18-27 摄氏度范围内供应的空气不同,直接输送到服务器的液体(水、工程流体)可以达到 30 摄氏度以上,在某些情况下甚至可以达到 40 摄氏度以上,具体取决于实施情况,“ 他说。“这意味着,比方说,冷冻水系统可以设计为提供 32C 的数据中心冷却水。这比冷却到 15C 以下(例如)所需的能量要少得多,这在许多实施中都很常见。”

由于数据中心运营商已经经历了热浪的有害影响,Uptime 的立场是他们应该进行定期评估以识别与气候相关的漏洞并在时间用完之前实施解决方案。

Bizo 补充道:“随着极端天气事件和气候变化的其他后果变得更加严重和广泛,解决气候恢复力是现代商业的当务之急。”

数据中心如何抵御高温

尽管科技行业极易受到热浪的影响,但解决这个问题的技术解决方案并不缺乏。

CyrusOne 是一家全球数据中心提供商,它通过闭环冷冻水系统和风冷式冷水机组应对极端高温。CyrusOne 负责环境健康、安全和可持续发展的副总裁 Kyle Myers 将它们描述为“为我们的设备提供冷水的节能方式”。

该系统包含一个包含不到 8,000 加仑水的回路,只需注满一次,而其他运营商通常每年消耗数千万加仑的水来冷却他们的每个数据中心。这种一次性水源随后由集成的压缩机和冷凝器冷却。一旦水变冷,它可以降低数据中心内部的温度。

他告诉媒体:“这个过程冷却了全国不同温度区域的 IT 设备。我们的风冷式冷水机配有节能器,使我们能够利用较低的温度更有效地从冷冻水中排出热量——同时无需补充水源来维持运行。”

在限制极端高温对重要数据中心设备的影响的同时,这项技术对环境也有好处。它不需要恒定的水源,而且由于不需要排污管,数据中心不会释放污染物。

Myers 说:“对于依赖水进行冷却的设施,它们可以在这些时期燃烧大量的水来保持数据中心凉爽。幸运的是,我们的现代建筑标准使用无水冷却,因此虽然我们的总电力负荷在此期间可能会增加,但我们并没有耗尽遭受旱灾的凤凰城地区的水资源。”

但是,如果不投资冷冻水系统等花哨的系统,组织可以通过做出更明智的决策来缓解增加的热量。例如,Cirrus Nexus 首席信息官 Kelly Fleming 建议希望将工作负载转移到云端的组织选择使用可再生能源的数据中心区域。

他还建议:“不需要全天候 24/7 运行的服务器可以在其数据中心区域消耗的能源处于最清洁状态时上下旋转,这可能会因为其供电的能源而有很大差异。”

过去几个月证明了热浪对全球科技行业的破坏力有多大。随着热度的上升没有放缓的迹象,科技公司显然正处于十字路口。如果科技公司未能监控和缓解极端高温,几乎肯定会出现更严重的停电。

有关如何保护数据中心免受全球热浪影响?的更多相关文章

  1. ruby - 如何使用 Nokogiri 的 xpath 和 at_xpath 方法 - 2

    我正在学习如何使用Nokogiri,根据这段代码我遇到了一些问题:require'rubygems'require'mechanize'post_agent=WWW::Mechanize.newpost_page=post_agent.get('http://www.vbulletin.org/forum/showthread.php?t=230708')puts"\nabsolutepathwithtbodygivesnil"putspost_page.parser.xpath('/html/body/div/div/div/div/div/table/tbody/tr/td/div

  2. ruby - 如何从 ruby​​ 中的字符串运行任意对象方法? - 2

    总的来说,我对ruby​​还比较陌生,我正在为我正在创建的对象编写一些rspec测试用例。许多测试用例都非常基础,我只是想确保正确填充和返回值。我想知道是否有办法使用循环结构来执行此操作。不必为我要测试的每个方法都设置一个assertEquals。例如:describeitem,"TestingtheItem"doit"willhaveanullvaluetostart"doitem=Item.new#HereIcoulddotheitem.name.shouldbe_nil#thenIcoulddoitem.category.shouldbe_nilendend但我想要一些方法来使用

  3. python - 如何使用 Ruby 或 Python 创建一系列高音调和低音调的蜂鸣声? - 2

    关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题?更新问题,以便editingthispost可以用事实和引用来回答它.关闭4年前。Improvethisquestion我想在固定时间创建一系列低音和高音调的哔哔声。例如:在150毫秒时发出高音调的蜂鸣声在151毫秒时发出低音调的蜂鸣声200毫秒时发出低音调的蜂鸣声250毫秒的高音调蜂鸣声有没有办法在Ruby或Python中做到这一点?我真的不在乎输出编码是什么(.wav、.mp3、.ogg等等),但我确实想创建一个输出文件。

  4. ruby-on-rails - 如何验证 update_all 是否实际在 Rails 中更新 - 2

    给定这段代码defcreate@upgrades=User.update_all(["role=?","upgraded"],:id=>params[:upgrade])redirect_toadmin_upgrades_path,:notice=>"Successfullyupgradeduser."end我如何在该操作中实际验证它们是否已保存或未重定向到适当的页面和消息? 最佳答案 在Rails3中,update_all不返回任何有意义的信息,除了已更新的记录数(这可能取决于您的DBMS是否返回该信息)。http://ar.ru

  5. ruby-on-rails - 'compass watch' 是如何工作的/它是如何与 rails 一起使用的 - 2

    我在我的项目目录中完成了compasscreate.和compassinitrails。几个问题:我已将我的.sass文件放在public/stylesheets中。这是放置它们的正确位置吗?当我运行compasswatch时,它不会自动编译这些.sass文件。我必须手动指定文件:compasswatchpublic/stylesheets/myfile.sass等。如何让它自动运行?文件ie.css、print.css和screen.css已放在stylesheets/compiled。如何在编译后不让它们重新出现的情况下删除它们?我自己编译的.sass文件编译成compiled/t

  6. ruby - 如何将脚本文件的末尾读取为数据文件(Perl 或任何其他语言) - 2

    我正在寻找执行以下操作的正确语法(在Perl、Shell或Ruby中):#variabletoaccessthedatalinesappendedasafileEND_OF_SCRIPT_MARKERrawdatastartshereanditcontinues. 最佳答案 Perl用__DATA__做这个:#!/usr/bin/perlusestrict;usewarnings;while(){print;}__DATA__Texttoprintgoeshere 关于ruby-如何将脚

  7. ruby - 解析 RDFa、微数据等的最佳方式是什么,使用统一的模式/词汇(例如 schema.org)存储和显示信息 - 2

    我主要使用Ruby来执行此操作,但到目前为止我的攻击计划如下:使用gemsrdf、rdf-rdfa和rdf-microdata或mida来解析给定任何URI的数据。我认为最好映射到像schema.org这样的统一模式,例如使用这个yaml文件,它试图描述数据词汇表和opengraph到schema.org之间的转换:#SchemaXtoschema.orgconversion#data-vocabularyDV:name:namestreet-address:streetAddressregion:addressRegionlocality:addressLocalityphoto:i

  8. ruby - 如何指定 Rack 处理程序 - 2

    Rackup通过Rack的默认处理程序成功运行任何Rack应用程序。例如:classRackAppdefcall(environment)['200',{'Content-Type'=>'text/html'},["Helloworld"]]endendrunRackApp.new但是当最后一行更改为使用Rack的内置CGI处理程序时,rackup给出“NoMethodErrorat/undefinedmethod`call'fornil:NilClass”:Rack::Handler::CGI.runRackApp.newRack的其他内置处理程序也提出了同样的反对意见。例如Rack

  9. ruby - 如何每月在 Heroku 运行一次 Scheduler 插件? - 2

    在选择我想要运行操作的频率时,唯一的选项是“每天”、“每小时”和“每10分钟”。谢谢!我想为我的Rails3.1应用程序运行调度程序。 最佳答案 这不是一个优雅的解决方案,但您可以安排它每天运行,并在实际开始工作之前检查日期是否为当月的第一天。 关于ruby-如何每月在Heroku运行一次Scheduler插件?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/8692687/

  10. ruby-on-rails - 如何从 format.xml 中删除 <hash></hash> - 2

    我有一个对象has_many应呈现为xml的子对象。这不是问题。我的问题是我创建了一个Hash包含此数据,就像解析器需要它一样。但是rails自动将整个文件包含在.........我需要摆脱type="array"和我该如何处理?我没有在文档中找到任何内容。 最佳答案 我遇到了同样的问题;这是我的XML:我在用这个:entries.to_xml将散列数据转换为XML,但这会将条目的数据包装到中所以我修改了:entries.to_xml(root:"Contacts")但这仍然将转换后的XML包装在“联系人”中,将我的XML代码修改为

随机推荐