纳管物理机

介绍如何在云联壹云平台上纳管物理服务器并创建裸金属服务器等。

云联壹云 平台支持纳管物理服务器并基于物理服务器创建裸金属服务器。

物理机纳管相关概念介绍

  • YunionOS是通过带外控制将物理机引导启动进入一个临时操作系统,这是一个通过buildroot定制的精简Linux系统,内置物理机管理需要的工具软件。Baremetal通过ssh进入这个系统,实现一些更复杂的管理操作,例如配置RAID,部署操作系统镜像等。
  • Redfish是一种基于HTTPs服务的管理标准,利用RESTful接口实现设备管理。通过Redfish API管理物理服务器。目前最新的主流服务器(如Dell iDRAC 9, HPE iLO 9等)都已支持Redfish。
  • BMC是Baseboard Management Controller的缩写,是物理服务器内一个独立嵌入系统,不依赖服务器的CPU,操作系统和BIOS,提供物理服务器的带外管理控制功能,例如获取物理服务器的参数指标,对物理服务器执行开关机等简单操作。

前提条件

服务器要求

支持纳管包括Dell、HP、华为、浪潮、联想、超微等主流x86服务器厂商和机型的物理服务器,且物理服务器带有BMC模块或支持Redfish功能等。

启用Baremetal服务

请确保环境中已启用Baremetal服务,Baremetal服务提供PXE Server、DHCP、TFTP、http等功能,用于完成纳管物理机操作并管理物理机。 云联壹云 安装完成后默认不启用Baremetal服务,需要用户按照下面命令在环境中的任意节点上启用Baremetal服务。

  1. 通过SSH等以root用户登录到First Node节点。

  2. 使用kubectl get pods -n onecloud |grep baremetal命令查看环境中是否已启用Baremetal服务。如已存在,忽略步骤3、4。

  3. 如不存在Baremetal服务,执行以下命令启用Baremetal服务。其中$node_name是节点的名称;$listen-interface是baremetal-agent监听的网卡名称。

    # 在指定节点上启用Baremetal服务并监听网卡
    $ ocadm baremetal enable --node $node_name --listen-interface $listen_interface
    
    # 禁用Baremetal服务
    $ ocadm baremetal disable --node $node_name
    
    # 如在node1主机上启用baremetal服务,并监听br0网卡。
    $ ocadm baremetal enable --node node1 --listen-interface br0
    
  4. Baremetal服务启用后,可通过以下命令查看baremetal-agent是否注册到控制节点上。

    # 查看baremetal的pods
    $ kubectl get pods -n onecloud | grep baremetal
    default-baremetal-agent-fb5d4b5f7-2ld8v          1/1     Running     0          15m
    

纳管物理机方式介绍

云联壹云 平台目前支持5种纳管物理机的方式及纳管原理介绍,请根据具体情况选择合适的方式。

方式 纳管物理机数量 已有IPMI信息 启动引导方式 DHCP Relay 网络分配方式 依赖Redfish API
ISO引导注册 小规模 ISO 静态分配
PXE引导注册 小规模 PXE DHCP分配
预注册 小规模 PXE DHCP分配
自动注册 大规模 PXE DHCP分配

ISO引导注册

该方式对网络无要求,但是要求物理机已配置了BMC信息,且服务器支持Redfish等。

  1. 在 云联壹云 平台上配置物理服务器的BMC信息以及管理口IP地址。
  2. Baremetal将会通过Redfish API验证物理服务器的BMC信息,进而获取物理服务器的配置信息,如服务器SN、厂商型号以及网卡信息等。
  3. 验证通过后,物理服务器上的Redfish API将会通过带外网加载Baremetal提供的YunionOS的ISO。
  4. 进入YunionOS系统后根据配置设置管理口的IP地址,从而使物理服务器可以通过管理网访问Baremetal,上报服务器的SSH登录信息。
  5. Baremetal通过SSH调用YunionOS中的工具,收集服务器信息,并进行管理操作等。
  6. 至此,物理服务器成功注册到 云联壹云 平台。

