CN114610447A - 一种基于智能网卡的裸金属服务器实现方法及系统 - Google Patents

一种基于智能网卡的裸金属服务器实现方法及系统 Download PDF

Info

Publication number
CN114610447A
CN114610447A CN202210246084.1A CN202210246084A CN114610447A CN 114610447 A CN114610447 A CN 114610447A CN 202210246084 A CN202210246084 A CN 202210246084A CN 114610447 A CN114610447 A CN 114610447A
Authority
CN
China
Prior art keywords
network card
intelligent network
physical machine
bare metal
storage
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202210246084.1A
Other languages
English (en)
Inventor
陶锐哲
韩同
李博
田雨
谢涛涛
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Inspur Cloud Information Technology Co Ltd
Original Assignee
Inspur Cloud Information Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Inspur Cloud Information Technology Co Ltd filed Critical Inspur Cloud Information Technology Co Ltd
Priority to CN202210246084.1A priority Critical patent/CN114610447A/zh
Publication of CN114610447A publication Critical patent/CN114610447A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45562Creating, deleting, cloning virtual machine instances
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45579I/O management, e.g. providing access to device drivers or storage
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45595Network integration; Enabling network access in virtual machine instances

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

本发明提供了一种基于智能网卡的裸金属服务器实现方法,包括以下步骤:为裸金属上架和智能网卡制备提供完整的自动化流程,环境中准备远端存储,智能网卡创建热插拔网络/存储设备。本发明提出的基于智能网卡的裸金属服务器实现方法及系统统一云平台的虚拟机与物理机的管理方式,使云平台的计算资源成为统一的计算池,用户只需要考虑本身业务需求,而无需考虑到虚拟机与物理机的差异性。

Description

