纳管物理机
云联壹云 平台支持纳管物理服务器并基于物理服务器创建裸金属服务器。
物理机纳管相关概念介绍
- 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服务。
通过SSH等以root用户登录到First Node节点。
使用
kubectl get pods -n onecloud |grep baremetal
命令查看环境中是否已启用Baremetal服务。如已存在,忽略步骤3、4。如不存在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
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等。
- 在 云联壹云 平台上配置物理服务器的BMC信息以及管理口IP地址。
- Baremetal将会通过Redfish API验证物理服务器的BMC信息,进而获取物理服务器的配置信息,如服务器SN、厂商型号以及网卡信息等。
- 验证通过后,物理服务器上的Redfish API将会通过带外网加载Baremetal提供的YunionOS的ISO。
- 进入YunionOS系统后根据配置设置管理口的IP地址,从而使物理服务器可以通过管理网访问Baremetal,上报服务器的SSH登录信息。
- Baremetal通过SSH调用YunionOS中的工具,收集服务器信息,并进行管理操作等。
- 至此,物理服务器成功注册到 云联壹云 平台。
PXE引导注册:
该方式要求用户环境存在DHCP Relay,且要求物理机已配置BMC信息,且在引导注册过程中不会改变物理机的BMC信息。如果服务器不支持Redfish,还需要提供服务器的MAC地址。
- 在 云联壹云 平台上配置物理服务器的BMC信息并设置服务器PXE启动等。
- Baremetal通过IPMI验证物理服务器的BMC信息。
- 验证通过后,收集少量的服务器信息,设置物理服务器为开机启动,物理服务器通过DHCP配置管理口IP地址、
- 通过管理网启动引导物理服务器进入YunionOS,上报SSH登录信息。
- Baremetal通过SSH调用YunionOS中的工具,收集服务器信息,并进行管理操作等。
- 至此,物理服务器成功注册到 云联壹云 平台。
自动注册
该方式适用于大规模的服务器自动注册到云管平台,仅要求用户环境存在DHCP Relay,引导注册过程中会重置BMC信息。
- 新上架的物理服务器设置PXE启动上电后,物理服务器接入的三层网关上的DHCP Relay将转发物理服务器的PXE请求到Baremetal。
- Baremetal服务收到请求后将会响应PXE请求,引导物理服务器从网络加载YunionOS系统并重启进入YunionOS系统,上报服务器的ssh信息,
- Baremetal通过SSH调用YunionOS中的工具,收集服务器信息,重置服务器BMC信息(如不提供BMC信息,将按照默认的信息进行配置)。
- 至此,物理服务器成功注册到 云联壹云 平台。
预注册
该方式适用于小规模的服务器注册到云管平台,该方式要求用户环境存在DHCP Relay,且提供服务器的MAC地址,在引导过程中会重置BMC信息。
- 新上架的物理服务器设置PXE启动上电后,物理服务器接入的三层网关上的DHCP Relay将转发物理服务器的PXE请求到Baremetal。
- Baremetal服务收到请求后将会验证物理服务器的MAC地址是否匹配,匹配成功后将会记录物理服务器的基本信息并响应PXE请求,引导物理服务器从网络加载YunionOS系统并重启进入YunionOS系统,上报服务器的ssh信息,
- Baremetal通过SSH调用YunionOS中的工具,收集服务器信息,重置服务器BMC信息(如不提供BMC信息,将按照默认的信息进行配置)。
- 至此,物理服务器成功注册到 云联壹云 平台。
托管
该方式适用于已有操作系统的服务器,该方式对网络无要求。执行托管脚本后将使用容器技术在物理服务器中运行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
配置流程
- 根据组网规划创建物理服务器使用的IPMI IP子网和PXE IP子网以及裸金属设备使用的IP子网。
- 根据需求选择添加物理机的方式。
- 已纳管的物理机可以用于创建裸金属设备。
操作步骤
网络配置
无论使用何种方式纳管物理机,都需要在 云联壹云 平台上配置物理机类型、IPMI以及PXE类型的IP子网,其中PXE网段可以和物理机类型共用一个网段。请根据网络规划配置IP子网。
创建IPMI IP子网
在云管平台单击左上角导航菜单,在弹出的左侧菜单栏中单击 “网络/基础网络/IP子网” 菜单项,进入IP子网页面。
单击列表上方 “新建” 按钮,进入创建IP子网页面。
设置以下参数:
- 子网名称:用于标识IPMI子网。
- 平台:选择本地IDC。
- 二层网络:请根据规划选择区域、专有网络以及可用的二层网络。后续用户申请裸金属时需要在二层网络所在的区域和可用区中选择。
- 服务器类型:选择IPMI。
- IP子网:设置IP子网网段、子网掩码、网关以及VLAN ID等。
单击 “确定” 按钮。
创建PXE IP子网
在云管平台单击左上角导航菜单,在弹出的左侧菜单栏中单击 “网络/基础网络/IP子网” 菜单项,进入IP子网页面。
单击列表上方 “新建” 按钮,进入创建IP子网页面。
设置以下参数:
- 子网名称:用于标识IPMI子网。
- 平台:选择本地IDC。
- 二层网络:请根据规划选择区域、专有网络以及可用的二层网络。后续用户申请裸金属时需要在二层网络所在的区域和可用区中选择。
- 服务器类型:选择PXE。
- IP子网:设置IP子网网段、子网掩码、网关以及VLAN ID等。
单击 “确定” 按钮。
创建物理机或虚拟机IP子网
用户创建裸金属设备时会优先使用物理机IP子网,若环境中不存在可用的物理机IP子网将会使用虚拟机IP子网。
在云管平台单击左上角导航菜单,在弹出的左侧菜单栏中单击 “网络/基础网络/IP子网” 菜单项,进入IP子网页面。
单击列表上方 “新建” 按钮,进入创建IP子网页面。
设置以下参数:
- 子网名称:用于标识IPMI子网。
- 平台:选择本地IDC。
- 二层网络:请根据规划选择区域、专有网络以及可用的二层网络。后续用户申请裸金属时需要在二层网络所在的区域和可用区中选择。
- 服务器类型:选择物理机或虚拟机IP子网,新建裸金属服务器时默认优先使用物理机IP子网,当没有可用的物理机IP子网将使用虚拟机IP子网。
- IP子网:设置IP子网网段、子网掩码、网关以及VLAN ID等。
单击 “确定” 按钮。
纳管物理机
ISO引导注册
ISO引导注册之前请管理员提前准备以下信息:
- 物理服务器的BMC信息。
- 物理服务器管理口IP地址、IP子网或二层网络等。
- 在云管平台单击左上角导航菜单,在弹出的左侧菜单栏中单击 “主机/基础资源/物理机” 菜单项,进入物理机页面。
- 单击 “添加” 按钮,进入添加物理机页面,选择添加方式为“ISO引导注册”。
- 配置以下信息:
- 单条录入:配置以下参数。
- 指定域:选择物理机所属的域。
- 物理机名称:设置物理服务器的名称。
- IPMI地址:输入服务器上已配置好的IPMI地址。
- IPMI用户名:输入服务器上已配置好的IPMI用户名。
- IPMI密码:输入服务器上已配置好的IPMI密码信息。若输入的BMC信息不正确则无法正确完成引导注册。
- 管理口IP:选择IP子网,如需指定静态IP,可单击 “手动配置IP” 按钮,设置IP地址,单击 “确定” 按钮。由于ISO引导注册适用于没有DHCP Relay的环境,所以用户必须配置提供服务器管理口接入的IP子网或IP地址信息。
- 只注册不引导:不重启引导进入YunionOS系统,勾选该项后,仅收集到服务器的部分信息,此时的服务器无法用于创建裸金属,需要进行检测硬件配置操作使其正式投入生产使用。
- 模板导入:支持导入含有物理机注册信息的XLSX格式的模板文件。
导入物理机信息需要按照预先设定的格式,请先下载模板。
在下载的host_template.xlsx文件中补充物理机的信息。所有物理机信息请都放在同一个sheet页面中。
单击虚线框或将模板文件拖拽到虚线框,单击 “确定” 按钮,上传模板文件。
只注册不引导:不重启引导进入YunionOS系统,勾选该项后,仅收集到服务器的部分信息,此时的服务器无法用于创建裸金属,需要进行检测硬件配置操作使其正式投入生产使用。
- 单条录入:配置以下参数。
- 单击 “确定” 按钮,完成引导注册。
PXE引导注册
PXE引导注册之前请管理员提前准备以下信息:
- 物理服务器的BMC信息。
- 在云管平台单击左上角导航菜单,在弹出的左侧菜单栏中单击 “主机/基础资源/物理机” 菜单项,进入物理机页面。
- 单击 “添加” 按钮,进入添加物理机页面,选择添加方式为“PXE引导注册”。
- 配置以下信息:
- 单条录入:配置以下参数。
- 指定域:选择物理机所属的域。
- 物理机名称:设置物理服务器的名称。
- IPMI地址:输入服务器上已配置好的IPMI地址。
- IPMI用户名:输入服务器上已配置好的IPMI用户名。
- IPMI密码:输入服务器上已配置好的IPMI密码信息。若输入的BMC信息不正确则无法正确完成引导注册。
- 管理口MAC地址:设置服务器的管理口MAC地址,支持Redfish的服务器无需填写该项。
- 管理口IP:选填。支持选择IP子网,如需指定静态IP,可单击 “手动配置IP” 按钮,设置IP地址,单击 “确定” 按钮。留空则由DHCP自动分配IP。
- 只注册不引导:不重启引导进入YunionOS系统,勾选该项后,仅收集到服务器的部分信息,此时的服务器无法用于创建裸金属,需要进行检测硬件配置操作使其正式投入生产使用。
- 模板导入:支持导入含有物理机注册信息的XLSX格式的模板文件。
导入物理机信息需要按照预先设定的格式,请先下载模板。
在下载的host_template.xlsx文件中补充物理机的信息。所有物理机信息请都放在同一个sheet页面中。
单击虚线框或将模板文件拖拽到虚线框,单击 “确定” 按钮,上传模板文件。
只注册不引导:不重启引导进入YunionOS系统,勾选该项后,仅收集到服务器的部分信息,此时的服务器无法用于创建裸金属,需要进行检测硬件配置操作使其正式投入生产使用。
- 单条录入:配置以下参数。
- 单击 “确定” 按钮,完成引导注册。
预注册
预注册操作仅是预上架服务器信息,并不代表物理机已注册到 云联壹云 平台,实际注册需要等到服务器上电启动。
预注册物理机之前请管理员提前准备以下信息:
- 物理服务器的MAC地址和名称,必填。
- 由管理员规划BMC信息(IPMI地址、用户名、密码等信息),物理服务器可以事先不配置BMC信息,后续注册虚拟机引导时将会将物理服务器的BMC信息重置为注册物理机时设置的BMC信息。
在云管平台单击左上角导航菜单,在弹出的左侧菜单栏中单击 “主机/基础资源/物理机” 菜单项,进入物理机页面。
单击 “添加” 按钮,进入添加物理机页面,选择添加方式为“预注册”。
支持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页面中。
单击虚线框或将模板文件拖拽到虚线框,单击 “确定” 按钮,上传模板文件。
- 单条录入:配置以下参数。
至此,服务器预上架准备完毕。
等待管理员将服务器设置为PXE启动,并为服务器上电后,才会进行真正的注册物理机操作,并获取服务器的基本信息等。
当服务器在平台上有信息显示后,管理员可以在 云联壹云 平台上对物理机进行管理操作等。
说明
目前前端不支持设置预注册物理机的 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命令启用自动注册。
全局设置启用自动注册
在云管平台单击左上角导航菜单,在弹出的左侧菜单栏中单击 “系统配置/全局设置/全局设置” 菜单项,进入全局设置页面。
单击 “编辑” 按钮,开启自动注册功能。
Climc启用自动注册
# 命令行开启自动注册
$ climc service-edit-config baremetal
...
# 自动注册选项,默认为 false
auto_register_baremetal: true
...
托管物理机
托管物理机操作可以纳管已安装操作系统的物理服务器,在纳管服务器之前,需要用户了解物理服务器的BMC(IPMI地址、用户名、密码)信息等。
在托管服务器之前,请确保以下条件:
- 平台上已创建了包含物理服务器的IPMI类型和物理机类型的IP子网;
- 物理服务器已配置了BMC信息(IPMI地址、用户名、密码);
- 物理服务器已放开2222或之后端口;如2222端口已被占用,则需放开2222之后的端口。
说明
托管的物理机所在域与操作用户有关。
在云管平台单击左上角导航菜单,在弹出的左侧菜单栏中单击 “主机/基础资源/物理机” 菜单项,进入物理机页面。
单击 “添加” 按钮,进入添加物理机页面,选择添加方式为“托管”。
单击"点击复制"链接,复制命令。
通过ssh等远程连接到物理服务器,在服务器中执行复制的命令。
命令执行过程中需要输入服务器的IPMI用户名、密码以及IPMI IP,设置完成后等待一段时间,物理机会被注册到 云联壹云 平台,同时将创建一个与之前物理机同配置的裸金属服务器。
新建裸金属服务器
当管理员纳管物理服务器后,用户登录 云联壹云 平台时在左侧菜单栏中可以看到裸金属菜单,并可以创建裸金属服务器。
在云管平台单击左上角导航菜单,在弹出的左侧菜单栏中单击 “主机/主机/裸金属” 菜单项,进入裸金属页面。
单击列表上方 “新建” 按钮,进入新建裸金属页面。
配置以下参数:
区域:选择区域和可用区,管理员需要告知用户纳管的物理服务器所在的可用区。
名称:设置裸金属服务器的名称。
数量:设置创建裸金属服务器的数量。
操作系统:可根据实际情况从公共镜像或自定义镜像中选择,建议从公共镜像中选择。
规格:显示所有可用的物理机的规格信息。
硬盘配置:单击 新增磁盘 按钮,在弹出的新增磁盘配置对话框中选择磁盘阵列控制器并对磁盘设置RAID,并选择磁盘格式,不同磁盘个数支持设置的RAID不同。设置完成后,单击 “确定” 按钮。
RAID与磁盘数量关系如下:
- RAID0和不做RAID对磁盘数量无要求;
- RAID1要求至少有2块相同的磁盘;
- RAID5要求至少有3块相同的磁盘;
- RAID10要求至少有4块相同的磁盘;
磁盘设置完成后,还支持界面化设置磁盘分区等,可分别单击“系统”绿区域更新分区设置或单击“剩余”灰色区域新建分区。分区参数如下:
- 挂载点:设置分区挂载点,系统分区挂载点默认为“/”。
- 分区格式:包括ext4、xfs、ntfs、swap分区。
- 分区大小:包括最大容量和手动输入两种,最大容量使用磁盘所有空间,手动输入可以手动设置分区大小,单位为GB。
管理员密码:建议随机生成密码,生成的密码可以在密码列查看。
网络:根据需求设置裸金属服务器的IP地址,当环境中有两张与网线连接的网卡需要做绑定设置时,可勾选”启用bonding”。
说明
新建裸金属服务器时选择的IP子网与创建裸金属的物理机IP子网相同时,裸金属将会复用物理机的IP地址,不会再分配新的IP地址。
调度策略:建议保持默认,项目中用户无需配置该项。
单击 “新建” 按钮,创建裸金属服务器。