HP-UX虚拟化技术漫谈之一
服务器虚拟化之分区技术
惠普是最早将服务器虚拟化技术引入Unix服务器的厂商,早在2001年惠普发布N系列和L系列服务器时,vPar分区便成为一项重要的虚拟化技术,而最初的HP9000 SuperDome发布时则将nPar物理分区和vPar分区作为主要的服务器整合技术。经过10多年的发展,HP-UX平台上的虚拟化技术已经发展成为功能全面,集虚拟化、统一管理、动态资源管理和云服务为一体的集成操作环境。下面分为几部分进行简单介绍。
HP-UX支持的分区技术可谓十分齐全,以服务器单机内支持的分区技术,如下图所示,就有:
物理分区nPar,虚拟(硬件)分区vPar,虚拟机VM,资源分区Container,这几类不同的分区技术在安全隔离性、处理容量、资源动态调配、可用性等方面有其各自突出的优点,可以满足各种不同规模的应用负载、极其相应的可靠性、安全隔离等需要。以下分别从概念上做一些解释。
一、物理分区nPar
nPar是一种专属于中高端Integrity系列和HP9000系列服务器的分区技术,已经有10多年的应用历史。其特点是分区以处理器单元板为资源单位,以HP SuperDome 服务器为例(下图),其最多可配置16块处理器单元板,其中每块单元板包含4个双核安腾处理器和一定容量的内存。
因此一个nPar需包含最少一块这样的处理器单元板,最多可以包含全部16块单元板。以下图为例,16块单元被配置成4个nPar分区,每个分区可以独立运行各自的操作系统,因此可以在一台大型服务器上混合运行多个不同类型或版本的操作系统。
nPar的技术特点
nPar的主要特点是具备最强的故障隔离能力,分区之间具备硬件电气隔离,因此一个分区无论出现何种故障,均不会影响其他分区中正在运行的应用,对故障分区进行硬件维修、软件升级等工作均不会打扰其他正常分区的运行,稳定性极强。
另外,nPar的所有CPU、内存、I/O资源均为物理资源,通过服务器固件进行配置,运行中没有任何系统开销,扩展能力大,可保持最高性能。
基于以上特点,nPar往往被企业用于运行重要的核心应用,如核心数据库和应用服务。
二、虚拟分区vPar
虚拟分区vPar又称为逻辑分区,其结构特点如下图所示。vPar可以构建在物理服务器或物理分区nPar上,在物理服务器或nPar上有一个硬件影射层称为vPar Monitor,vPar Monitor可以创建和承载多个vPar,负责将底层的CPU、内存、I/O设备等影射到各个vPar上,每个vPar只能访问其对应的物理资源。
vPar的技术特点
每个vPar拥有的CPU、内存、I/O资源均为独占的物理资源,因此其实质仍然是硬件分区,因此性能与物理分区相当,虚拟化的性能消耗基本可以忽略。vPar的扩展性可以从一个CPU内核(core),到整个服务器或nPar。
vPar能够提供OS和应用软件和部分硬件的故障隔离,也具备很高的稳定性,在实践中常常作为主要的企业级应用部署平台,并且由于vPar具备在运行中动态调度处理器和内存资源的能力,对于提升资源利用率也带来很大的好处。
什么是vPar 6.x ?
在2011年9月,惠普发布了vPar 6.0,2012年3月,惠普再次发布vPar新版本vPar 6.1。vPar 6.x是最新的vPar版本。在6.0版本之前,vPar仅在单元板结构的中高端Integrity和HP9000系列上提供,而6.x版本的发布,将这个广受欢迎的分区技术扩展到了所有Integrity系列服务器平台上,可以支持从rx2800,BL860c i2/BL870c i2/BL890c i2,直到SuperDome 2的全系列Integrity服务器,大大扩展了vPar的支持平台。
其次,vPar 6.x在原来vPar支持独占物理I/O设备的基础上,增加了共享虚拟I/O设备的能力,因此vPar 6.x所建立的vPar间可以共享一个物理I/O设备比如网卡,光纤卡,大大提高了灵活性。vPar 6.x可以与HP VM (虚拟机)共享同一I/O资源池,并且同一vPar内可以同时使用物理I/O和虚拟I/O设备。
三、虚拟机HP VM
HP VM是一种灵活的共享资源的分区技术,如下图所示,在物理服务器或者物理分区nPar上运行一个称为HP Integrity VM Host的虚拟机服务器,也就是通常所说的Hypervisor,然后在VM Host上可以定义多个不同规格的虚拟机VM。每个VM可以被配置一定数量的虚拟处理器vCPU、内存和虚拟I/O设备,其中vCPU被指定为物理CPU的一定比例,最小为一个物理CPU核的5%。
HP VM的技术特点
由于HP VM里的主要资源是虚拟和共享的,因此可以最大程度地利用服务器物理资源,例如在某个VM空闲时,分配给该VM的CPU资源片可以被其他繁忙的VM所使用。VM实际使用到的CPU资源可以超过其名义的分配比例。VM很容易实现资源动态调度,并且可以通过在线迁移,将整个VM及其包含的应用迁移到其他服务器上,实现高度灵活的部署。
另外当HP VM和HP Serviceguard高可用性方案结合使用时,VM本身也可作为一个应用包实现故障切换,从故障机迁移到备用机上,实现自动故障恢复。
众所周知虚拟机技术会带来一定的硬件开销,尤其在网络数据传送中虚拟I/O的性能往往比起物理设备I/O有差距,因此HP VM也提供了采用物理I/O设备的方式,成为Direct I/O。Direct I/O顾名思义就是VM在传送I/O数据时不通过虚拟设备所需要的各层次转换,而直接映射到物理设备上,从而大大简化I/O过程,显著提升I/O性能。目前HP VM可支持16个vCPU和128GB内存。
HP VM可以提供OS和应用软件一级的隔离性,每个VM可以安装和运行独立的操作系统,因此同一个HP VM Host下可以生成多个VM来支持不同版本的Guest OS,各个Guest OS间数据、文件系统、OS映像是完全相互独立的。
在实践中,由于HP VM的管理简单、部署灵活、性能稳定,常用于应用开发、测试等环境变化频繁而负载规模中等的场合,随着VM技术的不断提升和成熟,近年来也开始用于部署稳定的生产系统和核心系统。
四、资源分区Container
资源分区是Unix上最古老的分区技术,与其它分区技术相比,nPar、vPar、VM都是在一个分区中运行一个独立OS实例,而资源分区Container则是在一个OS实例中为多个应用划分出各自的资源空间,实现应用间资源和数据的隔离。
HP-UX上多年来一直提供称为SRP(Secured Resource Partition)的资源分区,系统管理员可以通过创建多个资源分区,来分配每个资源分区中应用软件可获得的系统资源,包括CPU资源、内存、IP地址、命名空间。由于所有的资源分区都在一个OS实例中,因此系统管理是面向单一服务器,而不像其他分区技术那样每个分区都是一台独立服务器。
资源分区管理简便直观,性能良好,成熟可靠,有大量老应用在使用,对于很多新应用,资源分区也具备良好的兼容性,因此适用面较为广泛。
从2011年开始,HP-UX下的资源分区被重新命名为Container,并且按照应用需要,可以配置3种不同的Container分区。
几种不同类型的资源分区
HP-UX Container可实现三种不同的分区,见下图所示,分别是Workload Container,System Container,HP9000 Container。
(1) Workload Container:
这是最常用的资源分区,在Workload Container中,所有的资源分区共享一个统一的文件系统空间,具有相同的主机名和IPC命名,并且共享系统后台服务进程(比如inetd,nfsd)
(2)System Container:
这是一种功能强大的资源分区,可以实现相当部分在VM中可以实现的隔离性。在System Container中,有自己独立的chroot系统根文件系统,主机名、IPC命名空间、系统后台服务进程均为私有,因此System Container具备较完整的私有数据隔离性,其他的资源分区不能访问System Container中的这些应用数据和命名空间。
(3)HP9000 Container
HP9000 Container是基于上述资源分区的基础上,将HP9000主机环境重新部署到Integrity服务器上的一种分区技术。HP9000 Container使用了Aries二进制代码翻译器,将HP9000系统上PA-RISC处理器二进制代码,直接转换成安腾IA-64处理器代码并直接执行,使得HP9000的用户无需修改应用就能直接在Integrity服务器上。
在一台Integrity服务器上可以同时运行多个HP9000 Container,因此HP9000 Container是一种HP9000服务器升级换代和系统整合的简单解决方案。
总结
HP-UX具备非常完整的服务器虚拟化分区能力,具备多种不同的技术方案,从负载规模、安全隔离性、可靠性、管理性等方面适用于不同类型的应用需求。