CN109144607A - 一种大规模服务器自动部署和配置方法 - Google Patents
一种大规模服务器自动部署和配置方法 Download PDFInfo
- Publication number
- CN109144607A CN109144607A CN201810886323.3A CN201810886323A CN109144607A CN 109144607 A CN109144607 A CN 109144607A CN 201810886323 A CN201810886323 A CN 201810886323A CN 109144607 A CN109144607 A CN 109144607A
- Authority
- CN
- China
- Prior art keywords
- server
- configuration
- cfg
- file
- pxelinux
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44505—Configuring for program initiating, e.g. using registry, configuration files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4406—Loading of operating system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4416—Network booting; Remote initial program loading [RIPL]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44568—Immediately runnable code
- G06F9/44578—Preparing or optimising for loading
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了一种大规模服务器自动部署和配置方法,传统的服务器要达到可上线状态,需要通过刻录下***光盘或者U盘,然后插到服务器上,开机启动服务器,进入安装界面,通过点击下一步以及需要配置的地方做一些变更,直到操作***安装完毕。本发明适应大批量节点的同时快速部署,结合PXE实现自动部署,并在自动部署好后,同时将服务器更新***和业务配置,达到可上线状态,最后通知调度服务器,告知服务器已部署和配置完毕,进行上线,实现了服务器从部署到可上线能够快速自动化解决。
Description
技术领域
本发明涉及服务器部署和升级技术领域,特别是一种大规模服务器自动部署和配置方法。
背景技术
随着目前互联网的普及,云服务随处可见,但是本质还是依赖这些实体物理机。而现在新增服务器,动辄数百上千台,如果按照传统的实施人员部署***,再到交付给业务部门安装服务和配置服务,最后上线服务器,不但人力成本大,而且还需要经过漫长的时间周期。
传统的服务器要达到可上线状态,需要通过刻录下***光盘或者U盘,然后插到服务器上,开机启动服务器,进入安装界面,通过点击下一步以及需要配置的地方做一些变更,直到操作***安装完毕。部署完毕后交付给业务部门,安装必须的基础服务和业务服务,并手工针对各服务相应的配置,达到可上线状态,最后上线。
在上面安装操作***的过程中,伴随着大量的点击下一步以及重复性的配置,比如磁盘分区,以及每个区多大的空间等。在操作***部署完后,伴随着每台机器都需要安装同样的基础服务和业务服务软件,并做配置修改。在这种情况下,如果只部署一两台是一个可接受的方案,但是随着现在服务器的部署规模越来越大,这种常规的方案会导致部署实施人员做大量重复性的操作,人力和时间成本都太高。而在服务器部署完毕后,需要由部署实施人员再交付给业务运维人员,部署和配置相关的业务服务,配置完毕后上线服务器。交付周期也因沟通对接需要一定时间。
相关技术术语
SaltStack:是一个C/S结构的配置管理工具,通过在服务端编写配置模板,受管理的客户端可以执行客户端命令(salt-call)安装指定服务、更新客户端服务器上指定的配置并显示变更内容,对比文件的哈希值等操作;
PXE:即Preboot Execution Environment,一种使用网络接口启动计算机的机制,通过pxelinux.0和编写的pxelinux.cfg,以及内核文件vmlinuz和根文件***initrd,按指定的方式启动一个最小化的***,加载于内存之中,一般用于安装***到磁盘上;
DHCP服务:动态主机设置协议(Dynamic Host Configuration Protocol,DHCP),用于内部网络自动分配IP地址给用户;同时可以配置filename配置项指定启动引导文件,允许通过网络启动的主机下载此文件来引导服务器启动;
TFTP:即Trivial File Transfer Protocol,简单文件传输协议,配合PXE和DHCP,提供启动引导文件的下载;
kickstart:配合PXE,提供无人值守安装***,通过将***安装时如Ubuntu安装,需要选择国家、磁盘分区、安装服务等操作编写为脚本,实现无需人工操作的自动化安装;
ipmi:Intelligent Platform Management Interface,智慧平台管理接口,基于Intel架构的开放免费标准,可以让用户远程服务服务器(如开关机、以及获取服务器的基础信息如风扇工作状态等);
API:应用程序接口,即平台提供接口,访问接口触发相应的操作;
运维平台:维护服务器的信息,可供查询获取相应信息;同时管理服务器的上下线等。
发明内容
本发明所要解决的技术问题是提供一种大规模服务器自动部署和配置方法,结合PXE实现自动部署,并在自动部署好后,同时将服务器更新***和业务配置,达到可上线状态;最后通知调度服务器,告知服务器已部署和配置完毕,进行上线。
为解决上述技术问题,本发明采用的技术方案是:
一种大规模服务器自动部署和配置方法,包括以下步骤:
步骤1:启动同一个局域网下待部署的全部服务器,自动通过PXE引导启动;
步骤2:服务器通过PXE启动,主动向局域网内DHCP服务请求获取IP和pxelinux.0网络引导文件的地址;
步骤3:根据获取到的pxelinux.0网络引导文件的地址,向TFTP服务器请求pxelinux.0引导文件和pxelinux.cfg配置文件,然后根据pxelinux.cfg配置文件,通过TFTP获取内核文件进行内核引导,启动一个运行在内存中的精简***;
步骤4:根据pxelinux.cfg配置文件向HTTP服务器获取ks.cfg,根据ks.cfg中的指令内容自动化安装***,所述ks.cfg为kickstart配置文件;
步骤5:在ks.cfg的安装完成指令之后指定安装完基础***后续的操作,通过运维平台查询,根据待部署服务器的网卡MAC地址,执行salt-call命令向SaltStack服务端请求,salt-call命令会根据StackStack服务端的配置安装相应的服务以及更新***和服务配置,此时待部署服务器上的所有软件及配置和线上的服务器达到一致的状态。
进一步的,所述步骤1还包括:若被管理服务器支持ipmi,则通过ipmitool管理工具远程开机启动。
进一步的,还包括步骤6:salt-call命令执行完毕后,向运维平台发送请求,请求内容即告知服务器已部署完毕,运维平台则将服务器自动上线。
与现有技术相比,本发明的有益效果是:1)适合针对大批量的机器,通过PXE方式实现自动化部署服务器,减少重复的人力成本和时间成本;2)因为在自动化部署完成后,通过saltstack配置管理平台,做到自动化的配置服务器;3)在配置完成后,通过运维管理平台,待部署机器自身做上报,表明自己可以配置完成,可以上线;4)整体又可以减少从实施部门到业务部门漫长的沟通时间成本,实现从部署到可上线的一个快速自动化解决。
附图说明
图1是本发明一种大规模服务器自动部署和配置方法流程示意图。
具体实施方式
下面结合附图和具体实施方式对本发明作进一步详细的说明,具体如下:
1、同一个局域网下待部署服务器全部开机(如果被管理服务器支持ipmi,则可以通过ipmitool管理工具远程开机启动),因为磁盘无***,会自动尝试通过PXE引导启动。
2、服务器通过PXE启动,主动向局域网内DHCP服务请求获取IP,和pxelinux.0网络引导文件的地址。
3、根据获取到的pxelinux.0引导文件地址,像TFTP服务器请求pxelinux.0引导文件和pxelinux.cfg配置文件,然后根据pxelinux.cfg配置,通过TFTP获取内核文件进行内核引导,启动一个运行在内存中的精简***。
4、根据pxelinux.cfg配置文件向HTTP服务器获取ks.cfg(kickstart配置文件),根据ks.cfg中的指令内容自动化安装***。
5、在ks.cfg的安装完成指令之后可以指定安装完基础***后续的操作,此时通过运维平台查询,根据待部署服务器的网卡MAC地址,执行salt-call命令向SaltStack服务端请求,salt-call命令会根据StackStack服务端的配置安装相应的服务以及更新***和服务配置,此时待部署机器上的所有软件及配置和线上的机器达到一致的状态。
6、salt-call命令执行完毕后,向运维平台发送请求,请求内容即告知服务器已部署完毕,运维平台则可将服务器自动上线。
下面给出一些核心文件的内容:
pxelinux.cfg:
DEFAULT menu.c32
MENU TITLE PXE
prompt 0
#Timeout in units of 1/10s
TIMEOUT 100
LABEL Ubuntu/12.04
MENU LABEL Ububtu/12.04
KERNEL linux
APPEND vga=normal initrd=initrd.gz ks=http://192.168.0.1/ubuntu/12.04/ks.cfg
ks.cfg:
#选择语言
lang en_US.UTF-8
#选择键盘模式
keyboard us
#配置root用户密码
rootpw--iscrypted***
...
#选择安装的操作***镜像地址
install
url--url http://192.168.0.1/ubuntu/12.04/
#引导方式
bootloader--location=mbr
...
#分区
part/--fstype=ext3--size=20480--asprimary
reboot
...
#安装指定的软件包
%packages
openssh-server
ubuntu-minimal
...
#安装完毕后执行的操作
%post
salt-call state.highstate
curl http://ops-opserver/api/token/online
其中,最后salt-call state.highstate向saltstack服务器请求配置管理,saltstack服务器会根据当前请求服务器的mac地址判断提供的相应配置。
向运维平台提供的API接口发起请求,运维平台可根据请求标识该机器目前已经配置完毕,可以上线。例如,运维平台通过数据库维护服务器的上下线状态,每个服务器一条记录,其中一个字段维护服务器是上线还是下线,初始情况都是下线,向上线API发起请求后,应用程序即可更新数据库中相应记录的此字段,使服务器标记为可上线状态。
Claims (3)
1.一种大规模服务器自动部署和配置方法,其特征在于,包括以下步骤:
步骤1:启动同一个局域网下待部署的全部服务器,自动通过PXE引导启动;
步骤2:服务器通过PXE启动,主动向局域网内DHCP服务请求获取IP和pxelinux.0网络引导文件的地址;
步骤3:根据获取到的pxelinux.0网络引导文件的地址,向TFTP服务器请求pxelinux.0引导文件和pxelinux.cfg配置文件,然后根据pxelinux.cfg配置文件,通过TFTP获取内核文件进行内核引导,启动一个运行在内存中的精简***;
步骤4:根据pxelinux.cfg配置文件向HTTP服务器获取ks.cfg,根据ks.cfg中的指令内容自动化安装***,所述ks.cfg为kickstart配置文件;
步骤5:在ks.cfg的安装完成指令之后指定安装完基础***后续的操作,通过运维平台查询,根据待部署服务器的网卡MAC地址,执行salt-call命令向SaltStack服务端请求,salt-call命令会根据StackStack服务端的配置安装相应的服务以及更新***和服务配置,此时待部署服务器上的所有软件及配置和线上的服务器达到一致的状态。
2.如权利要求1所述的一种大规模服务器自动部署和配置方法,其特征在于,所述步骤1还包括:若被管理服务器支持ipmi,则通过ipmitool管理工具远程开机启动。
3.如权利要求1所述的一种大规模服务器自动部署和配置方法,其特征在于,还包括步骤6:
salt-call命令执行完毕后,向运维平台发送请求,请求内容即告知服务器已部署完毕,运维平台则将服务器自动上线。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810886323.3A CN109144607A (zh) | 2018-08-06 | 2018-08-06 | 一种大规模服务器自动部署和配置方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810886323.3A CN109144607A (zh) | 2018-08-06 | 2018-08-06 | 一种大规模服务器自动部署和配置方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109144607A true CN109144607A (zh) | 2019-01-04 |
Family
ID=64791964
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810886323.3A Pending CN109144607A (zh) | 2018-08-06 | 2018-08-06 | 一种大规模服务器自动部署和配置方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109144607A (zh) |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109885398A (zh) * | 2019-01-16 | 2019-06-14 | 上海云轴信息科技有限公司 | 分布式pxe服务器的分配方法和设备 |
CN109992311A (zh) * | 2019-03-25 | 2019-07-09 | 新华三技术有限公司 | 操作***的启动方法、装置、存储介质及客户端 |
CN110098952A (zh) * | 2019-03-25 | 2019-08-06 | 同盾控股有限公司 | 一种服务器的管理方法和装置 |
CN110399144A (zh) * | 2019-08-01 | 2019-11-01 | 山东超越数控电子股份有限公司 | 一种银河麒麟V4操作***下PXE server的配置方法 |
CN111683145A (zh) * | 2020-06-08 | 2020-09-18 | 中国工商银行股份有限公司 | 客户端设备的配置方法、客户端设备、电子设备和介质 |
CN112152845A (zh) * | 2020-09-11 | 2020-12-29 | 苏州浪潮智能科技有限公司 | 一种基于pmon通过网络自动加载***的方法 |
CN112181533A (zh) * | 2020-10-16 | 2021-01-05 | 富盛科技股份有限公司 | 一种自动化部署安防服务器方法及*** |
CN113407202A (zh) * | 2021-06-29 | 2021-09-17 | 浪潮软件科技有限公司 | 一种基于云计算平台的pxe异构集群安装方法 |
CN113568791A (zh) * | 2021-07-14 | 2021-10-29 | 麒麟软件有限公司 | 一种基于多cpu架构的服务器操作***自动化测试工具及方法 |
CN113900722A (zh) * | 2021-10-21 | 2022-01-07 | 深圳忆联信息***有限公司 | 信创平台的自动化布署方法、装置、计算机设备及存储介质 |
CN115037723A (zh) * | 2022-06-06 | 2022-09-09 | 中邮信息科技(北京)有限公司 | 全链路***自主交付方法、装置、电子设备及存储介质 |
CN116431230A (zh) * | 2023-04-11 | 2023-07-14 | 合芯科技有限公司 | 一种操作***部署方法、装置、计算机设备及存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101546270A (zh) * | 2009-05-08 | 2009-09-30 | 阿里巴巴集团控股有限公司 | 一种Linux操作***的自动安装方法、装置及*** |
CN101820387A (zh) * | 2010-02-08 | 2010-09-01 | 北京航空航天大学 | 一种易扩展的快速机群部署方法 |
CN104113430A (zh) * | 2014-02-13 | 2014-10-22 | 西安未来国际信息股份有限公司 | 一种云计算数据中心自动化部署软件架构设计 |
CN104639378A (zh) * | 2015-03-10 | 2015-05-20 | 浪潮集团有限公司 | 一种基于pxe的服务器自动化部署方法 |
CN105959134A (zh) * | 2016-04-22 | 2016-09-21 | 汉柏科技有限公司 | 基于pxe的自动安装部署方法、pxe服务器 |
CN107391092A (zh) * | 2016-05-16 | 2017-11-24 | 北京京东尚科信息技术有限公司 | 自动部署关联软件的方法和*** |
CN107707415A (zh) * | 2017-11-23 | 2018-02-16 | 成都知道创宇信息技术有限公司 | 一种基于SaltStack的服务器配置自动监控与告警方法 |
-
2018
- 2018-08-06 CN CN201810886323.3A patent/CN109144607A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101546270A (zh) * | 2009-05-08 | 2009-09-30 | 阿里巴巴集团控股有限公司 | 一种Linux操作***的自动安装方法、装置及*** |
CN101820387A (zh) * | 2010-02-08 | 2010-09-01 | 北京航空航天大学 | 一种易扩展的快速机群部署方法 |
CN104113430A (zh) * | 2014-02-13 | 2014-10-22 | 西安未来国际信息股份有限公司 | 一种云计算数据中心自动化部署软件架构设计 |
CN104639378A (zh) * | 2015-03-10 | 2015-05-20 | 浪潮集团有限公司 | 一种基于pxe的服务器自动化部署方法 |
CN105959134A (zh) * | 2016-04-22 | 2016-09-21 | 汉柏科技有限公司 | 基于pxe的自动安装部署方法、pxe服务器 |
CN107391092A (zh) * | 2016-05-16 | 2017-11-24 | 北京京东尚科信息技术有限公司 | 自动部署关联软件的方法和*** |
CN107707415A (zh) * | 2017-11-23 | 2018-02-16 | 成都知道创宇信息技术有限公司 | 一种基于SaltStack的服务器配置自动监控与告警方法 |
Non-Patent Citations (1)
Title |
---|
谢涛: "云环境下数据中心自动部署***", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109885398B (zh) * | 2019-01-16 | 2020-10-13 | 上海云轴信息科技有限公司 | 分布式pxe服务器的分配方法和设备 |
CN109885398A (zh) * | 2019-01-16 | 2019-06-14 | 上海云轴信息科技有限公司 | 分布式pxe服务器的分配方法和设备 |
CN110098952B (zh) * | 2019-03-25 | 2021-08-20 | 同盾控股有限公司 | 一种服务器的管理方法和装置 |
CN109992311A (zh) * | 2019-03-25 | 2019-07-09 | 新华三技术有限公司 | 操作***的启动方法、装置、存储介质及客户端 |
CN110098952A (zh) * | 2019-03-25 | 2019-08-06 | 同盾控股有限公司 | 一种服务器的管理方法和装置 |
CN110399144A (zh) * | 2019-08-01 | 2019-11-01 | 山东超越数控电子股份有限公司 | 一种银河麒麟V4操作***下PXE server的配置方法 |
CN111683145A (zh) * | 2020-06-08 | 2020-09-18 | 中国工商银行股份有限公司 | 客户端设备的配置方法、客户端设备、电子设备和介质 |
CN112152845A (zh) * | 2020-09-11 | 2020-12-29 | 苏州浪潮智能科技有限公司 | 一种基于pmon通过网络自动加载***的方法 |
CN112181533A (zh) * | 2020-10-16 | 2021-01-05 | 富盛科技股份有限公司 | 一种自动化部署安防服务器方法及*** |
CN113407202A (zh) * | 2021-06-29 | 2021-09-17 | 浪潮软件科技有限公司 | 一种基于云计算平台的pxe异构集群安装方法 |
CN113568791A (zh) * | 2021-07-14 | 2021-10-29 | 麒麟软件有限公司 | 一种基于多cpu架构的服务器操作***自动化测试工具及方法 |
CN113900722A (zh) * | 2021-10-21 | 2022-01-07 | 深圳忆联信息***有限公司 | 信创平台的自动化布署方法、装置、计算机设备及存储介质 |
CN115037723A (zh) * | 2022-06-06 | 2022-09-09 | 中邮信息科技(北京)有限公司 | 全链路***自主交付方法、装置、电子设备及存储介质 |
CN116431230A (zh) * | 2023-04-11 | 2023-07-14 | 合芯科技有限公司 | 一种操作***部署方法、装置、计算机设备及存储介质 |
CN116431230B (zh) * | 2023-04-11 | 2023-11-24 | 合芯科技有限公司 | 一种操作***部署方法、装置、计算机设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109144607A (zh) | 一种大规模服务器自动部署和配置方法 | |
US9928041B2 (en) | Managing a software appliance | |
US9798881B2 (en) | Dynamic feature enhancement in client server applications and high volume server deployment with dynamic app store integration | |
JP5362974B2 (ja) | ソフトウェア製品の出荷用仮想化ソフトウェアの使用方法 | |
US8458658B2 (en) | Methods and systems for dynamically building a software appliance | |
US8892700B2 (en) | Collecting and altering firmware configurations of target machines in a software provisioning environment | |
US9465625B2 (en) | Provisioning of operating environments on a server in a networked environment | |
JP6058628B2 (ja) | マルチノードアプリケーションのデプロイメント・システム | |
US8402123B2 (en) | Systems and methods for inventorying un-provisioned systems in a software provisioning environment | |
US8935687B2 (en) | Incrementally updating a software appliance | |
CN106911729B (zh) | 一种适用于国产处理器的操作***远程安装方法 | |
EP0592079A2 (en) | Automated software installation and operating environment configuration on a computer system | |
US8924920B2 (en) | Providing a software appliance based on a role | |
US20120102103A1 (en) | Running legacy applications on cloud computing systems without rewriting | |
EP2019358A1 (en) | A method and a system for the creation and deployment of a virtual machine appliance on virtualised servers | |
US20150271014A1 (en) | Automatic configuration of new components by infrastructure management software | |
US20100217944A1 (en) | Systems and methods for managing configurations of storage devices in a software provisioning environment | |
CN103297504A (zh) | 一种云数据中心中物理裸机快速部署操作***的方法 | |
CN105656646A (zh) | 一种虚拟网元的部署方法及装置 | |
CN104113430A (zh) | 一种云计算数据中心自动化部署软件架构设计 | |
CN104572372A (zh) | 一种服务器性能测试环境搭建***及方法 | |
CN107483243A (zh) | 一种OpenStack平台的自动部署方法及设备 | |
CN102662884A (zh) | 一种基于网络的设备驱动程序配置方法 | |
CN112130917A (zh) | 远程加载***镜像方法 | |
US7882232B2 (en) | Rapid resource provisioning with automated throttling |
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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190104 |