PXE引导注册:

该方式要求用户环境存在DHCP Relay,且要求物理机已配置BMC信息,且在引导注册过程中不会改变物理机的BMC信息。如果服务器不支持Redfish,还需要提供服务器的MAC地址。

  1. 在 云联壹云 平台上配置物理服务器的BMC信息并设置服务器PXE启动等。
  2. Baremetal通过IPMI验证物理服务器的BMC信息。
  3. 验证通过后,收集少量的服务器信息,设置物理服务器为开机启动,物理服务器通过DHCP配置管理口IP地址、
  4. 通过管理网启动引导物理服务器进入YunionOS,上报SSH登录信息。
  5. Baremetal通过SSH调用YunionOS中的工具,收集服务器信息,并进行管理操作等。
  6. 至此,物理服务器成功注册到 云联壹云 平台。

自动注册

该方式适用于大规模的服务器自动注册到云管平台,仅要求用户环境存在DHCP Relay,引导注册过程中会重置BMC信息。

  1. 新上架的物理服务器设置PXE启动上电后,物理服务器接入的三层网关上的DHCP Relay将转发物理服务器的PXE请求到Baremetal。
  2. Baremetal服务收到请求后将会响应PXE请求,引导物理服务器从网络加载YunionOS系统并重启进入YunionOS系统,上报服务器的ssh信息,
  3. Baremetal通过SSH调用YunionOS中的工具,收集服务器信息,重置服务器BMC信息(如不提供BMC信息,将按照默认的信息进行配置)。
  4. 至此,物理服务器成功注册到 云联壹云 平台。

预注册

该方式适用于小规模的服务器注册到云管平台,该方式要求用户环境存在DHCP Relay,且提供服务器的MAC地址,在引导过程中会重置BMC信息。

  1. 新上架的物理服务器设置PXE启动上电后,物理服务器接入的三层网关上的DHCP Relay将转发物理服务器的PXE请求到Baremetal。
  2. Baremetal服务收到请求后将会验证物理服务器的MAC地址是否匹配,匹配成功后将会记录物理服务器的基本信息并响应PXE请求,引导物理服务器从网络加载YunionOS系统并重启进入YunionOS系统,上报服务器的ssh信息,
  3. Baremetal通过SSH调用YunionOS中的工具,收集服务器信息,重置服务器BMC信息(如不提供BMC信息,将按照默认的信息进行配置)。
  4. 至此,物理服务器成功注册到 云联壹云 平台。

托管

该方式适用于已有操作系统的服务器,该方式对网络无要求。执行托管脚本后将使用容器技术在物理服务器中运行YunionOS收集服务器信息,而不会影响物理机的原有操作系统。

典型组网介绍

组网说明

  • IPMI网络用于远程访问BMC(Baseboard Management Controller),通过IPMI网络可以远程控制物理服务器的开关机等。
  • 管理网:执行管理物理服务器操作的网络,例如配置物理服务器,安装软件等。
  • PXE网:发送PXE请求,获取IP地址等,PXE网络一般跟管理网为一个网络。
  • 业务网:物理服务器上运行业务需要的网络。

配置DHCP Relay(选做)

ISO引导注册或托管物理机请忽略该步骤。

由于Baremetal Agent服务只会处理DHCP Relay的单播请求,所以当使用PXE引导注册、预注册、自动注册的方式纳管物理机时要求在网络环境中配置DHCP Relay,并将其Relay到部署Baremetal的节点上。

  • 当物理机与Baremetal节点在同一个二层网络时,此时用户可以选择使用Host服务的DHCP Relay功能或在物理交换机上配置DHCP Relay。
  • 当物理机与Baremetal节点在三层网络环境中,此时用户只能在物理交换机上配置DHCP Relay。

Host服务启用DHCP Relay

