返回
详解ZStack高级功能--裸金属服务部署实践
2019-02-21 19:18

1、前言

今天我们来了解一下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、单租户、专用硬件、安全性、可靠性以及其它需求。


2、ZStack裸金属服务概述

ZStack作为一套产品化创新开源云计算IaaS平台,它可以为企业用户提供私有云和混合云服务,当我们在ZStack中部署裸机,用到的就是ZStack的高级功能-裸金属服务,即直接控制物理机进行硬件部署操作,我们一般熟知的虚拟机(宿主型)是通过Hypervisor来部署的。如下图,Hypervisor是一种运行在物理服务器和操作系统之间的中间软件层,可允许多个操作系统和应用共享一套基础物理硬件,因此也可以看作是虚拟环境中的"元"操作系统,它可以协调访问服务器上的所有物理设备和虚拟机,也叫虚拟机监视器VMM(Virtual Machine Monitor)。当服务器启动并执行Hypervisor时,它会给每一台虚拟机分配适量的内存、CPU、网络和磁盘,并加载所有虚拟机的客户操作系统。

相比之下,裸金属服务就是传统形式,直接将OS部署在Hardware上,没有VMM这一层的损耗,性能更加优秀。

裸金属服务的优势不言而喻,现在的各大公有云厂商也纷纷推出了自己的裸金属服务,作为私有云的ZStack也不甘示弱。现在我们暂时不考虑之后裸金属部署后的性能优势,单从部署方面来说,如何像部署虚拟机一样去部署物理机呢?

ZStack可为应用提供专属的物理服务器,保障核心应用的高性能和稳定性。它可以直接对物理机执行节点级别管理,进行物理机节点的添加、删除,进行电源管理,部署系统等操作。在完成基本的服务器上架以及相关准备工作后,(注意这里的相关准备工作,是我们是否能顺利控制裸金属设备的关键前提,后面会详细介绍),管理员可在UI界面批量部署裸金属设备,部署完成后可使用裸金属设备创建裸金属主机,支持自定义安装操作系统,并对裸金属主机进行全生命周期管理。

简单来说,我们在这里可以认为裸金属服务,就是为服务器裸机安装相应的操作系统,并且获取其配置信息,最后实现对裸金属主机的生命周期控制,比如:开关机重启等操作。而且对于整个操作过程而言,前提只需要服务器主机有网络并且通电就可以。


3、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环境中可以使用裸金属服务。

2. 在镜像仓库中准备若干ISO镜像,用于裸金属主机的系统安装。(此处的镜像服务器单独部署,镜像BIOS模式为legacy)


3.  进入裸金属设备BIOS启用PXE(可以自己进入裸金属设备BIOS开启)

提前进入每台裸金属设备的BIOS,确认其连接部署网络的网卡开启PXE功能。对于部分机型,还需确保该PXE网卡为首张启动网卡,或确保(启动顺位)在PXE网卡之前的所有网卡均关闭PXE功能,同时需确保裸金属设备的启动模式为Legacy。

4. 规划部署网络

要求PXE服务器的DHCP监听网卡是一个独立的、有IP地址的网卡,对外提供稳定的DHCP服务。

5. 配置裸金属设备IPMI并规划IPMI网络

提前规划IPMI网络,确保管理节点与裸金属设备的BMC接口通过IPMI网络连通。

这样通过IPMI网络,admin就可在UI界面完成所有裸金属设备的批量部署;并且管理节点可远程控制裸金属设备的开关机、网络启动、磁盘启动等行为。

6. 其它网络(可选)

如果裸金属主机需要与云虚拟主机进行交互的话。可以在一个扁平网络下,设置二类主机互通。

准备工作完成后,admin可登录管理节点界面(ZStack的dashboard界面),进行接下来的操作。

4.2 创建裸金属集群,为裸金属设备提供单独的集群管理(和云主机区分开来)。

裸金属集群可以为裸金属设备提供单独的集群管理。注意:一个裸金属集群只允许挂载一个部署服务器。

创建界面如下图,创建完成后,默认启动。

