SRE:Google运维解密
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

硬件

Google的大部分计算资源都存放在自主设计的数据中心中。这些数据中心拥有自己设计的供电系统、制冷系统、网络系统以及计算机硬件(参见文献[Bar13])。和一般的服务器托管中心相比,每个数据中心的计算机硬件基本上是一致的。[4]为了更好地区分物理服务器和软件服务器的概念,我们在全书中都采用了以下两种说法。

物理服务器(machine)

代表具体的硬件(有时候也代表一个VM 虚拟机)。

软件服务器(server)

代表一个对外提供服务的软件系统。

物理服务器上可以运行任何类型的软件服务器。Google 并不会使用专门的物理服务器运行专门的软件服务器。例如,对Google来说,并不存在一个具体的物理服务器运行我们的邮件系统,而是采用一套集群管理系统进行资源分配,它的名称为Borg。

我们意识到Google将软件服务器与物理服务器区分得如此明确有些不同寻常。通常对一个软件业务来说,软件服务器和物理服务器是紧密相连,密不可分的。但是对Google来说,并不是这样。具体区分的原因和细节相信读者读过下面的章节之后就会有所了解。

图 2-1 描绘了一个典型的Google数据中心的拓扑结构:

● 约10台物理服务器组成了一个机柜(Rack)

● 数台机柜组成一个机柜(Row)

● 一排或多排机柜组成了一个集群(Cluster)

● 一般来说,一个数据中心(Datacenter)包含多个集群

● 多个相邻的数据中心组成了一个园区(Campus)

图2-1:Google数据中心园区的拓扑图

每个数据中心内的物理服务器都需要能够互相进行网络通信。为了解决这个问题,我们用几百台Google自己制造的交换机以Clos 连接方式(参见文献[Clos53])连接起来创建了一个非常快的虚拟网络交换机,这个交换机有几万个虚拟端口。这个交换机的名称叫Jupiter(参见文献[Sin15])。在Google最大的一个数据中心内,Jupiter可以提供1.3 Pb/s的交叉带宽。

Google的数据中心是由一套全球覆盖的骨干网B4(参见文献[Jai13])连接起来的。B4 是基于SDN网络技术(使用OpenFlow标准协议)构建的,可以给中型规模的骨干网络提供海量带宽,同时可以利用动态带宽管理优化网络连接,最大化平均带宽(参见文献[Kum15])。