# 登录到任意一台已经部署好计算节点的服务器上修改 /etc/yunion/host.conf,添加dhcp_relay 配置项:
dhcp_relay:
- 10.168.222.198 # baremetal agent dhcp服务监听地址
- 67             # baremetal agent dhcp服务监听端口
# 查看host服务对应pod
$ kubectl get pods -n onecloud -o wide | grep host
default-host-p6d8h                       2/2     Running   0          78m    10.168.222.189   k8s-dev1   <none>           <none>
default-host-xdc7x                       2/2     Running   0          78m    10.168.222.150   k8s-dev2   <none>           <none>
# 删除host服务的pod,重启host服务
$ kubectl delete pods -n onecloud default-host-p6d8h default-host-xdc7x

物理交换机配置DHCP Relay

需要分别针对物理机的IPMI网段和管理网段配置DHCP Relay。

不同厂家的物理交换机配置DHCP Relay的命令不同,以下配置仅供参考,请根据实际情况进行配置。

# 配置DHCP Relay,并Relay到Baremetal所在节点的IP上。
interface Vlanif10
description new_test_host_net
ip address 10.127.100.1 255.255.255.0
dhcp select relay
dhcp relay binding server group baremetal-group
dhcp relay server group baremetal-group
server 10.127.100.2 0 

配置流程

  1. 根据组网规划创建物理服务器使用的IPMI IP子网和PXE IP子网以及裸金属设备使用的IP子网。
  2. 根据需求选择添加物理机的方式。
  3. 已纳管的物理机可以用于创建裸金属设备。

操作步骤

网络配置

无论使用何种方式纳管物理机,都需要在 云联壹云 平台上配置物理机类型、IPMI以及PXE类型的IP子网,其中PXE网段可以和物理机类型共用一个网段。请根据网络规划配置IP子网。

创建IPMI IP子网

  1. 在云管平台单击左上角导航菜单,在弹出的左侧菜单栏中单击 “网络/基础网络/IP子网” 菜单项,进入IP子网页面。

  2. 单击列表上方 “新建” 按钮,进入创建IP子网页面。

  3. 设置以下参数:

    • 子网名称:用于标识IPMI子网。
    • 平台:选择本地IDC。
    • 二层网络:请根据规划选择区域、专有网络以及可用的二层网络。后续用户申请裸金属时需要在二层网络所在的区域和可用区中选择。
    • 服务器类型:选择IPMI。
    • IP子网:设置IP子网网段、子网掩码、网关以及VLAN ID等。
  4. 单击 “确定” 按钮。

创建PXE IP子网

  1. 在云管平台单击左上角导航菜单,在弹出的左侧菜单栏中单击 “网络/基础网络/IP子网” 菜单项,进入IP子网页面。

  2. 单击列表上方 “新建” 按钮,进入创建IP子网页面。

  3. 设置以下参数:

    • 子网名称:用于标识IPMI子网。
    • 平台:选择本地IDC。
    • 二层网络:请根据规划选择区域、专有网络以及可用的二层网络。后续用户申请裸金属时需要在二层网络所在的区域和可用区中选择。
    • 服务器类型:选择PXE。
    • IP子网:设置IP子网网段、子网掩码、网关以及VLAN ID等。
  4. 单击 “确定” 按钮。

创建物理机或虚拟机IP子网

用户创建裸金属设备时会优先使用物理机IP子网,若环境中不存在可用的物理机IP子网将会使用虚拟机IP子网。

  1. 在云管平台单击左上角导航菜单,在弹出的左侧菜单栏中单击 “网络/基础网络/IP子网” 菜单项,进入IP子网页面。

  2. 单击列表上方 “新建” 按钮,进入创建IP子网页面。

  3. 设置以下参数:

    • 子网名称:用于标识IPMI子网。
    • 平台:选择本地IDC。
    • 二层网络:请根据规划选择区域、专有网络以及可用的二层网络。后续用户申请裸金属时需要在二层网络所在的区域和可用区中选择。
    • 服务器类型:选择物理机或虚拟机IP子网,新建裸金属服务器时默认优先使用物理机IP子网,当没有可用的物理机IP子网将使用虚拟机IP子网。
    • IP子网:设置IP子网网段、子网掩码、网关以及VLAN ID等。
  4. 单击 “确定” 按钮。

