接上一篇NSX从入门到精通(1):NSX介绍-系统工程师篇,此章节主要补充介绍下vSphere,通过上一篇大家可能发现,NSX更偏向于一个网络产品,未来如果要做复杂的环境,少不了网络工程师的参与。这里小提一下,其实现在行业的发展趋势是知识变得越来越混杂,如果做数据中心的业务,关于数据中心的四大件:计算、网络、存储、应用都需要了解,不一定精通,但四者之间如何共存如何设计,还是要清楚的。
For 网络工程师:
网络工程师,应该清楚Access口和Trunk口的区别,简单说Access口接终端、Trunk口接交换机,面对于服务器,很多人第一直觉是配成Access口,但这在虚拟化的世界里,是不推荐的配置,下面从这个角度谈谈虚拟化网络。
首先,什么是虚拟化?通常我们提到的虚拟化是指计算虚拟化,计算指的就是计算机,这个计算机可以是我们的笔记本,或者机房的X86服务器。
在虚拟化之前,一个计算机上面只能运行一个操作系统,一个操作系统上运行很多应用,这是大部分办公计算机的场景,在商业服务器场景中,这样的配置有以下一些问题:
1、大家都知道电脑软件装多了软件,电脑可能会变卡,问题就是运行的程序太多,资源争夺。
2、很多应用程序共享一个操作系统,应用之间没有任何隔离手段。举个简单的例子,你在电脑里装了网银客户端,我装了一个网络抓包工具,那这时候我可以通过我的抓包工具看到你的任何报文。
3、操作系统本身会存在漏洞,其他应用也会有漏洞,抛开应用间隔离不说,一旦操作系统中毒,所有应用不可幸免。
4、解决1、2、3很简单,每个应用用一个操作系统,每个操作系统用一个硬件。但对于企业,硬件扩容远跟不上软件的扩展要求,成本、空间上也不允许每个应用用一套独立的硬件。
5、即使解决了1、2、3、4,如果硬件坏了怎么办?硬件故障上面运行的应用必然会宕机,解决办法就是将应用直接开发成集群形式,而现实是开发集群式的应用成本会很高很高。
为了解决以上5个问题,有了计算虚拟化,简单来说就是在服务器上安装“瘦操作系统”,此操作系统只用于资源的调度分配,这个操作系统有自己的管理界面,在这个界面里,你可以创建虚拟机(虚拟机和物理机可以做对应,物理机是真实能看到的计算机,虚拟机则是被模拟出来的,真实看不到的计算机),给这个虚拟机安装操作系统,然后再操作系统里装软件。
有了计算虚拟化:
1、提升CPU、内存的利用率,降低硬件投资。如果硬件上直接装操作系统再装应用,拿Web服务器为例,很可能CPU、内存占用不超过10%,90%的资源处于空闲;在虚拟化之后,每个硬件上可以运行8个操作系统,CPU、内存占用达到80%,只有20%资源剩余。
2、硬件利用率高了,空间占用就小了,对机房制冷、耗电也会减小,降低运营成本。
3、做到虚拟机和虚拟机之间的隔离。在传统的计算虚拟化之上,可以做到虚拟机存储、CPU和内存的隔离,网络还是个空缺。
4、按照业务重要性分配不同的优先级,保证重要业务稳定运行。
5、动态按需分配资源。比如一个业务刚上线需要的资源很小,但一段时间后用户剧增,处理性能跟不上,那直接通过虚拟化增加内存和CPU即可。
6、在硬件和虚拟机之间多了一层后,虚拟机的操作系统可以无需关心底层硬件的兼容性(比如 Windows XP 很难在新电脑上装成功,但有了虚拟化随便装),因为虚拟化有一个很重要的作用就是将硬件做了硬件标准化。
7、因为上述的标准化,虚拟机理论上就可以在任意硬件上运行,虚拟化还提供一个叫迁移的功能,可以在线将一台虚拟机从主机A迁移到主机B,业务不会中断(VMware 称之为 vMotion)。
8、虚拟化之后,多台硬件设备可以组成一个集群,有了集群,虚拟机可以动态在多个主机之间迁移,保证集群中硬件的使用率相对均衡(VMware 称之为 DRS)。
9、有了集群,虚拟机能够在其所属主机故障后,在集群其他主机上自动开机,此时业务有中断,但是中断时间在分钟级别(VMware 称之为 HA)。
10、统一管理,一个管理界面,可以管理成百上千个业务。
11、如果架构合理,除非硬件坏了需要更换,否则不用进机房,在电脑前就能完成任何故障处理。
一开始提到传统架构的5个问题,然而虚拟化带来了十几项易用的功能,这就是虚拟化可以风云十几年的原因,因为很好用!
细心的你可能注意到了第三项,网络的隔离是个空缺。
通常,交换机和物理服务器对接,端口只需要两个配置:
1、设为Access口,将其放在某 VLAN
2、如果一个网口带宽不够,或者为了保证冗余,两个接口做一个端口聚合
在虚拟化中,这样配是不行的,因为一台主机上可能会同时存在VLAN 10、11、12的虚拟机,物理交换机对应接口只能配置为Trunk,放行VLAN10、11、12(为了简便以及未来扩展,最好不要在Trunk去限制VLAN):
在这样的结构里,虚拟机发的包必须有VLAN标签才能正常让交换机转发,这个VLAN标签就由虚拟化里的虚拟交换机来打了。
普通交换机有接终端的接口(一般叫Edge边缘接口),有接其他交换机的(一般叫互联口)。
类似的,虚拟交换机有接虚拟机的接口(Internel,接虚拟机的虚拟网卡),有接物理交换机的接口(Uplink,关联到物理服务器的物理网卡,再连接到物理交换机)。配置VLAN方式略有不同,交换机配置VLAN是直接在接口上敲VLAN xxx;虚拟交换机是先创建一个端口组,给这个端口组关联VLAN,然后再将虚拟机关联给这个端口组。
这里着重提一下,虚拟交换机是不能和其他虚拟交换机直连的,或者理解为虚拟交换机就是虚拟机到物理交换机的一个桥,只做通道用。不能相互连,也就意味着没有传统交换里的二层环路,也就不需要生成树协议。
如上图所示,服务器有两个网卡,没做任何特殊的配置,多个虚拟机的流量自动从两个网卡传输,简言之,虚拟化里,没有端口聚合也可以实现负载均衡(暂且记住这点,不要每个和服务器对接的环境都去做端口聚合,未来会展开讲这部分设计)。
说了这么多,其实想表达,在虚拟化这么长时间里,计算虚拟化能有那么多的特性和优点,而网络层面却只做了个“桥”,严重依赖于物理网络设备提供的特性,没有安全功能。NSX的推出,彻底改变了这一点,原来的网络是一个桥,NSX之后的网络融合了安全、虚拟二层、三层网络,兼容现有网络,支持各种标准网络协议。
以前虚拟机需要网络功能,在硬件交换机、路由器、防火墙、负载均衡、IPS、WAF 挨个去配置,去串接,架构无比复杂,有时候还达不到想要的效果(颗粒度不够细)。
NSX之后,自身提供基础功能(路由交换安全),提供接口引入高级服务(NGFW、IPS、防病毒),重点是,以上产品可以无缝集成起来,实现网络和安全的联动。
那既然网络都虚拟化了,还要硬件网络做什么?
1、NSX 仅用于数据中心,传统园区网络的一大部分是不去管的。
2、NSX 需要硬件交换机来做传输通道,只是将其功能弱化,而不是替代。
对于技术人员来说:NSX 也需要网络架构师来设计网络呀,发挥才能的时候到了。
正如计算虚拟化对硬件服务器的改造一样,NSX是对数据中心网络的改造。计算虚拟化解决了5个问题,还增加了几十上百个优化,NSX在这基础上,又带来超级多的便利。
领取专属 10元无门槛券
私享最新 技术干货