一种基于智能网卡的裸金属服务器实现方法及系统
技术领域
本发明涉及云计算模块技术领域,具体为一种基于智能网卡的裸金属服务器实现方法及系统。
背景技术
传统的裸金属服务器为用户提供完整的一台物理机资源,并接入云平台的资源统一管理平台,提供不完全的VPC网络、SAN存储盘等功能。但在实际使用过程,与云平台虚拟机资源的使用方式差异很大。
如:
1、VPC网络的差异:传统的裸金属服务器需要控制L2交换机,完成网络配置。OpenStack社区默认支持的是VLAN网络,在此基础上,通过交换机的硬件VxLAN隧道的功能,可提供VxLAN网络的接入,但该方案需要额外的交换机且配置上架过程复杂。同时,传统裸金属也无法使用完整的安全组功能,只能在交换机下发ACL规则,为交换机端口添加部分出方向规则;
2、EBS云盘的差异:传统裸金属目前只能连接FC-SAN/IP-SAN类型的SAN存储,FC-SAN需要SAN存储服务器与物理机HBA卡,部署难度高,成本高;而IP-SAN无法保证平台网络安全性,可能存在安全风险。一般云平台是以ceph后端为主的分布式存储,目前裸金属产品对于分布式存储的支持无法兼顾高性能与安全性;
3、备份迁移功能的差异:由于传统裸金属为用户默认提供本地存储盘作为系统盘,带来系统镜像备份与迁移困难的难题,需要运维人员登录到租户操作系统,并且手动完成系统盘镜像的制作,不满足云平台自动化管理的要求。
结合以上核心问题,我们亟需一种适配云平台架构的虚拟机/物理机统一管理方式,来解决我们遇到的问题。
发明内容
本发明的目的在于提供一种基于智能网卡的裸金属服务器实现方法及系统,以解决上述背景技术中提出的问题。
为实现上述目的,本发明提供如下技术方案:一种基于智能网卡的裸金属服务器实现方法及系统,包括以下步骤:
为每一台物理机配置有2块智能网卡设备,分别为智能网卡A和智能网卡B,每块智能网卡提供1个千兆网口、2个万兆网口,按照业务需求分别连入不同网络;
为裸金属上架和智能网卡制备提供完整的自动化流程:
a.完成物理机上架与智能网卡的前置安装;
b.环境中搭建PXE即Preboot Execute Environment预启动执行环境,根据智能网卡与物理机芯片架构,分别提供启动二进制文件、Grub菜单、kernel与initrd;
c.完成智能网卡的制备流程,通过IPMI管理工具让智能网卡进入到PXE启动状态,并启动到临时内存文件系统initrd;在initrd中执行自定义init脚本,完成firmware固件更新、修改PCI BAR参数,然后通过OpenvSwitch创建临时网桥,并将连接到物理机网络设备PF即Physical Function,以下简称PF与外部网络同时连接到临时ovs网桥;
d.继续完成后续的物理机上架流程,由于此时物理机已经与外部环境网络打通,因此紧跟上述流程,完成物理机的PCI硬件设备更新、裸金属节点上报环境的任务;
e.裸金属服务器节点在环境中注册成功后,标识制备流程完成;
环境中准备远端存储,存储后端可以是ceph、iSCSI、NFS、NVME-of,将系统镜像写入远端存储卷中,并记录卷唯一标识;随后智能网卡节点开机,将唯一标识的远端存储卷创建为SPDK backend设备;智能网卡节点内,根据backend设备的标识完成存储设备的创建,通过配置PCI BAR基地址寄存器来创建出1块指定类型PCI PF即Physical Function设备;上述步骤完成后,即可启动物理机,物理机从唯一标识的远端存储卷加载启动文件,完成远程卷启动流程;
智能网卡创建热插拔网络/存储设备,根据所需设备类型来修改PCIBAR配置空间,动态为物理机增加或删除PCI PF设备,从而实现裸金属服务器的弹性扩容;云平台发起裸金属实例挂载弹性网卡/块存储的请求,请求中应该带有弹性网卡的唯一标识MAC、块存储的唯一标识UUID;云平台服务与PF设备关联后,在裸金属服务器内加载对应设备类型的内核驱动,可发现并使用该设备,完成裸金属服务器弹性扩容。
优选的,智能网卡A管理裸金属网络设备并接入VPC网络服务,内部运行虚拟交换机OpenvSwitch与网络设备模拟服务net-controller、Neutron-OpenvSwitch-Agent等;智能网卡B管理裸金属存储设备并接入EBS云盘服务,内部运行存储组件SPDK与存储设备模拟服务snap等。
优选的,如果创建的PF设备是静态设备,则让物理机从本地磁盘启动。一般静态PF设备的驱动类型为NVME,物理机可在BIOS硬件启动时自动加载NVME驱动,使静态PF设备成为物理机的本地磁盘。
优选的,如果创建的PF设备是动态设备,则让物理机切换到网卡PXE启动,动态存储设备驱动可以是virtio_blk或NVME,智能网卡的内部PF提供物理机的PXE功能,随后在物理机加载的临时文件系统initrd中,执行自定义的远程卷加载逻辑,如virtio_blk虚拟盘需要加载virtio_blk与virtio_pci驱动,然后操作系统发现virtio_blk盘并作为/dev/vda块设备;修改grub的配置,指定物理机操作系统控制权转交virtio_blk盘,物理机切换根目录到/dev/vda盘。
优选的,针对一台裸金属实例,根据请求类型,将挂载请求路由到不同的智能网卡节点;如果挂载请求中带有弹性网卡的唯一标识MAC,将请求路由到智能网卡A;如果带有块存储的唯一标识UUID,则将请求路由到智能网卡节点B;根据请求,智能网卡A创建网络PF设备,修改设备类型为virtio_net,随后将PF设备挂到Ovs网桥上,由部署在智能网卡A的网络agent完成流表的下发与Ovs port管理,网络包处理与转发由OpenvSwitch完成;根据请求,智能网卡B创建存储PF设备,修改设备类型为virtio_blk,随后由智能网卡B部署的存储组件将远端块存储与PF设备一一关联,网络包与存储协议处理由智能网卡B的硬件与CPU共同完成。
一种基于智能网卡的裸金属服务器实现系统,包括金属服务器架构模块、智能网卡制备模块、部署模块以及云平台接入模块;
智能网卡制备模块为金属服务器架构模块和智能网卡制备提供完整的自动化流程,部署模块为金属服务器架构模块提供多种部署方法,云平台接入模块将基于智能网卡的金属服务器架构模块接入云平台服务。
优选的,所述金属服务器架构模块用于为每一台物理机配置有2块智能网卡设备,分别为智能网卡A和智能网卡B,每块智能网卡提供1个千兆网口、2个万兆网口,按照业务需求分别连入不同网络;智能网卡A管理裸金属网络设备并接入VPC网络服务,内部运行虚拟交换机OpenvSwitch与网络设备模拟服务net-controller、Neutron-OpenvSwitch-Agent等;智能网卡B管理裸金属存储设备并接入EBS云盘服务,内部运行存储组件SPDK与存储设备模拟服务snap等。
优选的,所述智能网卡制备模块用于为裸金属上架和智能网卡制备提供完整的自动化流程:
a.完成物理机上架与智能网卡的前置安装;
b.环境中搭建PXE即Preboot Execute Environment预启动执行环境,根据智能网卡与物理机芯片架构,分别提供启动二进制文件、Grub菜单、kernel与initrd;
c.完成智能网卡的制备流程,通过IPMI管理工具让智能网卡进入到PXE启动状态,并启动到临时内存文件系统initrd;在initrd中执行自定义init脚本,完成firmware固件更新、修改PCI BAR参数,然后通过OpenvSwitch创建临时网桥,并将连接到物理机网络设备PF即Physical Function,以下简称PF与外部网络同时连接到临时ovs网桥;
d.继续完成后续的物理机上架流程,由于此时物理机已经与外部环境网络打通,因此紧跟上述流程,完成物理机的PCI硬件设备更新、裸金属节点上报环境的任务;
e.裸金属服务器节点在环境中注册成功后,标识制备流程完成。
优选的,所述部署模块用于环境中准备远端存储,存储后端可以是ceph、iSCSI、NFS、NVME-of,将系统镜像写入远端存储卷中,并记录卷唯一标识;随后智能网卡节点开机,将唯一标识的远端存储卷创建为SPDK backend设备;智能网卡节点内,根据backend设备的标识完成存储设备的创建,通过配置PCI BAR基地址寄存器来创建出1块指定类型PCI PF即Physical Function设备;上述步骤完成后,即可启动物理机,物理机从唯一标识的远端存储卷加载启动文件,完成远程卷启动流程;
如果创建的PF设备是静态设备,则让物理机从本地磁盘启动。一般静态PF设备的驱动类型为NVME,物理机可在BIOS硬件启动时自动加载NVME驱动,使静态PF设备成为物理机的本地磁盘;
如果创建的PF设备是动态设备,则让物理机切换到网卡PXE启动,动态存储设备驱动可以是virtio_blk或NVME,智能网卡的内部PF提供物理机的PXE功能,随后在物理机加载的临时文件系统initrd中,执行自定义的远程卷加载逻辑,如virtio_blk虚拟盘需要加载virtio_blk与virtio_pci驱动,然后操作系统发现virtio_blk盘并作为/dev/vda块设备;修改grub的配置,指定物理机操作系统控制权转交virtio_blk盘,物理机切换根目录到/dev/vda盘。
优选的,所述云平台接入模块用于智能网卡创建热插拔网络/存储设备,根据所需设备类型来修改PCIBAR配置空间,动态为物理机增加或删除PCI PF设备,从而实现裸金属服务器的弹性扩容;云平台发起裸金属实例挂载弹性网卡/块存储的请求,请求中应该带有弹性网卡的唯一标识MAC、块存储的唯一标识UUID;云平台服务与PF设备关联后,在裸金属服务器内加载对应设备类型的内核驱动,可发现并使用该设备,完成裸金属服务器弹性扩容;
针对一台裸金属实例,根据请求类型,将挂载请求路由到不同的智能网卡节点;如果挂载请求中带有弹性网卡的唯一标识MAC,将请求路由到智能网卡A;如果带有块存储的唯一标识UUID,则将请求路由到智能网卡节点B;根据请求,智能网卡A创建网络PF设备,修改设备类型为virtio_net,随后将PF设备挂到Ovs网桥上,由部署在智能网卡A的网络agent完成流表的下发与Ovs port管理,网络包处理与转发由OpenvSwitch完成;根据请求,智能网卡B创建存储PF设备,修改设备类型为virtio_blk,随后由智能网卡B部署的存储组件将远端块存储与PF设备一一关联,网络包与存储协议处理由智能网卡B的硬件与CPU共同完成。
与现有技术相比,本发明的有益效果是:
本发明提出的基于智能网卡的裸金属服务器实现方法及系统统一云平台的虚拟机与物理机的管理方式,使云平台的计算资源成为统一的计算池,用户只需要考虑本身业务需求,而无需考虑到虚拟机与物理机的差异性;
极大丰富裸金属服务器的网络功能,基于OpenvSwitch可为裸金属提供多种高级网络功能,如Ovs bond、VxLAN overlay网络、Ovs+Linux Contrack安全组、Ovs+Linux TC硬件offload、Ovs+DPDK offload等,同时裸金属服务器的网络管理不再需要L2交换机的参与,而是放在智能网卡节点,避免许多网络隔离与安全方面的问题;
裸金属对接弹性块存储功能的实现,可为物理机提供按需扩容、数据安全、灵活备份、高性能计算的能力,同时可根据需要对接不同存储后端类型,无需考虑到硬件差异,极大提高了裸金属服务器的可用性;
只需要2块智能网卡即可满足裸金属服务器多网卡、存储按需扩容的能力,无需再额外购买万兆网卡、SATA/SSD硬盘、RAID控制卡、HBA卡等硬件,既在很大程度上降低使用成本与部署难度,也同时满足用户的通用需求。
附图说明
图1为智能网卡与裸金属服务器的组合关系图;
图2为裸金属服务器制备流程图;
图3为裸金属服务器远程卷启动流程图;
图4为裸金属服务器对接云平台服务的实现流程图。
具体实施方式
为了使本发明的目的、技术方案进行清楚、完整地描述,及优点更加清楚明白,以下结合附图对本发明实施例进行进一步详细说明。应当理解,此处所描述的具体实施例是本发明一部分实施例,而不是全部的实施例,仅仅用以解释本发明实施例,并不用于限定本发明实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本发明的描述中,需要说明的是,术语“中心”、“中”、“上”、“下”、“左”、“右”、“内”、“外”、“顶”、“底”、“侧”、“竖直”、“水平”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“一”、“第一”、“第二”、“第三”、“第四”、“第五”、“第六”仅用于描述目的,而不能理解为指示或暗示相对重要性。
在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
出于简明和说明的目的,实施例的原理主要通过参考例子来描述。在以下描述中,很多具体细节被提出用以提供对实施例的彻底理解。然而明显的是,对于本领域普通技术人员,这些实施例在实践中可以不限于这些具体细节。在一些实例中,没有详细地描述公知方法和结构,以避免无必要地使这些实施例变得难以理解。另外,所有实施例可以互相结合使用。
请参阅图1至图4,本发明提供一种技术方案:一种基于智能网卡的裸金属服务器实现方法,包括以下步骤:
为每一台物理机配置有2块智能网卡设备,分别为智能网卡A和智能网卡B,每块智能网卡提供1个千兆网口、2个万兆网口,按照业务需求分别连入不同网络;智能网卡A管理裸金属网络设备并接入VPC网络服务,内部运行虚拟交换机OpenvSwitch与网络设备模拟服务net-controller、Neutron-OpenvSwitch-Agent等;智能网卡B管理裸金属存储设备并接入EBS云盘服务,内部运行存储组件SPDK与存储设备模拟服务snap等;
为裸金属上架和智能网卡制备提供完整的自动化流程:
a.完成物理机上架与智能网卡的前置安装;
b.环境中搭建PXE即Preboot Execute Environment预启动执行环境,根据智能网卡与物理机芯片架构,分别提供启动二进制文件、Grub菜单、kernel与initrd;
c.完成智能网卡的制备流程,通过IPMI管理工具让智能网卡进入到PXE启动状态,并启动到临时内存文件系统initrd;在initrd中执行自定义init脚本,完成firmware固件更新、修改PCI BAR参数,然后通过OpenvSwitch创建临时网桥,并将连接到物理机网络设备PF即Physical Function,以下简称PF与外部网络同时连接到临时ovs网桥;
d.继续完成后续的物理机上架流程,由于此时物理机已经与外部环境网络打通,因此紧跟上述流程,完成物理机的PCI硬件设备更新、裸金属节点上报环境的任务;
e.裸金属服务器节点在环境中注册成功后,标识制备流程完成;
环境中准备远端存储,存储后端可以是ceph、iSCSI、NFS、NVME-of,将系统镜像写入远端存储卷中,并记录卷唯一标识;随后智能网卡节点开机,将唯一标识的远端存储卷创建为SPDK backend设备;智能网卡节点内,根据backend设备的标识完成存储设备的创建,通过配置PCI BAR基地址寄存器来创建出1块指定类型PCI PF即Physical Function设备;上述步骤完成后,即可启动物理机,物理机从唯一标识的远端存储卷加载启动文件,完成远程卷启动流程;如果创建的PF设备是静态设备,则让物理机从本地磁盘启动。一般静态PF设备的驱动类型为NVME,物理机可在BIOS硬件启动时自动加载NVME驱动,使静态PF设备成为物理机的本地磁盘;如果创建的PF设备是动态设备,则让物理机切换到网卡PXE启动,动态存储设备驱动可以是virtio_blk或NVME,智能网卡的内部PF提供物理机的PXE功能,随后在物理机加载的临时文件系统initrd中,执行自定义的远程卷加载逻辑,如virtio_blk虚拟盘需要加载virtio_blk与virtio_pci驱动,然后操作系统发现virtio_blk盘并作为/dev/vda块设备;修改grub的配置,指定物理机操作系统控制权转交virtio_blk盘,物理机切换根目录到/dev/vda盘;
智能网卡创建热插拔网络/存储设备,根据所需设备类型来修改PCIBAR配置空间,动态为物理机增加或删除PCI PF设备,从而实现裸金属服务器的弹性扩容;云平台发起裸金属实例挂载弹性网卡/块存储的请求,请求中应该带有弹性网卡的唯一标识MAC、块存储的唯一标识UUID;云平台服务与PF设备关联后,在裸金属服务器内加载对应设备类型的内核驱动,可发现并使用该设备,完成裸金属服务器弹性扩容;针对一台裸金属实例,根据请求类型,将挂载请求路由到不同的智能网卡节点;如果挂载请求中带有弹性网卡的唯一标识MAC,将请求路由到智能网卡A;如果带有块存储的唯一标识UUID,则将请求路由到智能网卡节点B;根据请求,智能网卡A创建网络PF设备,修改设备类型为virtio_net,随后将PF设备挂到Ovs网桥上,由部署在智能网卡A的网络agent完成流表的下发与Ovs port管理,网络包处理与转发由OpenvSwitch完成;根据请求,智能网卡B创建存储PF设备,修改设备类型为virtio_blk,随后由智能网卡B部署的存储组件将远端块存储与PF设备一一关联,网络包与存储协议处理由智能网卡B的硬件与CPU共同完成。
一种基于智能网卡的裸金属服务器实现系统,包括金属服务器架构模块、智能网卡制备模块、部署模块以及云平台接入模块;
智能网卡制备模块为金属服务器架构模块和智能网卡制备提供完整的自动化流程,部署模块为金属服务器架构模块提供多种部署方法,云平台接入模块将基于智能网卡的金属服务器架构模块接入云平台服务。
金属服务器架构模块用于为每一台物理机配置有2块智能网卡设备,分别为智能网卡A和智能网卡B,每块智能网卡提供1个千兆网口、2个万兆网口,按照业务需求分别连入不同网络;智能网卡A管理裸金属网络设备并接入VPC网络服务,内部运行虚拟交换机OpenvSwitch与网络设备模拟服务net-controller、Neutron-OpenvSwitch-Agent等;智能网卡B管理裸金属存储设备并接入EBS云盘服务,内部运行存储组件SPDK与存储设备模拟服务snap等。
智能网卡制备模块用于为裸金属上架和智能网卡制备提供完整的自动化流程:
a.完成物理机上架与智能网卡的前置安装;
b.环境中搭建PXE即Preboot Execute Environment预启动执行环境,根据智能网卡与物理机芯片架构,分别提供启动二进制文件、Grub菜单、kernel与initrd;
c.完成智能网卡的制备流程,通过IPMI管理工具让智能网卡进入到PXE启动状态,并启动到临时内存文件系统initrd;在initrd中执行自定义init脚本,完成firmware固件更新、修改PCI BAR参数,然后通过OpenvSwitch创建临时网桥,并将连接到物理机网络设备PF即Physical Function,以下简称PF与外部网络同时连接到临时ovs网桥;
d.继续完成后续的物理机上架流程,由于此时物理机已经与外部环境网络打通,因此紧跟上述流程,完成物理机的PCI硬件设备更新、裸金属节点上报环境的任务;
e.裸金属服务器节点在环境中注册成功后,标识制备流程完成。
部署模块用于环境中准备远端存储,存储后端可以是ceph、iSCSI、NFS、NVME-of,将系统镜像写入远端存储卷中,并记录卷唯一标识;随后智能网卡节点开机,将唯一标识的远端存储卷创建为SPDK backend设备;智能网卡节点内,根据backend设备的标识完成存储设备的创建,通过配置PCI BAR基地址寄存器来创建出1块指定类型PCI PF即PhysicalFunction设备;上述步骤完成后,即可启动物理机,物理机从唯一标识的远端存储卷加载启动文件,完成远程卷启动流程;
如果创建的PF设备是静态设备,则让物理机从本地磁盘启动。一般静态PF设备的驱动类型为NVME,物理机可在BIOS硬件启动时自动加载NVME驱动,使静态PF设备成为物理机的本地磁盘;
如果创建的PF设备是动态设备,则让物理机切换到网卡PXE启动,动态存储设备驱动可以是virtio_blk或NVME,智能网卡的内部PF提供物理机的PXE功能,随后在物理机加载的临时文件系统initrd中,执行自定义的远程卷加载逻辑,如virtio_blk虚拟盘需要加载virtio_blk与virtio_pci驱动,然后操作系统发现virtio_blk盘并作为/dev/vda块设备;修改grub的配置,指定物理机操作系统控制权转交virtio_blk盘,物理机切换根目录到/dev/vda盘。
云平台接入模块用于智能网卡创建热插拔网络/存储设备,根据所需设备类型来修改PCIBAR配置空间,动态为物理机增加或删除PCI PF设备,从而实现裸金属服务器的弹性扩容;云平台发起裸金属实例挂载弹性网卡/块存储的请求,请求中应该带有弹性网卡的唯一标识MAC、块存储的唯一标识UUID;云平台服务与PF设备关联后,在裸金属服务器内加载对应设备类型的内核驱动,可发现并使用该设备,完成裸金属服务器弹性扩容;
针对一台裸金属实例,根据请求类型,将挂载请求路由到不同的智能网卡节点;如果挂载请求中带有弹性网卡的唯一标识MAC,将请求路由到智能网卡A;如果带有块存储的唯一标识UUID,则将请求路由到智能网卡节点B;根据请求,智能网卡A创建网络PF设备,修改设备类型为virtio_net,随后将PF设备挂到Ovs网桥上,由部署在智能网卡A的网络agent完成流表的下发与Ovs port管理,网络包处理与转发由OpenvSwitch完成;根据请求,智能网卡B创建存储PF设备,修改设备类型为virtio_blk,随后由智能网卡B部署的存储组件将远端块存储与PF设备一一关联,网络包与存储协议处理由智能网卡B的硬件与CPU共同完成。
尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。