纳管物理机

ISO引导注册

ISO引导注册之前请管理员提前准备以下信息:

  • 物理服务器的BMC信息。
  • 物理服务器管理口IP地址、IP子网或二层网络等。
  1. 在云管平台单击左上角导航菜单,在弹出的左侧菜单栏中单击 “主机/基础资源/物理机” 菜单项,进入物理机页面。
  2. 单击 “添加” 按钮,进入添加物理机页面,选择添加方式为“ISO引导注册”。
  3. 配置以下信息:
    • 单条录入:配置以下参数。
      • 指定域:选择物理机所属的域。
      • 物理机名称:设置物理服务器的名称。
      • IPMI地址:输入服务器上已配置好的IPMI地址。
      • IPMI用户名:输入服务器上已配置好的IPMI用户名。
      • IPMI密码:输入服务器上已配置好的IPMI密码信息。若输入的BMC信息不正确则无法正确完成引导注册。
      • 管理口IP:选择IP子网,如需指定静态IP,可单击 “手动配置IP” 按钮,设置IP地址,单击 “确定” 按钮。由于ISO引导注册适用于没有DHCP Relay的环境,所以用户必须配置提供服务器管理口接入的IP子网或IP地址信息。
      • 只注册不引导:不重启引导进入YunionOS系统,勾选该项后,仅收集到服务器的部分信息,此时的服务器无法用于创建裸金属,需要进行检测硬件配置操作使其正式投入生产使用。
    • 模板导入:支持导入含有物理机注册信息的XLSX格式的模板文件。
      • 导入物理机信息需要按照预先设定的格式,请先下载模板。

      • 在下载的host_template.xlsx文件中补充物理机的信息。所有物理机信息请都放在同一个sheet页面中。

      • 单击虚线框或将模板文件拖拽到虚线框,单击 “确定” 按钮,上传模板文件。

      • 只注册不引导:不重启引导进入YunionOS系统,勾选该项后,仅收集到服务器的部分信息,此时的服务器无法用于创建裸金属,需要进行检测硬件配置操作使其正式投入生产使用。

  4. 单击 “确定” 按钮,完成引导注册。

PXE引导注册

PXE引导注册之前请管理员提前准备以下信息:

  • 物理服务器的BMC信息。
  1. 在云管平台单击左上角导航菜单,在弹出的左侧菜单栏中单击 “主机/基础资源/物理机” 菜单项,进入物理机页面。
  2. 单击 “添加” 按钮,进入添加物理机页面,选择添加方式为“PXE引导注册”。
  3. 配置以下信息:
    • 单条录入:配置以下参数。
      • 指定域:选择物理机所属的域。
      • 物理机名称:设置物理服务器的名称。
      • IPMI地址:输入服务器上已配置好的IPMI地址。
      • IPMI用户名:输入服务器上已配置好的IPMI用户名。
      • IPMI密码:输入服务器上已配置好的IPMI密码信息。若输入的BMC信息不正确则无法正确完成引导注册。
      • 管理口MAC地址:设置服务器的管理口MAC地址,支持Redfish的服务器无需填写该项。
      • 管理口IP:选填。支持选择IP子网,如需指定静态IP,可单击 “手动配置IP” 按钮,设置IP地址,单击 “确定” 按钮。留空则由DHCP自动分配IP。
      • 只注册不引导:不重启引导进入YunionOS系统,勾选该项后,仅收集到服务器的部分信息,此时的服务器无法用于创建裸金属,需要进行检测硬件配置操作使其正式投入生产使用。
    • 模板导入:支持导入含有物理机注册信息的XLSX格式的模板文件。
      • 导入物理机信息需要按照预先设定的格式,请先下载模板。

      • 在下载的host_template.xlsx文件中补充物理机的信息。所有物理机信息请都放在同一个sheet页面中。

      • 单击虚线框或将模板文件拖拽到虚线框,单击 “确定” 按钮,上传模板文件。

      • 只注册不引导:不重启引导进入YunionOS系统,勾选该项后,仅收集到服务器的部分信息,此时的服务器无法用于创建裸金属,需要进行检测硬件配置操作使其正式投入生产使用。

  4. 单击 “确定” 按钮,完成引导注册。

