作者:ZStack社区 秦伟
一、前言
今天我们来了解一下ZStack的裸金属,提到裸金属服务,很多人从字面上可能对其不是很了解,其实早在之前的私有云OpenStack平台,就已经推行了Ironic裸金属服务,而且在去年的最新Rocky版本中,更是对裸金属服务进行了加强。于此同时的ZStack在2.6.0版本,也推出裸金属纳管服务。那么这令人注目的裸金属服务究竟是什么呢?
首先让我们来了解一下裸金属服务的由来,近年来由于国内外云计算市场的快速发展,许多企业纷纷将自身业务迁至云端。不再将业务部署在自己自身的机房环境中,这样带来的好处就是省去了一部分的人工维护成本,转而由第三方云供应商来提供基础环境。
而且一般来说硬件资源在很多情况下是没有被充分利用的,比如我们日常在使用自己的电脑时,实质上就是在使用它的CPU、内存、以及在硬盘上运行的操作系统等。当我们查看这些资源的使用率时,通常会发现,CPU和内存大部分是闲置的。特别是CPU,其利用率通常不到10%。那么,有没有可能不让一个操作系统单独控制一台机器,而是在一台机器上安装多个操作系统,并且让它们同时地运行,把被闲置的资源利用起来呢?答案是有,相信很多人都曾经在自己的Windows电脑上安装VMware workstation,并且安装了多个虚拟机,每个虚拟机都拥有自己的操作系统,它们可以同时运行,并且不互相干扰,就实现了自己硬件电脑的虚拟化,可以把一台物理服务器虚拟化为多台虚拟服务器。所以说,这种通过管理程序(VMware workstation等)把硬件的机器、同操作系统分开的过程,就是虚拟化。当我们将业务运行在云端时,可以做到按需求选取最合适的规模,将资源的利用率使用到最大。这些资源不仅仅包括CPU、内存、操作系统,还包括网络,ip,安全组等。
但是,并不是所有业务都适合在云端虚拟机上运行的,比如一些高性能的计算任务,如果运行在虚拟机上,就达不到在物理机上的效果。于是就需要裸金属服务,简单来说,裸金属服务就是为应用提供专属的物理服务器,保障核心应用的高性能和稳定性。ZStack早在2.6.0版本,在高级功能中以单独的功能模块形式,推出了裸金属服务。支持自定义安装操作系统,并提供裸金属主机的全生命周期管理。裸金属服务在以下几个方面拥有巨大优势:
1,高性能计算;
2,无法使用虚拟化的计算任务;
3,数据库主机;
4,单租户、专用硬件、安全性、可靠性以及其它需求;
二、ZStack裸金属服务概述
ZStack作为一套产品化创新开源云计算IaaS平台,它可以为企业用户提供私有云和混合云服务,当我们在ZStack中部署裸机,用到的就是ZStack的高级功能-裸金属服务,即直接控制物理机进行硬件部署操作,我们一般熟知的虚拟机(宿主型)是通过Hypervisor来部署的。如下图,Hypervisor是一种运行在物理服务器和操作系统之间的中间软件层,可允许多个操作系统和应用共享一套基础物理硬件,因此也可以看作是虚拟环境中的"元"操作系统,它可以协调访问服务器上的所有物理设备和虚拟机,也叫虚拟机监视器VMM(Virtual
Machine Monitor)。当服务器启动并执行Hypervisor时,它会给每一台虚拟机分配适量的内存、CPU、网络和磁盘,并加载所有虚拟机的客户操作系统。
相比之下,裸金属服务就是传统形式,直接将OS部署在Hardware上,没有VMM这一层的损耗,性能更加优秀。
裸金属服务的优势不言而喻,现在的各大公有云厂商也纷纷推出了自己的裸金属服务,作为