如何设计高可靠的物理架构?以运营商数据中心组网为例

对于云计算这个名词,相信大家都不会陌生,这个词不但讲了很多年,而且我相信,未来几年后一定还会继续讲。

本篇主要总结的是在设计时如何实现物理架构的高可用性,如有不对的地方,请多多指教。

一、服务器高可靠性

在所有的云环境,几乎所有的设备都可以通过热备、对叠等技术保障业务的可持续性,单台设备故障时业务几乎无感知,唯独节点服务器不具备设备级的热冗余,但节点服务器整机故障后,业务总是会被影响,除非具备类似VMware的FT技术。所以节点服务器并不具备设备级别的高可靠性,只具备部件级别的高可靠性。

服务器部件的高可用只要体现在几方面:

1、存储高可靠。主要是通过做RAID实现,一般来说系统盘会使用块物理硬盘组成RAID1实现高可靠 ;由于是云架构,基本上虚拟机不会使用本地盘,所以计算节点一般不需要数据盘,即每个节点服务器只需要有两块硬盘组RAID1作为系统盘即可。

2、电源高可靠。通常服务器具备双电源甚至更多,机柜至少接入两路市电进行供电,防止单路市电故障导致节点服务器下电。

运营商云架构 运营商组织架构_网络

3、连线高可靠。在华为的解决方案中,服务器网络被划分成三个平面,分别是管理平面、存储平面和业务平面,在资源不富裕的场景,通常将管理平面和存储平面进行合并,称为存管平面。管理平面和存储平面使用bond mode 1(主备模式),业务平面因网络带宽要求高,通常使用 bond mode 4(负载分担模式)。无论是哪种模式,都需要两个网口组成,即两个网口上联到接入交换机,如何实现连线高可用?

1)跨网卡

通常来说单个网卡至少具备两个网口,如果单个平面bond的两个网口都属于同一张网卡,当该网卡故障时,该平面网络不可用,导致业务受损,所以在设计时一定要跨网卡。如网卡1的1口和网卡2的1口组成管理bond,2口组成业务bond,这样当网卡1或着网卡2故障时,虽然网络处理能力下降,但不会导致业务完全不可用。

运营商云架构 运营商组织架构_连线_02

2)跨CPU(跨NUMA)

用于云计算场景的服务器,至少有2颗物理CPU,而不同的插槽属于不同的物理CPU管理,将不同的网卡均衡的分布在不同的CPU上,避免所有网卡都插在同一个CPU所管理的插槽上。这样做的好处有两个,一是提高将网络的处理能力分担到两个CPU上,效率更高,二是单CPU故障时,另一个CPU上的网卡不受影响。

运营商云架构 运营商组织架构_网络_03

二、交换机高可靠

所有的设备都具备电源高可靠性,这点就不再赘述了,交换机但前主要使用M-LAG实现设备级的高可靠性,但台故障业务几乎无感知。

运营商云架构 运营商组织架构_网络_04

1)连线的冗余比较简单,但是使用哪个端口去就需要看交换机的具体配置了,以华为CE6800系列某款48光口交换机为例,该交换机具有两颗CPU,其中0~23口归属CPU0,24~47口归属CPU1,所以我们对端口的使用应该根据交换机本身的性能配置规划,假设只使用到24个端口,那么将前12个端口使用0~23,另外12个端口使用24~47是比较好的选择,该部署优势可参考上面服务器的说法。

运营商云架构 运营商组织架构_运营商云架构_05

三、其他设备

其他设备如路由器、防火墙的硬件可靠性基本和交换机一致,只是软件层面的可靠性机制不一样,常见的路由器可靠性协议为VRRP,防火墙则为双机热备。

END