预注册

预注册操作仅是预上架服务器信息,并不代表物理机已注册到 云联壹云 平台,实际注册需要等到服务器上电启动。

预注册物理机之前请管理员提前准备以下信息:

  • 物理服务器的MAC地址和名称,必填。
  • 由管理员规划BMC信息(IPMI地址、用户名、密码等信息),物理服务器可以事先不配置BMC信息,后续注册虚拟机引导时将会将物理服务器的BMC信息重置为注册物理机时设置的BMC信息。
  1. 在云管平台单击左上角导航菜单,在弹出的左侧菜单栏中单击 “主机/基础资源/物理机” 菜单项,进入物理机页面。

  2. 单击 “添加” 按钮,进入添加物理机页面,选择添加方式为“预注册”。

  3. 支持3种导入物理机信息的方式。其中单条录入适用于托管单台服务器的场景,批量导入和文件导入适用于一次性托管多台服务器的场景。

    • 单条录入:配置以下参数。
      • 指定域:选择物理机所属的域。
      • MAC地址:物理机设备的MAC地址。
      • 物理机名称:物理机设备的名称。
      • IPMI地址:设置物理机的IPMI地址,当不设置该参数时,若平台上存在IPMI的IP子网,系统将自动为其分配IP地址,一般建议新机器留空,旧机器设置之前的IP地址。
      • IPMI用户名:设置IPMI管理用户名。当不设置该参数时,系统默认使用root用户登录,一般建议新机器留空,旧机器设置之前的用户名。
      • IPMI密码:设置IPMI用户的密码。当不设置该参数时,系统默认密码为YunionDev@123。一般建议新机器留空,旧机器设置之前的密码。
      • 设置完成后,单击 “确定” 按钮。
    • 批量录入:请注意以下内容。
      • 一行为一条物理机记录,一次最多支持导入100条记录。
      • 录入信息格式为“MAC地址,名称,IPMI地址,IPMI用户名,IPMI密码”,中间以英文逗号“,”分割,若密码中包含中文逗号“,”需要使用单条录入功能进行注册。
      • 其中MAC地址和名称为必填项,其他参数可省略不填写。
      • 例如:ee:b3:f4:48:1c:f5,gpuhost01,192.168.1.1,root,admin123
      • 例如:ee:b3:f4:48:1c:f5,gpuhost01,,, –省略了IPMI地址、IPMI用户名和IPMI密码
      • 录入完成后,单击 “确定” 按钮。
    • 模板导入:支持导入含有物理机注册信息的XLSX格式的模板文件。
      • 导入物理机信息需要按照预先设定的格式,请先下载模板。

      • 在下载的host_template.xlsx文件中补充物理机的信息。所有物理机信息请都放在同一个sheet页面中。

      • 单击虚线框或将模板文件拖拽到虚线框,单击 “确定” 按钮,上传模板文件。

  4. 至此,服务器预上架准备完毕。

  5. 等待管理员将服务器设置为PXE启动,并为服务器上电后,才会进行真正的注册物理机操作,并获取服务器的基本信息等。

  6. 当服务器在平台上有信息显示后,管理员可以在 云联壹云 平台上对物理机进行管理操作等。

自动注册

云联壹云 平台默认未启用自动注册功能,如需要使用该功能,可通过界面或climc命令启用自动注册。