创建完成如下图:


4.3  创建部署服务器,为裸金属设备提供PXE服务和控制台代理服务。

本次与管理节点合并,但独立部署PXE服务器,可以满足多管理节点物理机高可用场景需求,且避免单点故障,大幅提升部署效率。然后将部署服务器挂载到裸金属集群中。

如下图所示:DHCP服务(为裸金属设备由PXE网卡启动并分配动态IP),TFTP服务(裸金属设备从PXE服务器中下载相关软件包,用于裸金属主机的操作系统安装)。

创建完成后如下图所示:

同时,点击部署服务器可看到属性信息:


4.4 添加裸金属设备

裸金属设备:就是待安装操作系统的裸金属服务器,通过BMC接口以及IPMI配置进行唯一识别。

需要填写IPMI网络,这样管理节点可远程控制裸金属设备的开关机、网络启动、磁盘启动等行为。创建如下图:

创建完成后,如下图所示,可以看到已经获取到了硬件信息。

此时这里可以打开控制台,直接跳转至该裸金属设备的IPMI管理界面(登录界面),输入之前已配置好的IPMI用户名和IPMI密码,即可从ZStack界面跳转登录。

4.5 创建裸金属主机,进行自定义安装操作系统。

裸金属主机:即已安装操作系统的裸金属服务器,裸金属设备部署完成后可用于创建裸金属主机。创建界面如下,需要注意的是裸金属主机创建完成后会自动重启,然后根据所选镜像开始安装操作系统;

创建过程中,裸金属主机的状态会暂时显示为部署中。

这时我们需要打开控制台,进入系统安装界面,手动进行相关配置。如下图:

部署完成后,裸金属主机自动重启,就绪状态显示为已部署。

需要注意的是,自动重启时,主机已经安装好操作系统,此时的启动应该从硬盘启动,而不是之前的网卡启动,可以登录裸金属设备的控制台,设置第一个引导设备为磁盘驱动器,确保主机从正确的地方启动,否则有可能导致主机无限重启。

重启完成后,如下图所示,主机处于正常运行状态。

在部署服务器上,可以看到镜像的缓存位置以及此过程中DHCP服务与TFTP服务。这里的部署服务器就相当于一个PxeServer。裸金属主机会发送DHCP广播请求,然后DHCP服务器向主机提供可用的IP地址并告知主机TFTP服务器的地址,之后TFTP向客户机提供内核,驱动及引导文件,最后通过TFTP获得安装文件,而安装时的参数由cfg文件来提供。

安装完成时,登录裸金属主机,可以看到cfg配置参数文件:


4.6  对裸金属主机进行全生命周期管理。




5、总结

由上分析,ZStack裸金属管理服务具有以下功能优势:首先可以为应用提供专属的物理服务器,保障核心应用的高性能和稳定性;其次在操作过程中的各个服务可以进行独立部署,比如:PXE服务器,可满足多管理节点物理机高可用场景需求,彻底避免DHCP冲突,由于每个裸金属集群均可挂载独立的PXE服务器,避免单点故障,大幅提升部署效率,以及镜像仓库的独立部署。同时管理员可在UI界面上批量添加裸金属设备,包括:手动添加和模板文件导入两种方式,支持批量添加IPMI地址,高效部署裸金属集群,提升运维效率,而且支持自定义安装操作系统;最后裸金属主机并不是独立的,它还支持扁平网络场景,同一个二层网络上的裸金属主机和云主机之间可互相访问,不需要通过网关进行路由,可以与企业自身业务紧密联合,发挥裸金属主机的优势。

借用ZStack官网上看到的一句话来说一下私有云裸金属的未来:随着虚拟机技术的日趋成熟,虚拟机所带来的性能损耗会越来越少,一些基于性能考虑而选择裸金属的需要未来可能会越来越少。但在一些特殊场合,针对一些特殊设备如龙芯或其他不能虚拟化的设备中,云平台以裸金属形式纳管这些设备一定时间内还会长期存在。针对这种形式的裸金属设备,提供通用的管控接口,智能调度和状态监控也许是未来私有云裸金属管理方面发展的重点。

