建设软件定义的数据中心
2017-03-08
什么是软件定义数据中心
随着IT的不断发展,数据中心内的系统越来越多,从而导致需要更多的服务器、存储和网络设备。设备的不断增多,所带来的管理和运维压力和复杂度也随之增加。
后来,服务器虚拟化技术(即软件定义计算)的应用虽然减缓了随着应用系统的增加而导致服务器数量增加的问题,实现了计算资源的按需提供,并且将之前要为业务系统上线而准备服务器从最初的按天计甚至按月计(含采购流程)缩短至几分钟。
但是,仍没有解决存储和网络的按需提供。而软件定义数据中心就是综合了服务器虚拟化(软件定义计算)、存储虚拟化(软件定义存储)、网络虚拟化(软件定义网络)等技术,在数据中心将传统的计算、存储、网络等设备通过软件抽象成各种对应的资源,实现了各种资源的按需分配。例如:数据中心内网络不需要重新连线就可以被划分成不同的隔离区域、实现应用的负载均衡也不再需要变动硬件,需要VPN也不再需要购买单独的设备,唯一需要的仅是管理员点几下鼠标。
软件定义数据中心方案规划
在2015年时,除了火热的软件定义数据中心概念,还有超融合架构、云计算等热门概念,所以当时在规划2016年数据中心架构时比较彷徨,不知道数据中心该怎么去改造,才能适合单位的发展需求,同时也能便于以后的扩展。
当时单位数据中心面临的问题就是:业务系统逐年不断增多,需要不断增加计算资源和存储资源,随之也需要不断的增加网络设备,以满足新设备的互联,同时网络规模不断扩大,安全策略也越来越庞大和复杂。由于一直采用服务器虚拟化技术,虚拟机创建的便捷性,也导致虚拟机越来越多,从最初几十个到目前五六百个虚拟机,对虚拟机的管理维护难度也越来越大。
所以笔者当时在做数据中心改造方案时,一方面详细了解当时各种新兴的技术,另一方面也从所面临的主要问题着手,才逐步地形成最终而可行的改造方案,当然也走了不少弯路,下面笔者将自己的经历与大家分享下, 以供参考。
当时单位数据中心最突出的问题是存储的问题,数据中心内早已采用了服务器虚拟化技术,采用的就是常见的前端服务器加后端集中共享存储的传统部署模式。随着虚拟机数量的增加,在服务器可利用资源还剩余很多的情况下,存储首先出现了瓶颈,所导致的现象就是虚拟机响应变慢。但存储的采购、部署、以及后续资源的分配都不是那么容易。
当时融合架构的出现,给这问题的解决带来了新的思路,于是接下来对融合架构做了详细了解,才发现融和架构也不是一个标准的定义,各个厂商对其定义解读都不一样,所提供的产品解决方案也差距很大。
不过,超融合解决方案大致可以分类两类:一类是超融合设备,一类是纯软件解决方案。前一个解决方案就是在单个机箱内提供完整的虚拟机平台解决方案的设备,实质就是一个部署了多个虚拟管理程序的商用X86服务器,并利用相关软件将本地存储汇聚到一个大的共享池里,以供上层虚拟化平台使用。
当时典型的产品有Nutanix、Scale Computing等。如Nutanix,就是在一个2U的机箱里集成了4台主机,向上层虚拟化平台同时提供计算和存储资源。其优点就是上线时间短、易于管理和集成、能同时在容量和性能上进行横向扩展。但缺点就是因为是一体化架构,软件和硬件都是来自于同一厂商,受制于厂商的发展。
后一个解决方案就是纯软件解决方案,其实现也是利用软件将底层的物理资源池化为一个共享的存储设备,不过硬件只要在软件要求的兼容列表即可。
2015年笔者专门去上海考察了Nutanix,了解了其具体运行机制和细节,Nutanix能在超融合做到国际前列,确实有其超强的专有技术,当时软件销售除了绑定一款Dell的服务器,也开始有绑定的第三方服务器,后来考虑到价格及其绑定服务器销售的模式而放弃了这种方案。因为笔者所在单位是一所高校,在选择技术方案时,一般都倾向于更灵活,限制少的技术方案。
随后,笔者也考查了国内的一些解决方案,诸如H3C、华为等,不过当时两家公司在存储虚拟化上还不是很成熟,仅建议用于小规模环境,撰写该文时,不知不觉已过去两年了,不知道现在技术是否已成熟。
经过反复的调研和了解,最后存储虚拟化最终锁定了 VMware的 VSAN,因为 当时VSAN商业版已正式推出一年多,在部分行业已经大规模运用,其技术很类似于Nutanix,但是以纯软件的方式销售,可以自行选择或组装符合其兼容性列表要求的服务器。
由于单位之前服务器虚拟化一直采用VMware的vSphere,在存储虚拟化锁定VSAN后,其网络虚拟化就开始锁定为VMware的NSX。
其间也了解过微软的虚拟化解决方案,微软的方案也很好,而且如果服务器环境是纯Windows或Windows占绝大多数的情况下,购买了其底层虚拟化平台,上面虚拟化机运行的Windows系统可以不用再购买License,如果是新建数据中心或数据中心Window系统很多,可以详细了解下微软解决方案。
通过反复的考查和了解,在技术方案方向基本确定后,就开始了一系列的测试,特别是针对网络虚拟化的测试。
因为网络虚拟化在2015年落地的项目很少,唯一看到的案例都是电信行业,其具体使用如何不得而知。通过大量长时间的测试,对整体方案的确定和实施是很有帮助的。2015年下半年所做的工作主要就是测试项目实施时会用到的相关产品,除了存储虚拟化、网络虚拟化等,同时还考察了数据中心相关的其它解决方案,例如虚拟化环境下的数据容灾备份、系统的防病毒、安全、用户的自主式管理等。
软件定义数据中心的实施
经过2015年的反复考察和测试确定技术方案后,2016年上半年就开始了项目的实施。项目主要分了几个阶段:第一阶段,相关硬件设备的采购,如服务器和交换机。第二阶段,相关软件产品的采购。第三阶段,软件的部署和相关功能、性能、稳定性的测试。第四阶段,现有系统的迁移。第五阶段,容灾和安全实施。
1.相关硬件设备采购
因为单位现有服务器、存储、交换机等设备几乎都是2010年左右的,所以改造价值不高,主要利旧用于灾备环境,所以为了数据中心的建设,专门采购了一批新的服务器和交换机。
服务器均是按照VMware VSAN的硬件兼容列表进行配置的,选择的是2U的机架式X86服务器,每台服务器前端有24个2.5寸的硬盘插槽,每台服务器分别配置了3块SSD硬盘和21块SAS硬盘,SSD硬盘用于读写缓存,21块SAS用于数据存储。最终,每台服务器除了能提供计算资源,还能提供几十TB的存储空间。由于VSAN对网络要求较高,为了获得更好的性能,所以交换机均采用的是纯万兆交换设备。
2.相关软件产品采购
由于软件定义数据中心方案主要采用的是VMware的解决方案,所以支撑这个数据中心的主要几款软件分别是VMware的vSphere(服务器虚拟化)、VSAN(存储虚拟化)、NSX(网络虚拟化)。
为了辅助这些产品的运维管理,还需要vRealize Operations、vRealize Log Insight等软 件,vRealize Operations主要用于虚拟化平台使用的性能监控和分析,而vRealize Log Insight是一款强大的可视化日志系统,除了可以搜集主机、vCenter等的相关日志信息,如果采用了网络虚拟化,主要能用于查看软件防火墙策略的相关命中和详细信息。
为了解决容灾备份和虚拟机的防病毒、安全等,还采购了备份软件Veeam Backup&Replication,以 及防病毒和安全防护产品亚信的Deep Security。
Veeam备份软件是从虚拟化环境起家的,虽然公司成立时间不是很长,但由于纯粹是从虚拟化环境起家,所以其独有的许多技术和功能设计都超过了老牌备份方案,像Syamantec的NBU等。
Veeam,笔者在2013年左右就对该产品功能做过测试,当时感觉到该产品许多功能令人耳目一新,让备份和恢复及灾备演练都变得很轻松。所以此次解决方案中,果断地选择了该产品。而亚信的Deep Security前期也做了测试,主要采用其防病毒模块、IPS等。
3.软件部署和相关功能、性能、稳定性测试
当采购的硬件和软件产品到位后,就开始了整套系统的部署,由于前期规划和测试比较充分,所以整个系统部署都比较顺利。当整个系统部署完毕后,就利用相关工具做了一周左右的压力和稳定性测试。其间,个别主机也出现过问题,主要就是主机部分硬件的驱动版本和软件不兼容导致,最后升级相关硬件的驱动以及主机的BIOS,问题都得到了解决。
总之,在部署系统时,最容易出现问题的地方就是采用存储虚拟化后,对硬件的兼容性要求比较高,软件兼容这块儿容易出现问题。所以在部署的时候,要按照软件的兼容性列表来采购硬件,并且将相关硬件的驱动以及主机的BIOS升级到与软件平台相兼容的版本。
而服务器虚拟化都是很成熟的产品,不太容易出现问题,至于网络虚拟化,由于是部署在虚拟化平台之上,属于纯软件产品,和硬件不存在任何兼容性问题,如果出问题的基本都是软件的一些小bug,都可以通过升级软件版本或打补丁轻松解决。
4.现有系统的迁移
当整个新的平台部署完毕,并且经验证测试以后,就开始业务系统从旧平台向新平台的迁移,这是整个项目里最耗时间和最费精力的工作。
当时现有业务系统已超过了400多个虚拟机,且数据容量也超过了100TB,所以整个业务系统的迁移花了差不多1个月的时间。
在业务系统的迁移时,其经验就是提前最好规划,分批迁移,先迁移重要度最低的业务系统,最后再迁移最重要的业务系统,每迁移完一批业务系统,都要对迁移后的系统进行测试,保证其运行安全可靠。
由于采用网络虚拟化后,需要将服务器网段网关下移至虚拟化平台上,所以网络虚拟化的相关设置除了测试验证配置外,在业务系统迁移之前是没有按照最终需求进行配置,主要是为了减少业务系统迁移的复杂度。
当所有业务系统都迁移到新的平台后,才开始网络虚拟化的配置,将现有业务系统的网关从硬件设备上迁移至虚拟化平台上,由于网关下移,虚拟机到网关的网络会临时中断,所以网络拓扑架构的变更最好放在业务不太繁忙的时间进行。
5.容灾和安全实施
当所有业务系统迁移完毕且网络拓扑也更改完毕后,就可以推进容灾和安全配置等工作,进一步完善数据中心。前面所做的工作主要是新环境的建设及业务系统的迁移,剩下的是为了让数据中心能够更好更完善。
大家对灾备应该都很熟悉,其过程和传统的很类似,就不在这里赘述。唯一的区别就是现在是在纯虚拟化的环境之下,所采用的平台不一样,依然都是根据业务系统的重要性制定相应的数据备份计划,以及异地或不同数据中心业务平台的恢复或者双活之类,在虚拟化环境下是较容易实现的。
除了业务系统的灾备外,剩下的就是各个业务系统安全策略的设置,之前数据中心主要是通过硬件防火墙、IPS、WAF等设备在数据中心出口进行防护,采用网络虚拟化后,很多安全策略就已经下移到虚拟机层面,即可以细化到每个虚拟机。
所以当业务系统很多的时候,细化每个业务系统需要对外开放的端口也是一件非常繁琐但意义重大的工作。在安全这方面,笔者所在单位主要采用了NSX的分布式防火墙,精确控制每个虚拟机的通讯,以及通过Deep Security的防病毒和IPS等进一步防护每一个虚拟机。
软件定义数据中心效果
笔者所在单位将现有数据中心改造成软件定义的数据中心之后,主要解决了以下一些问题:
1.软件平台和硬件实现了完全解耦。
当硬件性能不足时,可以通过升级单台服务器内部组件实现性能的纵向扩展,也可以通过增加服务器的数量实现整体性能的横向扩展。数据中心整体架构扩展的灵活性决定了可以很好的满足以后各种业务需求的变更。
2.通过网络虚拟化后,对网络设备的要求将逐步降低。
例如,数据中心可以不再需要硬件的防火墙、WAF、VPN、负载等诸多硬件设备,都可以通过网络虚拟化本身的软件功能实现,而且其功能会随着软件的发展而不断地丰富和完善,不再像以前过几年就因为性能或功能的原因需要升级替换诸多网络安全设备。
在软件定义的数据中心环境下,数据中心仅仅需要的是高性能的网络交换设备,甚至纯二层交换设备都可以,很大程度上降低了网络的复杂度以及对网络设备高级功能的依赖。
3.通过网络虚拟化后,利用相关的安全产品,可以更精细化的控制各个业务系统的网络通讯,进一步提升了数据中心内部网络的安全性。
在没有实现网络虚拟化之前,可能会因为内部业务系统存在漏洞被攻破后,其它主机都被暴露在被攻破的主机前,因为传统的安全防护都在数据中心出口,数据中心内部很难实现精细化的管控。虽然之前也有厂商通过一些技术和方案解决了虚拟化环境下内部安全问题,但基本都是让所有虚拟机流量必须出去到安全设备绕一圈再回来。不论通讯的虚拟机是否在同一台主机,这样所导致的结果就是数据流量的途径并不是最优路径,而成了常说的发卡弯路径。
说了这么多好处,下面说一说目前不足的地方。其实不足的地方并不是软件定义数据中心本身的问题,而是相关的一些产品或者辅助产品仍然存在待完善的地方。
例如Deep Security的防病毒,目前要使用防病毒功能,需要在每个虚拟机安装VMware Tools,并需要选择相应的组件,另外当某个虚拟机真被感染时,有大量文件被删除或隔离时,常会超出其缓存限制,需要人为手动的干预。
Deep Security为了保证性能,对每台物理主机上运行的虚拟机数量有建议值,但该建议值有点偏小,所以不适合配置很高的服务器,单台运行上百个虚拟机的环境。
Deep Security的IPS功能目前偏弱,和硬件IPS相比还有差距。当然这些问题并不是软件定义数据中心本身的问题,软件定义数据中心将硬件和软件解耦,通过软件的发展来完善数据中心所需功能,以及其灵活的扩展方式注定会吸引越来越多的用户。
未来,数据中心管理工作将越来越自动化和简单化。