全局设置启用自动注册

  1. 在云管平台单击左上角导航菜单,在弹出的左侧菜单栏中单击 “系统配置/全局设置/全局设置” 菜单项,进入全局设置页面。

  2. 单击 “编辑” 按钮,开启自动注册功能。

Climc启用自动注册

# 命令行开启自动注册
$ climc service-edit-config baremetal
    ...
    # 自动注册选项,默认为 false
    auto_register_baremetal: true
    ...

托管物理机

托管物理机操作可以纳管已安装操作系统的物理服务器,在纳管服务器之前,需要用户了解物理服务器的BMC(IPMI地址、用户名、密码)信息等。

在托管服务器之前,请确保以下条件:

  • 平台上已创建了包含物理服务器的IPMI类型和物理机类型的IP子网;
  • 物理服务器已配置了BMC信息(IPMI地址、用户名、密码);
  • 物理服务器已放开2222或之后端口;如2222端口已被占用,则需放开2222之后的端口。
  1. 在云管平台单击左上角导航菜单,在弹出的左侧菜单栏中单击 “主机/基础资源/物理机” 菜单项,进入物理机页面。

  2. 单击 “添加” 按钮,进入添加物理机页面,选择添加方式为“托管”。

  3. 单击"点击复制"链接,复制命令。

  4. 通过ssh等远程连接到物理服务器,在服务器中执行复制的命令。

  5. 命令执行过程中需要输入服务器的IPMI用户名、密码以及IPMI IP,设置完成后等待一段时间,物理机会被注册到 云联壹云 平台,同时将创建一个与之前物理机同配置的裸金属服务器。

新建裸金属服务器

当管理员纳管物理服务器后,用户登录 云联壹云 平台时在左侧菜单栏中可以看到裸金属菜单,并可以创建裸金属服务器。

  1. 在云管平台单击左上角导航菜单,在弹出的左侧菜单栏中单击 “主机/主机/裸金属” 菜单项,进入裸金属页面。

  2. 单击列表上方 “新建” 按钮,进入新建裸金属页面。

  3. 配置以下参数:

    • 区域:选择区域和可用区,管理员需要告知用户纳管的物理服务器所在的可用区。

    • 名称:设置裸金属服务器的名称。

    • 数量:设置创建裸金属服务器的数量。

    • 操作系统:可根据实际情况从公共镜像或自定义镜像中选择,建议从公共镜像中选择。

    • 规格:显示所有可用的物理机的规格信息。

    • 硬盘配置:单击 新增磁盘 按钮,在弹出的新增磁盘配置对话框中选择磁盘阵列控制器并对磁盘设置RAID,并选择磁盘格式,不同磁盘个数支持设置的RAID不同。设置完成后,单击 “确定” 按钮。

      • RAID与磁盘数量关系如下:

        • RAID0和不做RAID对磁盘数量无要求;
        • RAID1要求至少有2块相同的磁盘;
        • RAID5要求至少有3块相同的磁盘;
        • RAID10要求至少有4块相同的磁盘;

      • 磁盘设置完成后,还支持界面化设置磁盘分区等,可分别单击“系统”绿区域更新分区设置或单击“剩余”灰色区域新建分区。分区参数如下:

        • 挂载点:设置分区挂载点,系统分区挂载点默认为“/”。
        • 分区格式:包括ext4、xfs、ntfs、swap分区。
        • 分区大小:包括最大容量和手动输入两种,最大容量使用磁盘所有空间,手动输入可以手动设置分区大小,单位为GB。

    • 管理员密码:建议随机生成密码,生成的密码可以在密码列查看。

    • 网络:根据需求设置裸金属服务器的IP地址,当环境中有两张与网线连接的网卡需要做绑定设置时,可勾选”启用bonding”。

    • 调度策略:建议保持默认,项目中用户无需配置该项。

  4. 单击 “新建” 按钮,创建裸金属服务器。