本文将分享物理机管理使用场景和实践,分别是物理机相关背景、平台物理机管理架构的介绍,并结合实际场景,进行装机实践,演示物理机功能。
背景介绍
可以把物理机想象成机房的服务器,物理机都有较好的硬件配置,例如内存会达到上百G,还会使用英特尔至强系列等性能较好的CPU, 另外在磁盘方面,物理机上都有单独的RAID控制器。
RAID控制器上可以挂多块HDD机械硬盘或者SSD固态硬盘。
服务器上一般会有多块万兆网卡,可以把它们组成逻辑Bonding,能够实现网络的高可用。
比较关键的一点是,我们对物理机的要求是物理机要具备带外控制系统。
带外控制系统一般是指服务器主板上会有单独的BMC控制器,BMC控制器上可以支持IPMI和Redfish API等远程控制协议。
这种协议的好处是如果物理机上装的操作系统崩溃,但是仍然可以通过BMC控制器远程控制机器的开关机。
通过BMC 可以远程控制物理机的引导,例如从磁盘启动或网络启动,也可以远程控制开关机,甚至可以远程挂载ISO并进行装机。
所以说BMC对于物理机而言是非常重要的带外控制系统。
传统方式下物理机管理的痛点
当物理机的规模变大时,就会存在交付效率变低的问题,企业采购物理机数量较多,若有几十台物理机,需要将其放到机房中,把机器上架,同时记录每台物理机的硬件信息。并且人工安装操作系统,在操作系统上部署业务并交付。
这些重复操作如果手工去做,不仅时间会线性增长,而且其过程十分枯燥,效率低下,这个过程是可以自动化的。
另外,给物理机安装操作系统时,配置也比较繁琐, 一般来说,物理机需要去管理网络分配,在安装操作系统之前还要给磁盘做RAID分区,相对而言比较复杂。
每个物理机都有不同型号,例如戴尔和惠普的服务器的控制器都不同,这也需要大家区别对待,如果进行人工操作做完并交付给业务部门,当业务部门不再使用物理机,还要进行回收,又要涉及到物理机上的系统消除,后期又要重装系统再行交付,这些机械化劳动会导致企业效率低下。
云平台提供的管理功能
云联壹云平台可以提供多种物理机管理功能,首先,平台可以自动记录物理机的硬件信息,物理机注册到平台之后,平台会自动探测物理机的内存、cpu型号、硬盘、网卡等信息。
另外,平台能够自动给物理机安装操作系统。其中包括配置网络,分配IP,给网卡配置Bonding。
关于磁盘配置这一项,平台支持很多 RAID配置。例如RAID01、RAID5、RAID10等。另外适配的RAID控制器也相对较多,常规服务器的RAID卡都会支持,还涉及到磁盘的分区,另外就是安装操作系统。
平台支持物理机的生命周期管理,如远程进行开关机等操作,同时调整配置的操作,如添加内存也可以通过平台进行同步。
云平台物理机管理优势
首先,平台提供装机功能,装机可以自动化完成,规模较大时能够提升效率,同时缩短交付时间。
并且一个平台管理大规模的物理机也比较方便。
以交付100台物理机为例,如果使用传统方式,人工操作或者自动化程度较低,使用kickstart无人值守装机,所需时间也要一天以上。交付时间需要以天为单位进行计算, 而平台可以并行装机,只需30分钟即可完成,交付时间大大缩短。
在配置硬件方面,传统方式需要手动配置RAID、分区、网卡bonding,操作复杂。平台可以提供API自动化配置。
物理机大规模过后,需要对机器的机房、机架位置、硬件配置等硬件信息进行维护,传统记录方式是使用excel或第三方系统。用户将相关信息注册存储到平台后,我们提供方便灵活的API查询这些信息。
物理机管理架构
- 服务架构
Region API控制器提供API,前端命令行里面发到装机、查询物理机操作的一些记录会先走API控制器,Region API和后端Baremetal Agent服务直接通信,Baremetal Agent服务直接管理物理机,和物理机通信。
其管理物理机的方式是远程控制,远程控制会使用SSH协议,带外控制(IPMI/Redfish)等协议进行控制。
云联壹云平台提供物理机装机的功能,装机的镜像是从Glance的服务中下载的,这个镜像是物理机和虚拟机共用,该镜像可以给虚拟机用或物理机使用,比较统一,不需要单独给物理机做额外镜像。
物理机网络结构
Baremetal Agent后端服务管理物理机的管理协议是SSH或IPMI/Redfish。
实际环境中,物理机上有多张网卡,每张网卡的用途都不相同,例如银行客户的物理机上会把网卡分成三个功能使用,会单独用一张网卡作为业务口,业务口直接连接业务网,其上的应用流量通过业务口出去。
业务网不需要和Baremetal Agent通信,但需要物理机的管理口和带外管理口与Baremetal Agent通信。
顾名思义,管理口是管理用的用途,例如要SSH上物理机,就是管理口,带外管理是单独BMC控制器自己所具备的带外管理口。会走IPMI/Redfish带外管理的流量。这是比较全面的物理机网络规划。实际上,在相对简单不做区分的情况下,走一个网卡出去也可以。
网络环境管理拓扑
物理机会分管理口(ethx)网卡的网口,以及带外管理口(IPMI),物理机会连接到交换机上,物理机子网中,我们给管理口的子网是192.168.2.0/24的网段。
带外管理口是192.168.20.0/24的网段,是不同子网,接到交换机上,交换机再接路由器。
路由器会和Baremetal Agent服务做通信,路由器这边也是另外一个子网,例如Baremetal Agent是192.168.1.10,它在192.168.1.0/24的这个网段中。
它们要如何通信呢?这就需要在物理机上把路由器配好。
Baremetal Agent可以管理物理机的IP分配。管理IP分配通过DHCP协议,DHCP协议无法跨三层网络进行通信,所以需要在路由器上配dhcp_relay,要把管理口的子网和带外管理口的子网都relay到Baremetal Agent监听的IP上,Baremetal Agent中内置了DHCP和TFTP的服务,能够帮助物理机分配IP。
注册场景介绍
平台管理物理机的第一步就是把物理机的信息收集到平台,这个步骤称为注册。
注册方式分为三种,第一种是ISO引导注册,若物理机中已经配好IPMI带外信息、IPMI的IP、用户名、密码等。但是网络环境中没有配DHCP Relay,想要静态分配IP。平台也支持不走DHCP协议,网络分配方式就是静态的 ,我们要做启动引导,进入引导系统将物理机硬件信息采集到平台。
进入平台的小系统,如果是ISO引导注册,就会下发一个ISO到物理机。
ISO必须依赖Redfish API,传统的IPMI协议,不支持挂载ISO,Redfish API在较新的服务器上带外都支持,而较旧的服务器可能不支持Redfish API。
如果不能使用ISO引导注册,则只能用以下两种注册方式,第二种注册方式是PXE引导注册,前提是物理机已经配好IPMI信息。
该引导方式是通过PXE,PXE协议依赖DHCP协议,所以需要在网络环境中将DHCP Relay配好,它的网络分配方式是用Baremetal Agent去DHCP动态给机器去分配IP,不依赖Redfish ,使用IPMI的信息即可。
第三种方式是预注册,预注册这种场景是若物理机刚出厂,不配IPMI信息,直接进行PXE引导。
PXE引导会发DHCP广播,只要交换机或路由器上配好DHCP Relay,并且 Relay到Baremetal Agent服务,平台即可感知到并发送来自DHCP Relay的PXE请求,然后就会进行响应。之后动态分配IP,这就是预注册,预注册需要提前将物理机网卡的MAC地址填上。
1、ISO引导注册需要填写的参数
首先需要将物理机名称,IPMI的连接信息记录到平台。
另外就是填写管理口IP,因为ISO引导注册不依赖DHCP动态分配IP, 所以需要手动写一个静态IP,当物理机配置网络时会使用静态IP设置。
2、PXE引导注册
PXE引导注册必须填写名称和IPMI信息。但是管理口IP可以选填,若固定,平台就会以固定的进行分配,若不填写,就会走DHCP,Relay后动态分配IP。
3、预注册
必须要填MAC地址、名称,IPMI的信息在填上之后,平台就会根据填写的IPMI信息设置机器上的BMC。
如果不填写,系统会用默认的连接信息进行设置,这就是预注册。
如果采购机器之后不想人工配置IPMI信息,可以直接使用预注册。
只需要将网络环境中的DHCP Relay配好,剩余工作可以直接交给平台完成。
如果有一批机器已经配置好, 则需要使用前两种引导注册。
4、自动注册
另外一种比较强大的功能是自动注册,预注册需要填写MAC地址,如果开启自动注册,则MAC地址不用填写。
只要打开过自动注册的功能,物理机开始发PXE请求,平台就会接受所有来自DHCP Relay的PXE的请求。
平台会自动将其变成平台的物理机,自动做PXE引导,采集物理机的硬件信息。
这种场景适用于自动化、大规模的场景,比前面几种方式减少人为干预的动作,但是对网络要求较高,需要提前将子网的Relay设置好。
而且子网中不能有自己的DHCP服务,依赖平台做DHCP分配。开启方法需要后端用命令行做配置,然后将auto_register_baremetal:ture选项打开。
注册完成的物理机
注册完成的物理机会在平台的物理机列表中展示:
注册完成过后,可以将管理口和带外口的IP分配进来,包括物理机的规格、品牌、管理口网卡的MAC等。
打开机器详情,还能看到更加详细的CPU型号、内存、磁盘大小、每块磁盘RAID驱动、型号、插槽序号、硬盘类型、网卡信息、品牌信息等。
装机实践
下面通过预注册的方式对装机过程进行演示。
首先在云平台中添加物理机信息,选择预注册,填写管理口的MAC地址,并填写名称。
点击确定按钮提交过后就会在物理机列表中出现记录,状态为初始化状态。
此时还在等待物理机注册进来,所以需要到物理机上设置做PXE启动,可以使用IPMITOOL的命令行工具远程设置物理机做PXE启动。
若已经配好IPMI,可以打开服务器的虚拟终端, 设置下一次引导为PXE,再使机器启动。
在网络已经配置好的前提下,当物理机启动时,DHCP的PXE请求会被Baremetal Agent搜到。
Baremetal Agent会响应PXE请求,并给物理机下发PXE引导系统。
此图即为物理机从Baremetal Agent下载PXE引导固件的截图。
只要下载好此固件 ,即使物理机磁盘中没有装系统,也可以直接从引导系统启动,此系统直接在内存当中运行。
物理机PXE进入引导系统
物理机的PXE固件下载成功过后,就会进入引导系统,可以看到登录界面。
进入到引导系统过后,平台上物理机的状态即可变更为准备中,会帮物理机做IP配置,采集硬件信息。
当状态变更为准备中时,便会设置好IP信息。
注册完成后,物理机状态会变更为运行中,同时会把规格、品牌、序列号等信息进行采集并记录。
至此,物理机便已经加入云平台的物理机管理资源池中,可以对其进行装机等其他自动化操作。
安装操作系统
点击界面中安装操作系统的按钮,即可进入物理机装机界面,首先需要选择物理机使用的镜像,第二步需要给物理机做RAID配置。
之前已经通过注册的方式将所有磁盘信息和RAID卡信息收集完成, 所以这里有配置RAID的界面。
新建分区
需要明确给RAID做的逻辑盘中做哪些分区,一块盘中可以做n个分区,每个分区都有不同的挂载点,文件系统和大小。
分区结果
以下为分区和RAID做完之后的总览:
配置网络
从云平台中选择物理机所在的网络。其中一个功能可以启用Bonding,当物理机中有两块以上网卡,如果都插到网线,同时又在同一个交换机下或者物理上面与网络相通,可以根据自己的选择做Bongding。
开始装机
1、裸金属记录
平台会用称为裸金属的资源做记录,裸金属的状态会变更为部署中 。
当装机完成过后即可看到裸金属的状态变成运行中 ,此时物理机装机过程已经完成,可以登录后进行业务部署等操作。
2、获取登陆信息
登录过后可以拿到IP 以及远程登录的用户名和密码。之后即可到命令行中登录物理机。
3、SSH登陆裸金属
以上即是装机过程展示。