返回全部

云联壹云:效率提升—物理机管理使用场景和实践

本文将分享物理机管理使用场景和实践,分别是物理机相关背景、平台物理机管理架构的介绍,并结合实际场景,进行装机实践,演示物理机功能。

背景介绍

可以把物理机想象成机房的服务器,物理机都有较好的硬件配置,例如内存会达到上百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登陆裸金属

    以上即是装机过程展示。

    常见问题

    1、装机镜像从哪里下载?

    点击进入公网下载地址:

    链接:iso.yunion.cn/vm-images/

    点击进入镜像制作脚本:

    链接:github.com/yunionio/service-images

    2、有哪些限制?

    1)装机镜像

  • 不支持 lvm 的分区
  • 不支持 windows 系统
  • 文件系统仅限 ext4, xfs
  • 2)暂时不支持 UEFI 引导

    3、PXE 引导系统如何制作?

    使用buildroot做的精简 linux

    点击进入制作代码界面

    4、支持哪些 RAID 控制器?

    支持多种主流 RAID 控制器 (MegaRaid、HP SmartArray、 MPT2/3Sas、MarvelRaid)

    其它

    技术支持

    技术支持

    扫码加入技术支持微信群

    扫码加入技术支持微信群


    公众号

    官方公众号

    扫码关注获取最新动态