数据中心网络设备不间断业务升级技术漫谈
2015-12-28 D1Net 编辑:harbor
数据中心需要全年无中断运行,提供7*24小时的全天候服务,一旦出现中断必然对业务造成影响,有时都是按秒来计算费用的,对于一些大型的互联网数据中心,中断几分钟就会减少数千万的收入,所以他们对数据中心故障是零容忍的。然而,再好的设备都不可能从来不出问题,尤其随着运行时间的延长,各种器件开始老化、软件缺陷不断暴露,出现这样那样的问题,只不过我们可以通过各种冗余设计,及时将业务切换到备用环境中,让业务继续运行,然后来排除问题。等将问题解决后,再将业务切换回来。从用户层面并不会感知到这个切换过程,依然可以正常的访问数据中心各种应用。网络设备在数据中心里起到设备互连的作用,没有网络就不能称之为数据中心,可见网络设备对于数据中心的重要性。网络设备在运行过程中也同样会出现各种各样的问题,经常需要对软件进行升级才能解决问题,那么如何对网络设备进行不间断业务升级呢?本文将一一进行阐述。
网络设备,尤其是大型网络设备往往由多块板卡组成,每个出现问题的位置也不尽相同。借鉴Windows解决问题打补丁的方法,网络设备也可以打补丁。通过对运行中的网络设备打上新的补丁,从而解决一些软件已知问题。既然是打补丁,自然大多数情况下不需要重启设备,直接通过补丁,对原有程序中的有问题函数进行替换,然后程序就可以调用新的没有问题的函数运行,从而解决问题。这种方法并不是一直有效,因为很多的函数是在设备刚启动的时候就初始化好的,后面通过补丁的方式无法进行更新修改,这样就要考虑冷补丁的方式,所谓冷补丁就是还是通过补丁的方式对原来有问题的函数进行替换,但是原有程序无法调用到补丁里的新函数,补丁功能无法生效,那么就需要带着补丁启动,启动时才会更新初始化函数,解决问题。平时我们在使用电脑时,有时关机时经常会收到提示“请不要关机,正在更新程序”,这就是正在下载冷补丁的过程,当下载完成后,再次启动时才会激活新的补丁,解决掉原有系统程序的问题,这样加载的都是冷补丁。补丁是对原有程序的修复,解决原有程序运行中出现的各种问题,也是网络设备解决问题的主要方式。
上面也提到了并不是所有的补丁都能做成热补丁,也有些问题只能通过冷补丁解决,这显然无法满足数据中心的要求,解决问题还需要对设备进行重启,这必然会影响业务。于是不少的网络设备厂商设计了很多不间断业务升级的技术,下面就来详细说说。首先,热补丁自然算是一种不间断业务升级技术,也是目前应用最为广泛的技术,使用简单、有效,可热补丁并不能解决一切问题,有很大的局限性。其次,对网络系统的某个进程或者功能进行升级。比如网络设备的OSFP路由出了问题,然而要解决这个问题,必须对原有的实现功能进行彻底的修改,简单地修改一两个函数根本无法解决问题,这时就需要对OSPF路由进程进行升级。如今绝大部分的网络操作系统都可以支持这种升级,通过将原有的进程杀死,重新启动一个新的进程,其它进程功能保持不变。这样其它进程的功能不会受到任何影响,就算对OSPF进程有影响,也可以先配置静态路由将业务通过静态路由跑起来,然后再对OSPF进程升级,升级后再将静态路由删除掉,继续采用OSPF路由跑业务。通过进程升级的方式,可以保持设备正常运行,不重启设备。任何一个进程出现的任何问题都可以通过这种方式解决问题,也可以解决很多热补丁无法解决的问题。第三,网络设备软件的更新速度很快,往往一年半载的就会有新的软件版本出现,所以运行时间比较久的网络设备使用的软件和最新的软件版本差异会比较大,新的软件往往解决了很多进程、模块的问题,这时通过进程升级是行不通的,只能对软件整体进行升级,这时就出现了一种叫不间断版本升级的技术。高端的网络设备都是双主控运行的方式,起到数据备份的效果。不间断业务的版本升级恰好利用了这一点,可以逐一对主控板进行升级,达到更新软件的目的。具体步骤就是对备用主控板进行重启升级,由于业务都是走主用主控板,所以业务并不会受到影响,等备用主控板升级后采用新的版本起来后,可以自动与主用主控板的老软件兼容。接着再将业务切到备用主控板上,对主用主控板进行重起软件升级,等主用主控板起来后可以再将业务切回到主用主控板上,完成软件版本的升级。这个过程实际上实现起来是非常复杂的,尤其是要保证两个跨度非常大的版本要能兼容,在进行主备切换时对业务无影响。最后,由于网络设备的业务板都是没有备份的,这样业务板出了问题,在一台设备上就需要完成版本的切换,这时就要借助于Stack设备,所谓Stack设备就是将两个功能完全相同的设备虚拟化成一台设备,统一管理。这是目前数据中心网络里主流的技术实现方式,是网络虚拟化的重要组成功能。有了虚拟化,就可以对其中任意一台进行升级,只要升级前将业务切换到其它设备上,就可以升级。在软件上还是要保证新老版本的兼容,这个升级过程中,业务继续正常转发。
有了这些不间断升级技术,才使得数据中心网络可以长期不中断业务运行,即使发现了问题也可以及时通过不间断技术进行软件升级。大部分的数据中心并不具备大型网络设备之间或者是数据中心之间的业务备份,因为这样的备份要花费大量的资金和人力来维护,这样不间断升级技术得到了数据中心客户的广泛拥护。