详解ZStack高级功能--裸金属服务部署实践作者: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这一层的损耗,性能更加优秀。
裸金属服务的优势不言而喻,现在的各大公有云厂商也纷纷推出了自己的裸金属服务,作为私有云的ZStack也不甘示弱。现在我们暂时不考虑之后裸金属部署后的性能优势,单从部署方面来说,如何像部署虚拟机一样去部署物理机呢?
ZStack可为应用提供专属的物理服务器,保障核心应用的高性能和稳定性。它可以直接对物理机执行节点级别管理,进行物理机节点的添加、删除,进行电源管理,部署系统等操作。在完成基本的服务器上架以及相关准备工作后,(注意这里的相关准备工作,是我们是否能顺利控制裸金属设备的关键前提,后面会详细介绍),管理员可在UI界面批量部署裸金属设备,部署完成后可使用裸金属设备创建裸金属主机,支持自定义安装操作系统,并对裸金属主机进行全生命周期管理。
简单来说,我们在这里可以认为裸金属服务,就是为服务器裸机安装相应的操作系统,并且获取其配置信息,最后实现对裸金属主机的生命周期控制,比如:开关机重启等操作。而且对于整个操作过程而言,前提只需要服务器主机有网络并且通电就可以。
三、ZStack裸金属服务基本原理
裸金属管理服务的基本原理是:PXE服务器提供DHCP服务和TFTP服务,指示多台裸金属设备由PXE网卡启动并分配动态IP,裸金属设备从PXE服务器中下载相关软件包,用于裸金属主机的系统安装。
裸金属管理网络拓扑所示:(官方)
1.管理节点与管理网络(Management Node):需提前规划管理网络,要求镜像仓库、PXE服务器均与管理节点连通。管理节点作为安装系统的物理主机,提供ZStack的UI 管理、云平台部署功能。一般是安装ZStackiso镜像的主机,通过前端的dashboard界面,进行图形化管理。
2.镜像仓库:也位于管理网络网段之下,为裸机(可认为没有安装操作系统的新机器)提供多种操作系统镜像文件。在ZStack中,镜像支持本地与URL导入。
3.PXE(preboot execute environment,预启动执行环境),支持通过网络从远端服务器下载映像,并由此支持通过网络启动操作系统,在启动过程中,终端要求服务器分配IP地址,再用TFTP服务协议下载一个启动软件包到本机内存中执行,由这个启动软件包完成终端(客户端)基本软件设置,从而引导预先安装在服务器中的终端操作系统。PXE可以引导多种操作系统。
可以概括认为ZStack的PXE服务器包含二大功能:其一就是DHCP服务(指示多台裸金属设备由PXE网卡启动并分配动态IP),其二就是TFTP服务(裸金属设备从PXE服务器中下载相关软件包,用于裸金属主机的系统安装)。
4.部署网络,确保裸金属设备的PXE网卡与PXE服务器的DHCP监听网卡通过部署网络连通。可以说就是安装操作系统用的,它的独立性适用于生产环境(优先独立配置),也可以以管理网络作为部署网络。
5.IPMI网络,确保管理节点与裸金属设备的BMC接口通过IPMI网络连通。IPMI的核心是BMC,即基板管理控制器,其并不依赖于服务器的处理器、BIOS或操作系统来工作,是一个单独运行的无代理管理子系统,只要有BMC与IPMI固件(运行在ROM里的只读程序)其便可开始工作,BMC通常是一个安装在服务器主板上的独立板卡。在工作时,所有的IPMI功能都是向BMC发送命令来完成的。
所以需要配置裸金属设备IPMI并规划IPMI网络:
实现裸金属设备的带外控制(通过不同的物理通道传送管理控制信息和数据信息,两者完全独立,互不影响。),要求裸金属设备配备BMC接口(现在一般都有),并提前为每台裸金属设备配置好IPMI地址、端口、用户名和密码。
正因为IPMI的独立性,我们在进行裸机操作时,可以对其进行控制。当裸机安装完成,操作系统正常使
用时才进行数据信息处理。正如上面所说的,通过不同的物理通道传送管理控制信息和数据信息。如下图(来自网络):IPMI接口与服务器一般网络接口在不同位置。
规划IPMI网络后,管理节点与裸金属设备的BMC接口可以通过IPMI网络连通,
并且admin用户可在之后的UI界面完成所有裸金属设备的批量部署。
6. 其它网络。
支持扁平网络场景,同一个二层网络上的裸金属主机和云主机之间可互相访问,无需通过网关进行路由,需提前将裸金属设备所在的裸金属集挂载到相应的二层网络。
四、ZStack裸金属服务操作流程详解
此次操作流程,将管理节控制节点与PXE服务器部署在同一个节点,并且管理网络与部署网络为同一个
服务器
网络。如果有条件,建议在生产环境中依照官方拓扑图部署。
4.1 准备工作
为保证批量部署裸金属设备的顺利进行,需提前做好以下准备工作:
1. 手动安装管理节点,并安装相应许可证;即需要先安装好ZStack环境,并保证在ZStack环境中可以使用裸金属服务。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。