CN111200527A - 一种基于ironic的裸机自动发现和部署的方法 - Google Patents
一种基于ironic的裸机自动发现和部署的方法 Download PDFInfo
- Publication number
- CN111200527A CN111200527A CN201911409723.6A CN201911409723A CN111200527A CN 111200527 A CN111200527 A CN 111200527A CN 201911409723 A CN201911409723 A CN 201911409723A CN 111200527 A CN111200527 A CN 111200527A
- Authority
- CN
- China
- Prior art keywords
- server
- network
- ironic
- deployment
- configuration
- 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.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0876—Aspects of the degree of configuration automation
- H04L41/0886—Fully automatic configuration
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
- H04L41/0813—Configuration setting characterised by the conditions triggering a change of settings
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/50—Address allocation
- H04L61/5046—Resolving address allocation conflicts; Testing of addresses
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/50—Address allocation
- H04L61/5061—Pools of addresses
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Automation & Control Theory (AREA)
- Stored Programmes (AREA)
Abstract
本发明提供一种基于ironic的裸机自动发现和部署的方法,涉及云计算技术领域,本发明通过拓展Openstack Ironic的接口,实现了standalone模式下,IPMI地址和网络的动态配置,进而实现了对裸机IP的动态配置,支持legacy和uefi等不同形式的网络启动方式。实现了裸机的可控部署。
Description
技术领域
本发明涉及云计算技术,尤其涉及一种基于ironic的裸机自动发现和部署的方法。
背景技术
随着数据中心规模的不断的增加,手动部署和管理服务器变的越来越困难,数据中心需要有一种可控的自动化部署的方式来支持快速的部署和管理。Openstack Ironic提供了一个裸机管理方案,可以实现自动化的部署。但是存在模式下存在几个问题,1)和其他组件有较强的耦合关系,部署复杂且组件多,占用空间2)原生的standalone模式有网络等的限制3)服务器出场时有时没有配置IPMI信息,而需手动对IPMI进行配置,容易出错,且效率比较低4)没有提供原生的网络支持,管理员只能通过手动部署dhcp服务器的方式,对IP进行管理,当IP数量多的时候进行配置和修改都将非常复杂,且容易出错。
Ironic是Openstack项目中用于裸机部署和管理的组件,但是其部署依赖于对预先对服务器的ipmi地址、用户名和密码等信息的配置,同时由于其本身不提供网络功能,需要使用第三方的插件,如neutron来配置网络,故在独立(standalone)部署的模式下,缺乏原生的对IP地址等关键信息的配置能力,而对于数据中心,一般会对服务其的IP地址进行精确的规划,这就造成需要在部署之后手动进行IP地址的修正,而配置IP地址的工作不仅耗时、易出错,且有可能导致由于地址冲突引发的终端问题,所以需要有一种自动化的方法对其进行控制,减少手动配置的缓解,并提高部署的效率。
由于服务器没有预装操作系统,需要通过网卡的PXE功能启动一个临时的基于内存的操作系统,这也就要求网络插件在满足提供IP地址的前提下,能够支持PXE启动,且随着技术的进步原始的legacy网络启动的方式,正在被更安全的、快速的UEFI启动的方式所取代,这就一方面要求网络插件能够支持传统的网络启动,另一方面,如果服务器中有使用UEFI启动的服务器,也要能够支持他们的启动。基于这些方面的考虑,需要对ironic的功能进行拓展,使其能够满足自动化部署的需要。
发明内容
为了解决以上技术问题,本发明提出了一种基于ironic的裸机自动发现和部署的方法,通过拓展Openstack Ironic的接口,实现了standalone模式下,IPMI地址和网络的动态配置,进而实现了对裸机IP的动态配置,支持legacy和uefi等不同形式的网络启动方式。实现了裸机的可控部署。
拓展ironic的网络接口,自动化ipmi的配置,实现1)自动化部署过程中对服务器ip地址的可控配置2)自动化初始ipmi信息的配置工作3)支持通过网络启动iso的方式,安装操作系统。
本发明的技术方案是:
一种基于ironic的裸机自动发现和部署的装置。包括以下步骤:
(1)动态的创建网络,并指定网络的CIDR,动态和静态地址池,及dns名服务器等信息。
(2)配置默认的syslinux和grub的配置文件,以支持ironic的在legacy boot和uefi启动情况下的自动发现。
(3)ironic-python-agent中的代码会调用inspector API的接口获取配置了的服务器的IPMI地址信息,并进行配置操作。
(4)在第一次启动的时候,将服务器配置为从网络启动,并按下电源键开机或重启服务器。
(5)待发现完成之后,针对ironic的port对象,创建一个相关的端口,并添加其使用的网络和IP地址信息。
(6)制作部署服务器所需要的启动内核和文件系统。
(7)配置部署所需的参数,如preseed文件的位置,启动盘的盘符和网卡的名称,镜像源的位置等配置到node和port对象上。
所述步骤(1)管理员调用接口创建网络,不需要手动配置dns服务。
所述步骤(2)针对不同的网络启动方式配置不同的默认的配置文件,其中对于legacy boot的情况需要配置pxelinux.cfg下的default文件;对于uefi的网络启动,因为用到了grub2,所以需要配置grub下的grub.cfg文件。
所述步骤(3)ironic python agent会回调ipmi的配置信息接口,获取服务器的ipmi信息,如果不同或还未进行配置则进行配置操作
所述步骤(4)在第一次部署的时候,需要保证服务器是从网络启动的,如果服务器有默认的操作系统,需要登陆到bios中,对启动盘进行配置,保证从服务器从网络启动
所述步骤(5)当ironic服务器发现完成之后,会创建node和port对象,对部署需要的port,调用api为其绑定到指定的网络,并配置IP地址
所述步骤(6)针对不同的部署方式,需要制作启动的内核和文件系统。如果是通过iso启动,可能直接在官网上下载netboot.tar.gz文件,并解压获取其内容。
所述步骤(7)为node配置启动所需要的内容,如对iso网络启动的情况,需要配置部署网卡的名称,preseed文件的位置和启动盘名称等内容。
本发明的有益效果是
1)支持自动化的配置IPMI地址2)支持创建网络3)支持创建端口,端口和物理的pxe网卡相对应,支持配置静态的网卡IP地址4)支持网络配置的修改,当管理员需要修改IP地址段的时候,可以更新网络的配置,不需要手动修改配置文件。5)支持多种网络启动方式,uefi和legacy都可已支持5)支持多种部署的方式,既支持通过镜像的方式安装,另外也可以支持通过iso的方式安装操作系统,有较高的灵活性。
附图说明
图1是本发明的工作流程示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的一种基于ironic的裸机自动发现和部署的方法,步骤描述如下
1、创建ironic网络,并正确的配置网络的CIDR,静态地址池和动态地址池以及名服务器等参数
2、部署tftp服务器,部署安装有改造后的ironic-python-agent的initramfs。
3、配置syslinux的default配置文件,配置grub2的grub.cfg配置文件,指向改造后的内核和文件系统
4、将所有服务器的默认启动项设置为从网络启动,并按下电源键进行启动或重启。
5、当物理机发现成功后,调用ironic的API查看发现的服务器及其网卡的信息,找到部署所需的网卡,并调用api创建一个端口,并为其分配网络和IP地址。
6、配置ironic的node,将启动所需要的preseed文件的位置、网卡的名称等内容,配置到node的属性里。
7、获取网络iso部署所需要的kernel和initrd文件,并将启动的内核和文件系统相应的配置好。
8、调用ironic的部署指令,进行部署。部署成功后,节点的IP地址为第5步所配置的IP地址。
本发明支持自动化的网络的创建,网络的配置更加灵活可控,避免了复杂且重复动作较多的手动dhcp服务器的配置工作。
支持动态的配置网络的参数,如修改动态或静态的ip地址池,修改网络所在的网卡。
服务器的IP地址可控,一方面避免了复杂的静态IP地址的配置,另一方面也不会出现因为dhcp启动所导致的IP地址不可控的问题,管理员可以方便的使用需要的IP地址。
可以更方便的查看系统已经分配的IP地址,系统由更好的可见性。传统的手动dhcp配置不方便查看已用和可用的IP地址的情况,通过使用新的网络接口,可以更方便的观察网络的使用情况。
原生的支持ironic的网络接口,原生的支持ironic所有网络部署方式,代码的侵入性低,不需要修改其他的代码。
支持ironic的standalone模式的部署,避免引入其他的插件,安装方式简单,降低了安装的时间,同时也裁剪了不需要的功能。
以上所述仅为本发明的较佳实施例,仅用于说明本发明的技术方案,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所做的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
Claims (8)
1.一种基于ironic的裸机自动发现和部署的方法,其特征在于,
主要包括如下步骤:
1)动态的创建网络,并指定网络的CIDR,动态和静态地址池,及dns名服务器;
2)配置默认的syslinux和grub的配置文件,以支持ironic的在legacy boot和uefi启动情况下的自动发现;
3)ironic-python-agent中的代码调用inspector API的接口获取配置服务器的IPMI地址信息,并进行配置操作;
4)在第一次启动的时候,将服务器配置为从网络启动,并按下电源键开机或重启服务器;
5)待发现完成之后,针对ironic的port对象,创建一个相关的端口,并添加其使用的网络和IP地址信息;
6)制作部署服务器所需要的启动内核和文件系统;
7)将配置部署所需的参数配置到node和port对象上。
2.根据权利要求1所述的方法,其特征在于,
所述步骤1)中,调用接口创建网络,不需要手动配置dns服务。
3.根据权利要求1所述的方法,其特征在于,
在步骤2)中,针对不同的网络启动方式配置不同的默认的配置文件。
4.根据权利要求3所述的方法,其特征在于,
对于legacy boot的情况需要配置pxelinux.cfg下的default文件;对于uefi的网络启动,需要配置grub下的grub.cfg文件。
5.根据权利要求1所述的方法,其特征在于,
所述步骤3)中,ironic python agent会回调ipmi的配置信息接口,获取服务器的ipmi信息,如果不同或还未进行配置则进行配置操作。
6.根据权利要求1所述的方法,其特征在于,
所述步骤4)中,在第一次部署的时候,如果服务器有默认的操作系统,需要登陆到bios中,对启动盘进行配置,保证从服务器从网络启动。
7.根据权利要求1所述的方法,其特征在于,
所述步骤5)当ironic服务器发现完成之后,创建node和port对象,对部署需要的port,调用api为其绑定到指定的网络,并配置IP地址。
8.根据权利要求1所述的方法,其特征在于,
所述步骤6)针对不同的部署方式,需要制作启动的内核和文件系统;如果是通过iso启动,直接在官网上下载netboot.tar.gz文件,并解压获取其内容。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911409723.6A CN111200527B (zh) | 2019-12-31 | 2019-12-31 | 一种基于ironic的裸机自动发现和部署的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911409723.6A CN111200527B (zh) | 2019-12-31 | 2019-12-31 | 一种基于ironic的裸机自动发现和部署的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111200527A true CN111200527A (zh) | 2020-05-26 |
CN111200527B CN111200527B (zh) | 2023-04-18 |
Family
ID=70747638
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911409723.6A Active CN111200527B (zh) | 2019-12-31 | 2019-12-31 | 一种基于ironic的裸机自动发现和部署的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111200527B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111813419A (zh) * | 2020-07-09 | 2020-10-23 | 浪潮云信息技术股份公司 | 一种基于kubernetes声明式管理裸机生命周期的方法 |
CN113419815A (zh) * | 2021-05-28 | 2021-09-21 | 济南浪潮数据技术有限公司 | 一种预启动运行环境装机的方法、系统、设备及介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103297504A (zh) * | 2013-05-09 | 2013-09-11 | 浙江大学 | 一种云数据中心中物理裸机快速部署操作系统的方法 |
CN105607903A (zh) * | 2015-12-15 | 2016-05-25 | 国云科技股份有限公司 | 一种部署openstack组件的方法 |
-
2019
- 2019-12-31 CN CN201911409723.6A patent/CN111200527B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103297504A (zh) * | 2013-05-09 | 2013-09-11 | 浙江大学 | 一种云数据中心中物理裸机快速部署操作系统的方法 |
CN105607903A (zh) * | 2015-12-15 | 2016-05-25 | 国云科技股份有限公司 | 一种部署openstack组件的方法 |
Non-Patent Citations (1)
Title |
---|
魏苗等: "定制initrd,网络安装Linux", 《福建电脑》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111813419A (zh) * | 2020-07-09 | 2020-10-23 | 浪潮云信息技术股份公司 | 一种基于kubernetes声明式管理裸机生命周期的方法 |
CN111813419B (zh) * | 2020-07-09 | 2024-04-16 | 浪潮云信息技术股份公司 | 一种基于kubernetes声明式管理裸机生命周期的方法 |
CN113419815A (zh) * | 2021-05-28 | 2021-09-21 | 济南浪潮数据技术有限公司 | 一种预启动运行环境装机的方法、系统、设备及介质 |
CN113419815B (zh) * | 2021-05-28 | 2022-04-22 | 济南浪潮数据技术有限公司 | 一种预启动运行环境装机的方法、系统、设备及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111200527B (zh) | 2023-04-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
RU2417415C2 (ru) | Способ и система развертывания программного обеспечения, сервер развертывания программного обеспечения и пользовательский сервер | |
CN110495136B (zh) | 裸金属服务器的硬件属性发现方法和系统 | |
US6684327B1 (en) | Extensible, flexible, memory efficient technique for network boot without special DHCP/PXE hardware | |
US6810478B1 (en) | System for remote booting of muntliple operating systems using chained bootstrap mechanism in a network | |
CN109558212B (zh) | 一种物理设备的虚拟化管理方法、系统、物理设备及介质 | |
US8312115B2 (en) | Network booting apparatus and method | |
US6269371B1 (en) | Computer system, and file resources switching method applied to computer system | |
US7139816B2 (en) | Method, apparatus, and program for server based network computer load balancing across multiple boot servers | |
CN106911729B (zh) | 一种适用于国产处理器的操作系统远程安装方法 | |
US20100325410A1 (en) | System and method for management and installation of operating system images for computers | |
CN104639378A (zh) | 一种基于pxe的服务器自动化部署方法 | |
CN103984575A (zh) | 一种云计算环境下集群Linux操作系统快速部署方法 | |
CN106657444B (zh) | 一种配置bmc的ip地址的方法及装置 | |
CN102457541A (zh) | 无盘工作站启动过程中避免发生资源竞争的系统及方法 | |
CN107391193A (zh) | 一种客户端、配置服务器的系统和方法 | |
CN112328262A (zh) | 操作系统的部署方法、系统、装置及电子设备 | |
CN111475172B (zh) | 一种裸机部署方法及装置 | |
CN112615747B (zh) | 一种网络设备自动部署配置的方法及装置 | |
CN111200527B (zh) | 一种基于ironic的裸机自动发现和部署的方法 | |
CN112130917A (zh) | 远程加载系统镜像方法 | |
CN103200271A (zh) | Arm服务器及其自动化安装系统的方法 | |
US10282346B1 (en) | Scalable network device self-configuration in large networks | |
CN103049295A (zh) | 一种龙芯平台Linux操作系统网络安装方法 | |
CN110928554A (zh) | 一种部署方法、装置、设备及存储介质 | |
CN113632064A (zh) | 具有读高速缓存的供应服务(pvs)云流送 |
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 | ||
CB02 | Change of applicant information |
Address after: 250100 No. 1036 Tidal Road, Jinan High-tech Zone, Shandong Province, S01 Building, Tidal Science Park Applicant after: Inspur cloud Information Technology Co.,Ltd. Address before: 250100 No. 1036 Tidal Road, Jinan High-tech Zone, Shandong Province, S01 Building, Tidal Science Park Applicant before: Tidal Cloud Information Technology Co.,Ltd. |
|
CB02 | Change of applicant information | ||
GR01 | Patent grant | ||
GR01 | Patent grant |