上期提到了,学习云计算从虚拟化开始,那本期开始讲述华为计算虚拟化的基础知识。
重要的事情,再说一遍,云计算不是虚拟化,虚拟化只是云计算的重要组成部分。
为什么要学虚拟化
在之前的文章中,我们有了解到VMware公司推出的VMware Workstation这个软件,它实现的是单机版虚拟化,可以用来做实验或者搭建测试环境,但是它不能用于商业用途;如果说安装VMware Workstation的这台机器本身故障了,就没法来保证业务的连续性了。 这里要强调,业务系统的设计思想,即便是业务出现中断,也要做到让用户无感知。因为不管怎么说,业务的运行始终要依靠物理机器硬件设备,但是在硬件设备使用过程中,如果使用时间过长无论如何也会出现一定的故障,它也不可能永远正常的使用不出一点问题。 再比如说,某些企业的核心关键性业务一旦业务上线,就必须要保证业务的连续性,而不能出现业务中断的问题。那怎么解决业务连续性的这个问题呢?于是就有了企业级的虚拟化。每个厂商都有自己的虚拟化解决方案,华为的虚拟化解决方法是FusionCompute,对应VMware公司的VMware vsphere虚拟化解决方案。
华为虚拟化的架构
FusionCompute是云操作系统软件,主要负责硬件资源的虚拟化,以及对虚拟资源、业务资源、用户资源的集中管理。它采用虚拟计算、虚拟存储、虚拟网络等技术,完成计算资源、存储资源、网络资源的虚拟化。同时通过统一的接口,对这些虚拟资源进行集中调度和管理,从而降低业务的运行成本,保证系统的安全性和可靠性,协助运营商和企业构筑安全、绿色、节能的云数据中心能力。
| Fusioncompute定位 |
华为虚拟化的架构是什么样的呢?
FusionCompute由CNA和VRM两部分组成,CNA(Computing Node Agent):计算节点代理;
VRM(Virtual Resource Manager):虚拟资源管理器。 它们分别是怎么使用的呢?
VRM & CNA
VRM作为Fusioncompute的管理单元,它可以单独部署在一台物理机上——是一个精简版的linux系统,它也可以部署在虚拟机里面,根据实际生产环境的规模可灵活部署在物理机上或虚拟机上;而CAN作为Fusioncompute的计算单元,一般来说是装在物理机上。 有人就问,CNA可以装在虚拟机里面吗?在实验场景下可以,在生产环境不推荐。因为虚拟机是运行在CNA里面的 ,如果在虚拟机里安装CNA,然后再部署虚拟机,这样带来的性能开销会很大,所以不推荐这样使用。而对于CNA来说,CPU和内存配置的越多越好,就可以运行更多的虚拟机;对于VRM来说,分配足够的CPU和内存保证系统稳定运行即可,这样可以节约资源。 然后,当我们安装部署完VRM后就会提供一个WEB操作界面,可以实现对Fusioncompute的管理和对接CNA来提供计算资源。 这里强调一下,VRM安装完成后提供web界面,可以通过VRM的IP地址来访问,而CNA安装完成后是没有web界面的,只提供linux命令行操作窗口。在实际的操作中,我们可以通过在VRM的web界面上通过向导的方式来安装部署需要的虚拟机,简化操作,便于管理;但其实虚拟机最终是运行在节点CNA上,而不是VRM节点上,VRM只做管理,真正提供业务功能的是CNA。
企业虚拟化解决的第一个问题
当运行关键核心业务的虚拟机出现故障了,通过企业级的虚拟化Fusioncompute的特性,可以实现业务虚拟机出现故障后,自动切换到其它正常主机开机继续提供业务,保证业务的连续性。 要实现这样的特性,也是需要前提条件的。从上面的架构图来看,为什么底层需要连接共享存储呢? 如果没有共享存储,那么虚拟机是安装在服务器的本地硬盘上,一旦服务器故障,这些虚拟机就无法工作了,因为没有共享存储,就没有共享存储的高级特性。如果我们把虚拟机安装在共享存储里,那么当一个主机出现故障后,绑定了同一共享存储的主机,都是能读到这些文件的,然后就可以在正常的主机重新开启虚拟机,来提供业务,这就是企业虚拟化解决的第一个问题。
和我们在生活中息息相关的一个例子,比如说我们打电话的时候,有时候会感觉打不出去,但是过一会儿又正常可以打出去了,这有可能就是运行这个电话业务的虚拟机出现故障,它在其它的主机上又正常启动了继续来提供服务,只是这个重新启动虚拟机继续提供业务的过程很短暂,在用户能接受的范围内,用户没有感知是业务故障了。
还有一个有意思的例子,就是银行业务,有时候我们去柜台办理业务,柜台的工作人员会说今天这个业务在维护升级中,不能提供业务了,明天再来办理。其实啊,有可能就是今天在运行这个业务的虚拟机出现故障了,提供不了业务而已,但是又不能直接和客户说业务出现问题不能使用,所以才提示业务升级维护,让客户安心。