# Google 数据中心探秘

- 作者：积木
- 发布时间：2012-10-18 15:52
- 分类：公司
- 原文：https://www.ifanr.com/174990

[![](https://s3.ifanr.com/wp-content/uploads/2012/10/ff_googleinfrastructure3.jpg "ff&#95;googleinfrastructure3")](http://www.ifanr.com/174990/ff_googleinfrastructure3)

虽然是推崇开放文化的公司，Google 其实有些许多秘密，这有时是为了产品开放需要，有时是出于商业机密的要求，比如 Google 神秘的 X 部门，就在默默酝酿着许多改变世界的想法（自动汽车、Google Glass）。不过，对于 Google 来说，最保密的部门还有自己的数据中心。

作为一个互联网公司，Google 对数据的收集是永无休止的，可以说，数据中心就是这个巨人的心脏。因此，Google 对数据中心采取了严格保密的措施，不但外人难以进入，就连公司内部员工，也只有少数人才能进入。Google 曾经分享过数据中心的设计和运作经验，而且从 2008 年起开始发布效能数据。在 Google 官方博客中，Google 说保密的原因是为了用户数据的私密和安全。

但是，从现在开始，Google 采取了更加开放的做法。在公司的“[Where the Internet lives](http://www.google.com/about/datacenters/gallery/#/)”网页，展示了由 Connie Zhou 拍摄的许多照片，这是 Google 第一次向外界展示数据中心的内部情况。另外 ，在街景视图中，Google 还添加了 Lenoir NC 数据中心的场景，这意味着用户可通过网络其进行一场虚拟的访问。

当然，所有这些只是一些视觉上的展示。Google 邀请了 Wired 的编辑 Steven Levy，向其展示数据中心的基础结构，并且对其内在运作方式进行了描述。关于数据中心，Steve Levy 曾在《In the Plex》一书中进行过粗略的描绘，当时 Google 的数据中心使用的都是便宜、现成的服务器。从那个时候以来，数据中心已经经过了许多变化。

在 [Wired](http://www.wired.com/wiredenterprise/2012/10/ff-inside-google-data-center/) 网站，Steven Levy 则讲述了自己对 Google 数据中心的了解。

Urs Hozle 曾参与了 Google 数据中心的早期建设。1999 年，Urs Holzle 加入了 Google，他被带到 Santa Clara 的 Exodus 服务器聚集区。在 Exodus，许多公司都租用了楼层用于摆放服务器。Google 的服务器群和其他互联网公司的摆放在一起。看起来 Google 的服务器是最密集，而且最混乱的。Brin 和 Page 想要升级这个系统，因为它速度缓慢，容易崩溃。

当时 Goolge 正在快速发展，它需要处理大量搜索请求，为网络做索引，提供 AdWords 服务，并且添加其他服务（邮件服务）。Page 对于速度非常迷恋，他希望搜索结果显示如此之快，看起来就像是能够读懂人脑。所有这些都需要更好的服务中心。同时 ，各个公司对数据中心的需求也在增加，Google 未来的租金将会更多。但在 Exodus，Google 的服务器却是一团乱麻。

解决方法指向一个，Google 需要构建自己的数据中心，成本更低，效能更强。这个任务被称为 Willpower。然后，Google 在 Dalles 建设了的第一个数据中心。该中心由 Hozle 和他的团队设计，一共花费 6 亿美元。他们的做法，即使到现在看来也是很特别的：服务器房间不用保持很低的温度。一般来说，数据中心都配有机房空调（CRACS），这会耗费大量能源，还有电费。

[![](https://s3.ifanr.com/wp-content/uploads/2012/10/ff_googleinfrastructure4_f.jpeg "20.11.FF.Google.DH.59600.GOOGLE&#95;CBF&#95;018.tif")](https://s3.ifanr.com/wp-content/uploads/2012/10/ff_googleinfrastructure4_f.jpeg)

Google 意识到，在服务器正面的“冷过道”那里，温度可以保持 80 华氏度（约为 27 摄氏度），员工可以穿短袖或 T 恤衫工作；而在服务器侧面的“热过道”（机器集中散热的过道）那里，温度可以达到 120 华氏度（约为 49 摄氏度）。这些热量可以被管子里的水吸收，然后排出屋外降温，循环回来使用。在降低水温上，Google 也找到了省钱的方法，数据中心使用了巨大的塔，当热水从上面流下来的时候，会经过散热器一样的装置，有些水会蒸发，剩下来的水到达底层的时候，温度将达到普通的室温。若在芬兰，Google 数据中心用则是海水。

通过各种创新，Google 在节能上取得了从未有过的成就。对数据中心的耗能有一个标准检测数值，叫做 PUE（电源使用效率）。最完美的数值是 1.0。专家们将 2.0（一半的耗能）视为一个合理的数值，而 Google 达到的数值是 1.2。多年来，Google 一直没有说自己是如何做到的。

这是公司的核心优势，分享给竞争对手对自己是不利的。不过在 2009 年的 Efficient data center 大会上，Google 宣布了最新的 PUE 结果，也暗示了自己的一些技术。现在 Facebook 和 Yahoo 也开始报告同样的 PUE 值。

对于 Google 来说，节能是提供免费服务的一个重要基础。Holzle 用 Gmail 举例说，如果公司以传统的方式来管理数据中心，公司会损失大量的金钱，由于节能措施，公司能够使得花费变得很小，并且能否免费提供邮件服务。

[![](https://s3.ifanr.com/wp-content/uploads/2012/10/1680746-slide-google-datacenter-tech-08.jpeg "1680746-slide-google-datacenter-tech-08")](https://s3.ifanr.com/wp-content/uploads/2012/10/1680746-slide-google-datacenter-tech-08.jpeg)

Google 的突破不仅是耗能上的。尽管仍被视为互联网公司，Google 已经成为世界上最大的硬件制造商， 因为它的设备多数是自己制造的。1999 年的时候，Hozle 从“三个开电子商店的家伙”那里买了 2000 个剥离下来的电路板。通过改造，去除不必要的部件，Google 构建了一排服务器（单个价格是1500 美元 ，当时的标准是 5000 美元）。

如今，Google 采用了更加成熟的方法。它确切地知道自己需要什么，这可以节省许多钱，那些不必须的部件不再购买，比如显卡和机箱。

为了统一管理自己的服务器，Google 开发了一个软件系统，开发者能够通过这个系统指挥数千个电脑， 如同一个计算机一样。在 2002 年的时候，它创造了 Google File System，可以在不同的机器上顺利地传送文件。MapReduce 是 Google 为编写云端服务而开发的系统，它的开源版本 Hadoop 已经成为业界标 准。另外，Google 还开发了一个自动化的决策系统 Borg，用于决定那条机器最适合某项任务。

这对服务器集群的稳定性提出了更高的要求。为此，Google 内部有一个团队，叫做 SRE（网站可靠性工程团队），他们的任务就是使用各种方法，对服务器进行破坏，以检测公司进行危机处理的能力。每年，SRE 都会进行一次虚拟的战争，叫做 DiRT（disaster recovery test）。攻击是虚假的，但是几乎和现实一样，危机管理 人员必须按照处理程序来做，如果他们不能找出处理方式，攻击就必须停止，以免影响到真正的用户。

在今年的年度训练中，主管工程师 Kripa Krishnan 向 20 多个 SRE 解释规则。“不要试图去修补任何东西”，她说，“对于那些工作中的人来说，我们是不存在的。如果我们真正幸运的话，我们不会破坏任何东西。”Kripa Krishna 说她的任务就是想出重大的测试，以暴露系统真正的弱点。

SRE 项目开始于 Hozle 给工程师 Ben Treynor 下达的一个任务，如何使 Google 的网络避免失败。 Treynor 最终对可靠性的概念进行了再思考，他给予每个服务一个预算，即允许停机的时间，并确保 Google 的工程师们有效利用这个时间。“举例说，我们希望 Google+ 在 99.95% 的时间里运行”， Hozle 说，“我们需要确保的是，停机时间不是因为一些愚蠢的原因，比如没有足够的关注。我们希望的停机时间是因为在推动某些新东西”。

Google 的服务器数量有多少？这对外人来说是一个迷。当 Steven Levy 访问 Lenoir 数据中心的时候，了解到那里的服务器数量是 49923 个。不过，在冷过道行走的时候，他意识到，这个数据基本是没有意义的，今天的机器与昨天的已经完全不同，2012 年的一个服务器可能超过上一代的 20 个服务器，而且对于 Google 来说，是以群组来思考的，一大群的机器一起工作，提供一个服务或运行一个应用。“单一的服务器是没有意义的”，Hozle 说，“我们将计算机能力视为抽象的数据”。这是他们三年前就已经意识到的概念：数据中心就是一个计算机。

当问到那些地方需要改进的时候，Hozle 提到了数据中心和服务器群的设计， 的速度和灵活性，然后他停了下来，“因为我们付出了鲜血、汗水和眼泪。我们希望别人也付出自己的鲜血、汗水和眼泪，来做出同样的发现。”

显然，有些事情是不能和外人分享的。如果你对 Google 数据中心感兴趣，不妨去“[Where the internet lives](http://www.google.com/about/datacenters/gallery/#/)”看一下吧。
