数据中心架构中大二层的概念越来越火,所谓的大二层就是字面的意思大大扩展二层网络的范围。那么数据中心里为什么要去扩展二层网络呢?
首先看下传统的数据中心架构:
传统的数据中心架构采用的都是核心,汇聚加接入的三层架构。网关一般位于汇聚层,核心和汇聚之间靠三层路由打通。汇聚和接入之间是二层连接。
这种架构还是继承园区网,分区分域,逻辑明了,方便管理。三层的路由协议,二层的生成树协议都比较成熟,这种架构运行起来一直都很稳定。
但是虚拟化的出现推动了网络技术的变革和进步。传统的数据中心,每个服务器的平均利用率很低,只有10%~20%,大大浪费了机房的位置资源和电力资源。服务器的虚拟化就很好的解决了这个问题。
服务器的虚拟化就是把一个物理服务器用软件分成若干的逻辑服务器。每个逻辑服务器叫VM(virtual machine),每个VM都相当于一个独立计算资源,有独立的CPU,内存,硬盘和操作系统,也可以安装独立的应用。VM的IP地址和mac地址也是独立的,他们通过虚拟化软件上的虚拟交换机进行连接,和外部的网络通信。
这样一来服务器资源的使用效率就大大被提升了,不仅降低了运维成本,而且管理更加高效。
虚拟化技术本身对网络的影响其实并不大,无非就是一个物理服务器变成了若干逻辑服务器。相当于二层交换机下面多挂了几个服务器。
但是虚拟化同时带来了一个新的操作需求,就是虚拟机迁移。所谓虚拟机迁移,就是虚拟机一开始在物理机A上运行,后面由于物理机A要升级维护,需要迁移到物理机B上。这个过程中为了让前端的用户没有感知,需要保持IP地址和MAC地址不变。
这就麻烦了,在传统的三层架构中,如果两个物理机位于同一个二层域里,那么IP地址不用改变,可以无感知完成虚机迁移。
但是当服务器的规模特别大的时候,不能都放到同一个二层域里,肯定会设立不同的网段放置服务器。这时候一个192.168.1.1/24的主机想迁移到192.168.2.0/24网段的时候,肯定需要改变IP地址。那么tcp会话就会中断,业务也会中断。IP地址如果发生变化那么其他相关的服务器,如中间件、数据库等的配置也要变化。可谓牵一发而动全身。
为了在不同的二层域实现IP地址不变的虚机迁移,就需要把不同的二层域都统一纳管成一个大的二层域。让虚拟器不管是不是位于同一个网段,都在这个大的二层域里,那么就可以实现虚拟机的动态迁移了。
有一个比喻特别好,一开始你是在石家庄上班,社保关系都在石家庄,后面换了个保定的工作。石家庄和保定的社保都是独立管理的,社保要从石家庄迁到保定,出了市相当于去了不同的二层域,要不停的去相关部门跑手续。但是如果全省的社保都进行统一纳管(大二层网络),那么只要是在河北省的工作变化都不会影响社保的缴纳。只要人过去工作就好了,社保账户不会变化(业务不中断,无感知迁移)。
至于大二层上具体技术上怎么实现,后面继续聊