Claims (10)

1.一种基于智能网卡的裸金属服务器实现方法,其特征在于,包括以下步骤:
为每一台物理机配置有2块智能网卡设备,分别为智能网卡A和智能网卡B,每块智能网卡提供1个千兆网口、2个万兆网口,按照业务需求分别连入不同网络;
为裸金属上架和智能网卡制备提供完整的自动化流程:
a.完成物理机上架与智能网卡的前置安装;
b.环境中搭建PXE即Preboot Execute Environment预启动执行环境,根据智能网卡与物理机芯片架构,分别提供启动二进制文件、Grub菜单、kernel与initrd;
c.完成智能网卡的制备流程,通过IPMI管理工具让智能网卡进入到PXE启动状态,并启动到临时内存文件系统initrd;在initrd中执行自定义init脚本,完成firmware固件更新、修改PCIBAR参数,然后通过OpenvSwitch创建临时网桥,并将连接到物理机网络设备PF即Physical Function,以下简称PF与外部网络同时连接到临时ovs网桥;
d.继续完成后续的物理机上架流程,由于此时物理机已经与外部环境网络打通,因此紧跟上述流程,完成物理机的PCI硬件设备更新、裸金属节点上报环境的任务;
e.裸金属服务器节点在环境中注册成功后,标识制备流程完成;
环境中准备远端存储,存储后端可以是ceph、iSCSI、NFS、NVME-of,将系统镜像写入远端存储卷中,并记录卷唯一标识;随后智能网卡节点开机,将唯一标识的远端存储卷创建为SPDK backend设备;智能网卡节点内,根据backend设备的标识完成存储设备的创建,通过配置PCI BAR基地址寄存器来创建出1块指定类型PCI PF即Physical Function设备;上述步骤完成后,即可启动物理机,物理机从唯一标识的远端存储卷加载启动文件,完成远程卷启动流程;
智能网卡创建热插拔网络/存储设备,根据所需设备类型来修改PCIBAR配置空间,动态为物理机增加或删除PCI PF设备,从而实现裸金属服务器的弹性扩容;云平台发起裸金属实例挂载弹性网卡/块存储的请求,请求中应该带有弹性网卡的唯一标识MAC、块存储的唯一标识UUID;云平台服务与PF设备关联后,在裸金属服务器内加载对应设备类型的内核驱动,可发现并使用该设备,完成裸金属服务器弹性扩容。
2.根据权利要求1所述的一种基于智能网卡的裸金属服务器实现方法,其特征在于:智能网卡A管理裸金属网络设备并接入VPC网络服务,内部运行虚拟交换机OpenvSwitch与网络设备模拟服务net-controller、Neutron-OpenvSwitch-Agent等;智能网卡B管理裸金属存储设备并接入EBS云盘服务,内部运行存储组件SPDK与存储设备模拟服务snap等。
3.根据权利要求1所述的一种基于智能网卡的裸金属服务器实现方法,其特征在于:如果创建的PF设备是静态设备,则让物理机从本地磁盘启动。一般静态PF设备的驱动类型为NVME,物理机可在BIOS硬件启动时自动加载NVME驱动,使静态PF设备成为物理机的本地磁盘。
4.根据权利要求3所述的一种基于智能网卡的裸金属服务器实现方法,其特征在于:如果创建的PF设备是动态设备,则让物理机切换到网卡PXE启动,动态存储设备驱动可以是virtio_blk或NVME,智能网卡的内部PF提供物理机的PXE功能,随后在物理机加载的临时文件系统initrd中,执行自定义的远程卷加载逻辑,如virtio_blk虚拟盘需要加载virtio_blk与virtio_pci驱动,然后操作系统发现virtio_blk盘并作为/dev/vda块设备;修改grub的配置,指定物理机操作系统控制权转交virtio_blk盘,物理机切换根目录到/dev/vda盘。
5.根据权利要求1所述的一种基于智能网卡的裸金属服务器实现方法,其特征在于:针对一台裸金属实例,根据请求类型,将挂载请求路由到不同的智能网卡节点;如果挂载请求中带有弹性网卡的唯一标识MAC,将请求路由到智能网卡A;如果带有块存储的唯一标识UUID,则将请求路由到智能网卡节点B;根据请求,智能网卡A创建网络PF设备,修改设备类型为virtio_net,随后将PF设备挂到Ovs网桥上,由部署在智能网卡A的网络agent完成流表的下发与Ovs port管理,网络包处理与转发由OpenvSwitch完成;根据请求,智能网卡B创建存储PF设备,修改设备类型为virtio_blk,随后由智能网卡B部署的存储组件将远端块存储与PF设备一一关联,网络包与存储协议处理由智能网卡B的硬件与CPU共同完成。
6.一种基于智能网卡的裸金属服务器实现系统,其特征在于:包括金属服务器架构模块、智能网卡制备模块、部署模块以及云平台接入模块;
智能网卡制备模块为金属服务器架构模块和智能网卡制备提供完整的自动化流程,部署模块为金属服务器架构模块提供多种部署方法,云平台接入模块将基于智能网卡的金属服务器架构模块接入云平台服务。
7.根据权利要求6所述的一种基于智能网卡的裸金属服务器实现系统,其特征在于:所述金属服务器架构模块用于为每一台物理机配置有2块智能网卡设备,分别为智能网卡A和智能网卡B,每块智能网卡提供1个千兆网口、2个万兆网口,按照业务需求分别连入不同网络;智能网卡A管理裸金属网络设备并接入VPC网络服务,内部运行虚拟交换机OpenvSwitch与网络设备模拟服务net-controller、Neutron-OpenvSwitch-Agent等;智能网卡B管理裸金属存储设备并接入EBS云盘服务,内部运行存储组件SPDK与存储设备模拟服务snap等。
8.根据权利要求6所述的一种基于智能网卡的裸金属服务器实现系统,其特征在于:所述智能网卡制备模块用于为裸金属上架和智能网卡制备提供完整的自动化流程:
a.完成物理机上架与智能网卡的前置安装;
b.环境中搭建PXE即Preboot Execute Environment预启动执行环境,根据智能网卡与物理机芯片架构,分别提供启动二进制文件、Grub菜单、kernel与initrd;
c.完成智能网卡的制备流程,通过IPMI管理工具让智能网卡进入到PXE启动状态,并启动到临时内存文件系统initrd;在initrd中执行自定义init脚本,完成firmware固件更新、修改PCIBAR参数,然后通过OpenvSwitch创建临时网桥,并将连接到物理机网络设备PF即Physical Function,以下简称PF与外部网络同时连接到临时ovs网桥;
d.继续完成后续的物理机上架流程,由于此时物理机已经与外部环境网络打通,因此紧跟上述流程,完成物理机的PCI硬件设备更新、裸金属节点上报环境的任务;
e.裸金属服务器节点在环境中注册成功后,标识制备流程完成。
9.根据权利要求6所述的一种基于智能网卡的裸金属服务器实现系统,其特征在于:所述部署模块用于环境中准备远端存储,存储后端可以是ceph、iSCSI、NFS、NVME-of,将系统镜像写入远端存储卷中,并记录卷唯一标识;随后智能网卡节点开机,将唯一标识的远端存储卷创建为SPDK backend设备;智能网卡节点内,根据backend设备的标识完成存储设备的创建,通过配置PCI BAR基地址寄存器来创建出1块指定类型PCI PF即Physical Function设备;上述步骤完成后,即可启动物理机,物理机从唯一标识的远端存储卷加载启动文件,完成远程卷启动流程;
如果创建的PF设备是静态设备,则让物理机从本地磁盘启动。一般静态PF设备的驱动类型为NVME,物理机可在BIOS硬件启动时自动加载NVME驱动,使静态PF设备成为物理机的本地磁盘;
如果创建的PF设备是动态设备,则让物理机切换到网卡PXE启动,动态存储设备驱动可以是virtio_blk或NVME,智能网卡的内部PF提供物理机的PXE功能,随后在物理机加载的临时文件系统initrd中,执行自定义的远程卷加载逻辑,如virtio_blk虚拟盘需要加载virtio_blk与virtio_pci驱动,然后操作系统发现virtio_blk盘并作为/dev/vda块设备;修改grub的配置,指定物理机操作系统控制权转交virtio_blk盘,物理机切换根目录到/dev/vda盘。
10.根据权利要求6所述的一种基于智能网卡的裸金属服务器实现系统,其特征在于:所述云平台接入模块用于智能网卡创建热插拔网络/存储设备,根据所需设备类型来修改PCIBAR配置空间,动态为物理机增加或删除PCI PF设备,从而实现裸金属服务器的弹性扩容;云平台发起裸金属实例挂载弹性网卡/块存储的请求,请求中应该带有弹性网卡的唯一标识MAC、块存储的唯一标识UUID;云平台服务与PF设备关联后,在裸金属服务器内加载对应设备类型的内核驱动,可发现并使用该设备,完成裸金属服务器弹性扩容;
针对一台裸金属实例,根据请求类型,将挂载请求路由到不同的智能网卡节点;如果挂载请求中带有弹性网卡的唯一标识MAC,将请求路由到智能网卡A;如果带有块存储的唯一标识UUID,则将请求路由到智能网卡节点B;根据请求,智能网卡A创建网络PF设备,修改设备类型为virtio_net,随后将PF设备挂到Ovs网桥上,由部署在智能网卡A的网络agent完成流表的下发与Ovs port管理,网络包处理与转发由OpenvSwitch完成;根据请求,智能网卡B创建存储PF设备,修改设备类型为virtio_blk,随后由智能网卡B部署的存储组件将远端块存储与PF设备一一关联,网络包与存储协议处理由智能网卡B的硬件与CPU共同完成。
CN202210246084.1A 2022-03-14 2022-03-14 一种基于智能网卡的裸金属服务器实现方法及系统 Pending CN114610447A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210246084.1A CN114610447A (zh) 2022-03-14 2022-03-14 一种基于智能网卡的裸金属服务器实现方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210246084.1A CN114610447A (zh) 2022-03-14 2022-03-14 一种基于智能网卡的裸金属服务器实现方法及系统