升级提醒

若您选择升级至4.0.0及之后版本,请注意以下功能调整:

1. 云路由器全面升级为VPC路由器,云路由网络全面升级为VPC网络,不再单独设云路由器页面。升级全程无感知,相关业务不受任何影响。

2. 企业管理账号体系取代用户组与用户,不再单独设用户/用户组页面,不可再使用用户/用户组账号登录云平台。升级前,请先将“用户组与用户”纳管的账号数据妥善迁移至“企业管理”纳管,再执行升级操作。注意:对于admin创建并具备admin权限的用户账号同步取消,如有需要,可使用企业管理账号体系中的平台管理员实现相同功能。

3. 调整AD/LDAP与账户的对接管理方式,统一由企业管理纳管,不再单独设AD/LDAP页面。升级前,请先将“账户”对接纳管的AD/LDAP账号数据妥善迁移至“企业管理”纳管,再执行升级操作。

如对上述升级提醒有任何疑问或需要升级帮助,请联系ZStack官方技术支持

我已阅读并知晓上述升级提醒。
下载ZStack企业版

您已填写过基本信息?点击这里

姓名应该不少于两个字符
手机号格式错误
验证码填写错误 获取短信验证码 60 秒后可重发
公司名称不应该少于4个字符
邮箱格式错误

下载链接将会通过邮件形式发送至您的邮箱,请谨慎填写。

下载ZStack企业版

还未填写过基本信息?点击这里

邮箱或手机号码格式错误
验证手机号
手机号格式错误
验证码填写错误 获取短信验证码 60 秒后可重发
登录观看培训视频
仅对注册用户开放,请 登录 或 填写资料 观看培训视频
填写资料

商务咨询:

400-962-2212 转 1

售后咨询:

400-962-2212 转 2

商务联系:

sales@zstack.io
ZStack认证培训咨询
姓名应该不少于两个字符
手机号格式错误
验证码填写错误 获取短信验证码 60 秒后可重发
公司名称不应该少于4个字符
邮箱格式错误

商务咨询:

400-962-2212 转 1

商务联系:

channel@zstack.io
申请ZStack多机版
姓名应该不少于两个字符
手机号格式错误
验证码填写错误 获取短信验证码 60 秒后可重发
公司名称不应该少于4个字符
邮箱格式错误

商务咨询:

400-962-2212 转 1

售后咨询:

400-962-2212 转 2

商务联系:

sales@zstack.io

下载链接已发送至您的邮箱。

如未收到,请查看您的垃圾邮件、订阅邮件、广告邮件。 当您收到电子邮件后,请点击 URL 链接,以完成下载。

下载链接已发送至您的邮箱。

如未收到,请查看您的垃圾邮件、订阅邮件、广告邮件。
或点击下方URL链接 (IE内核浏览器请右键另存为), 完成下载:

感谢您使用 ZStack 产品和服务。

成功提交申请。

我们将安排工作人员尽快与您取得联系。

感谢您使用 ZStack 产品和服务。

立即体验

联系我们

商务咨询
400-962-2212 转 1
售后咨询
400-962-2212 转 2

回到顶部

产品试用申请
请选择您要试用的产品
ZStack Cloud 企业版
ZStack Ceph企业版
ZStack Cloud 混合云版
ZStack Cube 超融合一体机
ZStack Cloud 基础版
ZStack Mini 边缘计算一体机
ZStack Cloud 标准版
ZStack CMP 多云管理平台
ZStack 信创云平台
ZStack Zaku 容器云平台
请填写您的基本信息
姓名应该不少于两个字符
手机号格式错误
验证码填写错误 获取短信验证码 60 秒后可重发
公司名称不应该少于4个字符
邮箱格式错误

商务咨询:

400-962-2212 转 1

售后咨询:

400-962-2212 转 2

商务联系:

sales@zstack.io

成功提交申请。

我们将安排工作人员尽快与您取得联系。

感谢您使用 ZStack 产品和服务。