虚拟化带来的数据备份与管理变化
虚拟化可将应用系统集中化,以共享实体资源的服务器虚拟化技术,在平台解决方案厂商的推动下,已逐渐让企业接受并且导入。当虚拟化服务器取代了传统实体的结构之后,对整个企业IT运作环境而言,将产生什么样的改变?既有的备份策略是否适用?本专题将以VMware的技术结构为例,探讨虚拟化结构下的备份与撤消方式,并且介绍国华人寿电子商务部在虚拟化结构的管理经验。
一般x86服务器虚拟化(ServerVirtualization)模式,常见的为结构於作业系统之上的寄居式(hosted),以及直接结构於硬件之上的裸机(bare-metal)。虽然两者均可建构虚拟主机(VirtualMachine)运作环境,但能够直接对硬件资源下达指令的裸机,在执行性能、资源分配、稳定性等方面,皆优於作业系统中介的寄居式,较适合企业应用系统的执行环境。以当前提供裸机式结构的厂商来看,不论是CitrixXenServer、MicrosoftHyper-V、Sun xVM Server、VMwareESX等,主要是在硬件与作业系统之间,再加入一层虚拟层(Hypervisor),让多个作业系统同时存在於单一服务器环境,得以共同分享CPU运算、存储空间、内存等硬件资源。
虚拟化结构改革
早期将虚拟化概念带入至x8 6平台的VMware,并且从基於作业系统之上的虚拟化,发展到直接结构於硬件之上的虚拟化,VMware大中华区技术总监张振伦谈到其技术演进时表示,传统的CPU结构存在一个相当重要的限制,其设计接收作业系统直接指派裸机资源提供应用程序使用,不能受虚拟层指令的支配,而VMware之所以能够突破限制,当时全仰赖Binary Translation的技术。
传统x86结构为了保护系统避免发生Crash状况,CPU对於程序执行的权限分为Ring0、Ring 1、Ring2、Ring 3,最接近硬件的Ring0拥有最高权限,可直接与CPU、内存等硬件沟通,硬件驱动程序与作业系统核心即位於此;非作业系统核心与应用程序则是位於再往上的Ring3,权限最低也存在许多限制。由於Ring3受到作业系统保护,任何程序要跟硬件沟通需先得到Ring0允许,确保在Ring3的应用程序发生错误时,不致拖累到其它程序的执行。这也是过去虚拟化不能在x86系统上运用的主因。
图1:x86系统程序执行权限。(来源:VMware)
VMware改变的方式是於作业系统与硬件之间再加入的VMM(VirtualMachine Monitor),如图1左方,也就是Hypervisor,通过BinaryTranslation将原本不能虚拟化的指令转译为另一种编码,再交给VMM执行。当系统开机的时候,管理程序集Hypervisor会直接装入到Ring 0,监控与管理位於Ring1上的虚拟主机内的作业系统(GuestOS),让多个GuestOS可同时存在,并各自独立不会彼此干扰。
BinaryTranslation可说是VMware在CPU厂商Intel、AMD支持虚拟化之前,为了实现虚拟化而结构於硬件之上的组件,但 免不了需要耗用实体资源做运算,性能表现较难有所突破。张振伦谈到,如今的CPU结构已经加入可支持虚拟化指令,内存、I/O等各方面的虚拟,性能上更超 越以往BinaryTranslation模式,因此该组件已功成身退。
得到了硬件厂商的支持,当前各家厂商均可直接将虚拟化平台结构於硬件之上。就VMware来看,张振伦表示当前导入虚拟化系统的客户,已有上线时间 超过1,200天没停过机的案例,不再像传统结构一段时间就必须重新开机才能恢复正常作业,由此可了解现在的虚拟化平台已可达到企业要求的稳定性与可靠性。