纳管物理机

优质
小牛编辑
143浏览
2023-12-01
介绍如何在云联壹云平台上纳管物理服务器并创建裸金属服务器等。

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

物理机纳管相关概念介绍

  • 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服务的节点安装了host服务,监听网卡请设置为br0,其余情况监听网卡为节点的实际网卡名称。

    # 在指定节点上启用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引导注册小规模PXEDHCP分配
预注册小规模PXEDHCP分配
自动注册大规模PXEDHCP分配

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. 当服务器在平台上有信息显示后,管理员可以在 云联壹云 平台上对物理机进行管理操作等。

说明

目前前端不支持设置预注册物理机的 PXE 启动 IP,可以通过在后端用命令行指定,操作如下:

# 通过 host-create 命令创建物理机记录
# 对应物理机名称为 bm1
# PXE 启动网卡 MAC 为 2c:ea:7f:af:77:5b
# --access-ip 指定 pxe 启动的 IP
# --ipmi-addr 设置需要配置的 IPMI IP
# --ipmi-user 设置需要配置的 IPMI 用户
# --ipmi-passwd 设置对应的 IPMI 用户密码
# --no-probe 表示不要进行 IPMI 探测,和引导注册区分开
$ climc host-create \
    --access-ip 10.2.0.35 \
    --ipmi-addr 10.3.0.25 \
    --ipmi-user root \
    --ipmi-passwd YunionDev@123 \
    --no-probe \
    bm1 2c:ea:7f:af:77:5b

自动注册

云联壹云 平台默认未启用自动注册功能,如需要使用该功能,可通过界面或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”。

      说明

      新建裸金属服务器时选择的IP子网与创建裸金属的物理机IP子网相同时,裸金属将会复用物理机的IP地址,不会再分配新的IP地址。

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

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