数据中心里设备千万,并需要不断进行扩容,而一般数据中心运维也就十几个人,要反复重复着这样的工作,所以有人设计了自动化部署的架构。就是在数据中心新增设备时,即插即用,只要将设备上电,网线连接好,就可以自动完成配置下发和业务部署。自动化部署主要在网络设备和服务器上实现,毕竟这两部分设备占了数据中心超过90%的数量,当有新的网络设备或者服务器接入时,自动完成互联互通和业务部署。如果要实现这样,在数据中心里必须要有个指挥者,即控制器去执行指令,当发现有新接入设备,自动向设备分配IP地址,推动操作系统和各种必须软件,然后再加载预先设计好的配置,从而实现设备的即插即用。对于大型数据中心,这种自动化部署方案很受青睐,可以极大节省重复性的装机工作,节约人工成本,现场只需要将设备接入网络即可,不需要现场有技术工人。接下来,就让我们具体看看这些自动化部署是如何实现的。
服务器自动上线
数据中心购买的服务器一般是裸机,就是里面什么软件都没有,包括操作系统都需要安装。一台新接入的服务器要自动上线主要需要四步:第一,获取IP地址,每个服务器都要有一个属于自己的IP地址,完成与外界的通讯。刚上线的服务器会主动发起DHCP请求,获取IP地址,在网络中要有一台DHCP服务器,用于自动分发IP地址,当DHCP服务器接到了新机发出的DHCP请求,然后给新机分配一个IP地址;第二,有的IP地址,获取启动文件,包括操作系统,这时需要网络中有一个FTP或者TFTP服务器,这是一种文件传输服务,用于服务器与客户端进行文件的传输,这个服务开销不大,多用于小文件传输,新机下载到这些引导文件,完成必要的系统安装;第三,有了系统,新机就要再装一些yum源文件及Kickstart内核文件等,这部分主要通过HTTP服务器提供服务,提前需要将相应的文件复制到HTTP服务器上,新机拿到这些资源后,便可以自动安装了;第四,安装应用软件,这部分主要由软件服务器自动推送,当新机系统安装完毕,软件服务器会自动推送预装软件,新机继续安装这些软件,安装完毕后就可以启动工作了,成为数据中心里真正的一员。要实现这整个过程,不仅要在数据中心里提前部署好DHCP、HTTP、FTP等服务器,新机还要具备PXE环境,这是一种引导启动的方式。采用这种方式可以自己创建一个“安装源”,在安装系统的时候只要能找到这个“源”便可以实现系统安装,是服务器自动化部署必须的技术。
交换机自动上线
服务器可以自动部署,网络设备自然也可以,数据中心内部是局域网,网络设备基本都是交换机。一台新接入的交换机要自动上线主要也需要四步:第一,交换机加电机后,和服务器一样,也会主动发起DHCP请求,先获取IP地址,交换机默认会有VLAN 1配置启用了三层接口,没有配置地址,由DHCP来分配地址,交换机获取到这个地址后,就可以和网络中的任何服务器进行通讯了;第二,到版本服务器上获取指定软件版本,下载到交换机中,然后通过网管指定交换机的启动新文件,操作交换机重启,以新的版本启动起来;第三,到配置服务器上下载配置,这个配置是不完整的,是设备最基本的配置,这一步可以和第二步合并成一步完成,交换机只需要重启一次即可;第四,网络中要有控制器,当交换机下有服务器上线时(主动发起ARP请求),控制器将可以收到请求,然后给交换机下发端口配置,允许服务器上线,这部分其实是一个较为复杂的过程,有多种不同的技术实现形式,比如:主机Overlay,网络Overlay等等,实现的方法和配置都有所不同,应用于不同的场景,不管怎样遵循的原则都是,根据通过控制器来控制交换机下的服务器上线,并通过控制器来自动给交换机下发配置,由交换机实现业务转发,是一种典型转控分离应用场景。交换机的自动部署要比服务器复杂些,不仅要完成自己的软件和配置部署,还要实现与下游服务器的配合,最终整体上线。很多时候扩容基本是交换机带着下游的服务器一起上线的,只有在服务器故障需要更换时,才仅做服务器的自动上线。这种交换机自动化部署适用于有控制器的网络,由控制器统一指挥,将预先做好的配置下发给新上线的交换机,控制器不仅可以下发配置,还可以下发转发流表,指导流量转发。
除了服务器和交换机,其它数据中心设备由于数量少,自动化部署的意义不大,真也要实现自动化就有些画蛇添足了。不过,依然可以在运维、监控和业务部署等方面做一些自动化部署,比如:通过自动化脚本采集所有设备的运行状态信息,发现异常及时告警或者处理;通过自动化工具在特定时间,部署新的业务或者调整网络参数等等,所有这些自动化部署的目的都是为了提升工作效率,将重复性的、简单的交给设备自己完成,减少人工参与,从而极大地提升数据中心运行效率,节约人力成本。因此,自动化部署在数据中心里,尤其是大型的数据中心里受到广泛欢迎,甚至还有的数据中心组建了自动化部署业务小组,专门研究如何提升数据中心的自动化部署能力,简化数据中心运营。以往粗放型的发展模式是不能持久的,要做精细化运营,向数据中心运营要利润,开展自动化部署就是一条明路。