Publications (1)

Publication Number Publication Date
CN114610447A true CN114610447A (zh) 2022-06-10

Family

ID=81862106

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210246084.1A Pending CN114610447A (zh) 2022-03-14 2022-03-14 一种基于智能网卡的裸金属服务器实现方法及系统

Country Status (1)

Country Link
CN (1) CN114610447A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115442316A (zh) * 2022-09-06 2022-12-06 南京信易达计算技术有限公司 全栈式高性能计算裸金属管理服务系统及方法
CN115720181A (zh) * 2022-11-18 2023-02-28 济南浪潮数据技术有限公司 裸金属节点的控制方法、系统、电子设备及可读存储介质

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115442316A (zh) * 2022-09-06 2022-12-06 南京信易达计算技术有限公司 全栈式高性能计算裸金属管理服务系统及方法
CN115442316B (zh) * 2022-09-06 2024-02-23 南京信易达计算技术有限公司 全栈式高性能计算裸金属管理服务系统及方法
CN115720181A (zh) * 2022-11-18 2023-02-28 济南浪潮数据技术有限公司 裸金属节点的控制方法、系统、电子设备及可读存储介质

Similar Documents

Publication Publication Date Title
US11487632B2 (en) Techniques for LIF placement in SAN storage cluster synchronous disaster recovery
US10693955B2 (en) Techniques for SAN storage cluster synchronous disaster recovery
US20190334774A1 (en) Automated configuration of switch zones in a switch fabric
US9547624B2 (en) Computer system and configuration management method therefor
US11669360B2 (en) Seamless virtual standard switch to virtual distributed switch migration for hyper-converged infrastructure
US6965951B2 (en) Device centric discovery and configuration for fabric devices
CN114610447A (zh) 一种基于智能网卡的裸金属服务器实现方法及系统
US8533171B2 (en) Method and system for restarting file lock services at an adoptive node during a network filesystem server migration or failover
US7711683B1 (en) Method and system for maintaining disk location via homeness
JP2018500648A (ja) クラスタ間冗長構成におけるスムーズな制御部交代
US20020194407A1 (en) Maintaining fabric device configuration through dynamic reconfiguration
US20240176645A1 (en) Transitioning volumes between storage virtual machines
US8805969B2 (en) HBA boot using network stored information
US9934050B2 (en) System and method for network-based ISCSI boot parameter deployment
IL183950A (en) Operating system migration with minimal storage area network reconfiguration
WO2016043815A1 (en) Coordinated and high availability storage access
US20140108776A1 (en) Information processing apparatus, virtual machine management method, and virtual machine management program
JP2012507766A (ja) オペレーティング・システムの移行の際におけるストレージ・エリア・ネットワーク(「san」)アクセス権の保持
US11467778B2 (en) Creating high availability storage volumes for software containers
US10782889B2 (en) Fibre channel scale-out with physical path discovery and volume move
US8838768B2 (en) Computer system and disk sharing method used thereby
US10747635B1 (en) Establishing quorums on an object-by-object basis within a management system
US10684985B2 (en) Converting storage objects between formats in a copy-free transition
US9983810B2 (en) Avoiding data loss in a copy-free transition of storage objects
TWI652919B (zh) 自動組合資料中心資源的方法及自動組合資料中心資源的系統

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination