CN107193737A - 一种自动化搭建pxe测试环境的方法 - Google Patents

一种自动化搭建pxe测试环境的方法 Download PDF

Info

Publication number
CN107193737A
CN107193737A CN201710358167.9A CN201710358167A CN107193737A CN 107193737 A CN107193737 A CN 107193737A CN 201710358167 A CN201710358167 A CN 201710358167A CN 107193737 A CN107193737 A CN 107193737A
Authority
CN
China
Prior art keywords
echo
dhcp
yum
dhcpd
nfs
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
CN201710358167.9A
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.)
Zhengzhou Yunhai Information Technology Co Ltd
Original Assignee
Zhengzhou Yunhai 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 Zhengzhou Yunhai Information Technology Co Ltd filed Critical Zhengzhou Yunhai Information Technology Co Ltd
Priority to CN201710358167.9A priority Critical patent/CN107193737A/zh
Publication of CN107193737A publication Critical patent/CN107193737A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3664Environments for testing or debugging software

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

本发明公开了一种自动化搭建PXE测试环境的方法,该方法是基于Linux下的shell脚本来运行搭建的,在shell环境下运用脚本自动化的快速搭建PXE测试环境。本发明的一种自动化搭建PXE测试环境的方法和现有技术相比,对于大批量安装系统具有深远意义,通过这个自动化的环境配置脚本,能够在短时间内快速的配置好PXE环境,进而为接下来的测试和生产提供一个大的环境基础,缩短了人工配置的时间和误差。

Description

一种自动化搭建PXE测试环境的方法
技术领域
本发明涉及PXE测试技术领域,具体地说是一种自动化搭建PXE测试环境的方法。
背景技术
PXE技术简单说就是利用网卡上的PXE BootROM(自启动芯片)截取系统引导控制权,通过DHCP指定的TFTP服务下载系统启动所需的镜像文件,然后根据提供的安装路径进行远程系统安装。在linux 平台上架设PXE服务器通常包括三部分服务的配置,DHCP自动分配IP地址的服务(dhcpd),启动文件传输所需的TFTP服务(xinetd),安装文件传输所需的服务。其中安装文件传输所用的服务可选FTP服务(vsftpd)、NFS服务(portmap)或HTTP服务(httpd)三者中的任意一种。
公开的相关专利文件:名称为“一种PXE测试环境实现OS自动切换的方法”,该文件公开了“该PXE测试环境实现OS自动切换的方法,首先安装PXE服务器,搭建PXE测试网络;编写PXE启动文件,将PXE客户端首先要进入的OS设置为默认启动项;PXE客户端从PXE测试网络启动,进入默认的OS,开始测试;测试完成后,以网卡MAC地址为原型编写专属启动文件,将重启后要进入的OS设置成默认启动项;PXE客户端重新启动后,开始调用引导文件,按照优先级关系调用对应的专属引导文件,引导进入期望的OS。该PXE测试环境实现OS自动切换的方法,既实现了PXE测试过程中OS的自动切换,又不改变PXE服务器启动default文件,不影响其他PXE客户端测试,各PXE客户端OS切换时互不影响,极大地提高了PXE测试效率”。
上述公开文件与本发明内容要解决的技术问题,采用的技术手段都不相同。
发明内容
本发明的技术任务是提供一种自动化搭建PXE测试环境的方法。
本发明的技术任务是按以下方式实现的,该方法是基于Linux下的shell脚本来运行搭建的,在shell环境下运用脚本自动化的快速搭建PXE测试环境。
该方法的操作步骤如下:
步骤1)服务器安装Linux操作系统,并且所在的网络环境有DHCP服务;
步骤2)将服务器的Linux系统镜像放到/tmp下,并记录下镜像的名字;
步骤3)执行shell环境下的脚本自动化的快速搭建PXE测试环境。
所述的shell环境下的脚本如下:
#!/bin/bash
#this is a auto configure for PXE server!
echo "please copy the CDROM into /tmp and then input the name of the file(RHEL6.6 for example)"
read CDROM
mount -o loop /tmp/$CDROM /mnt
#creat myyum to install necessary service
touch /etc/yum.repos.d/yum.repo
echo "[myyum]" >/etc/yum.repos.d/yum.repo
echo "name=RedhatMyyum" >>/etc/yum.repos.d/yum.repo
echo "url=file:///mnt/" >>/etc/yum.repos.d/yum.repo
echo "enabled=1" >>/etc/yum.repos.d/yum.repo
echo "gpgcheck=0" >>/etc/yum.repos.d/yum.repo
echo "gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release" >>/etc/yum.repos.d/yum.repo
#set static IP
service NetworkManager stop
echo "the network in your LINUX:"
ifconfig
echo "please input the network name for DHCP server"
read DH
touch /etc/sysconfig/network-scripts/ifcfg-$DH
echo "please input the IP you want or preass enter to leave it as default(192.168.1.11)"
read IP
echo "DEVICE=$DH">/etc/sysconfig/network-scripts/ifcfg-$DH
echo "ONBOOT=yes">>/etc/sysconfig/network-scripts/ifcfg-$DH
echo "BOOTPROTO=static">>/etc/sysconfig/network-scripts/ifcfg-$DH
if [ "$IP" = "" ]
then
IP=192.168.1.11
fi
echo "IPADDR=$IP">>/etc/sysconfig/network-scripts/ifcfg-$DH
echo "NETMASK=255.255.255.0">>/etc/sysconfig/network-scripts/ifcfg-$DH
service network restart
# install TFTP DHCP NFS service
yum install tftp* dhcp* nfs* syslinux system-config-kickstart
#configure DHCP service
touch /etc/dhcp/dhcpd.conf
echo "allow booting;">/etc/dhcp/dhcpd.conf
echo "allow bootp;">>/etc/dhcp/dhcpd.conf
echo "subnet 192.168.1.0 netmask 255.255.255.0">>/etc/dhcp/dhcpd.conf
echo "{">>/etc/dhcp/dhcpd.conf
echo "range 192.168.1.50 192.168.1.100;">>/etc/dhcp/dhcpd.conf
echo "option routers 192.168.1.11;">>/etc/dhcp/dhcpd.conf
echo "option subnet-mask 255.255.255.0;">>/etc/dhcp/dhcpd.conf
echo "next-server 192.168.1.11;">>/etc/dhcp/dhcpd.conf
echo "}">>/etc/dhcp/dhcpd.conf
#configure NFS
mkdir /nfs
touch /etc/exports
echo "/nfs 192.168.1.0/24(ro)">/etc/exports
#configure tftp service
service xinetd start
service dhcpd start
service nfs start
chkconfig tftp on
chkconfig dhcpd on
chkconfig nfs on
cp -v /usr/share/syslinux/{pxelinux.0,vesamenu.c32} /var/lib/tftpboot
mkdir /var/lib/tftpboot/pxelinux.cfg
mkdir /var/lib/tftpboot/$CDROM
cp /mnt/images/pxeboot/{initrd.img,vmlinuz} /var/lib/tftpboot/$CDROM
cp /root/anaconda-ks.cfg /nfs/$CDROM.cfg
mkdir /nfs/$CDROM
cp -rf /mnt/ /nfs/$CDROM
touch /var/lib/tftpboot/pxelinux.cfg/default
echo "default vesamenu.c32">>/var/lib/tftpboot/pxelinux.cfg/default
echo "timeout 100">>/var/lib/tftpboot/pxelinux.cfg/default
echo "label auto">>/var/lib/tftpboot/pxelinux.cfg/default
echo "menu label Auto Install $CDROM">>/var/lib/tftpboot/pxelinux.cfg/default
echo "menu default">>/var/lib/tftpboot/pxelinux.cfg/default
echo "kernel $CDROM/vmlinuz">>/var/lib/tftpboot/pxelinux.cfg/default
echo"appendinitrd=$CDROM/initrd.img ks=nfs:192.168.1.11:/nfs/$CDROM.cfg">>/var/lib/tftpboot/pxelinux.cfg/default。
本发明的一种自动化搭建PXE测试环境的方法和现有技术相比,对于大批量安装系统具有深远意义,通过这个自动化的环境配置脚本,能够在短时间内快速的配置好PXE环境,进而为接下来的测试和生产提供一个大的环境基础,缩短了人工配置的时间和误差。
具体实施方式
实施例1:
该自动化搭建PXE测试环境的方法是基于Linux下的shell脚本来运行搭建的,在shell环境下运用脚本自动化的快速搭建PXE测试环境。
操作步骤如下:
步骤1)服务器安装Linux操作系统,并且所在的网络环境有DHCP服务;
步骤2)将服务器的Linux系统镜像放到/tmp下,并记录下镜像的名字;
步骤3)执行shell环境下的脚本自动化的快速搭建PXE测试环境。
所述的shell环境下的脚本如下:
#!/bin/bash
#this is a auto configure for PXE server!
echo "please copy the CDROM into /tmp and then input the name of the file(RHEL6.6 for example)"
read CDROM
mount -o loop /tmp/$CDROM /mnt
#creat myyum to install necessary service
touch /etc/yum.repos.d/yum.repo
echo "[myyum]" >/etc/yum.repos.d/yum.repo
echo "name=RedhatMyyum" >>/etc/yum.repos.d/yum.repo
echo "url=file:///mnt/" >>/etc/yum.repos.d/yum.repo
echo "enabled=1" >>/etc/yum.repos.d/yum.repo
echo "gpgcheck=0" >>/etc/yum.repos.d/yum.repo
echo "gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release" >>/etc/yum.repos.d/yum.repo
#set static IP
service NetworkManager stop
echo "the network in your LINUX:"
ifconfig
echo "please input the network name for DHCP server"
read DH
touch /etc/sysconfig/network-scripts/ifcfg-$DH
echo "please input the IP you want or preass enter to leave it as default(192.168.1.11)"
read IP
echo "DEVICE=$DH">/etc/sysconfig/network-scripts/ifcfg-$DH
echo "ONBOOT=yes">>/etc/sysconfig/network-scripts/ifcfg-$DH
echo "BOOTPROTO=static">>/etc/sysconfig/network-scripts/ifcfg-$DH
if [ "$IP" = "" ]
then
IP=192.168.1.11
fi
echo "IPADDR=$IP">>/etc/sysconfig/network-scripts/ifcfg-$DH
echo "NETMASK=255.255.255.0">>/etc/sysconfig/network-scripts/ifcfg-$DH
service network restart
# install TFTP DHCP NFS service
yum install tftp* dhcp* nfs* syslinux system-config-kickstart
#configure DHCP service
touch /etc/dhcp/dhcpd.conf
echo "allow booting;">/etc/dhcp/dhcpd.conf
echo "allow bootp;">>/etc/dhcp/dhcpd.conf
echo "subnet 192.168.1.0 netmask 255.255.255.0">>/etc/dhcp/dhcpd.conf
echo "{">>/etc/dhcp/dhcpd.conf
echo "range 192.168.1.50 192.168.1.100;">>/etc/dhcp/dhcpd.conf
echo "option routers 192.168.1.11;">>/etc/dhcp/dhcpd.conf
echo "option subnet-mask 255.255.255.0;">>/etc/dhcp/dhcpd.conf
echo "next-server 192.168.1.11;">>/etc/dhcp/dhcpd.conf
echo "}">>/etc/dhcp/dhcpd.conf
#configure NFS
mkdir /nfs
touch /etc/exports
echo "/nfs 192.168.1.0/24(ro)">/etc/exports
#configure tftp service
service xinetd start
service dhcpd start
service nfs start
chkconfig tftp on
chkconfig dhcpd on
chkconfig nfs on
cp -v /usr/share/syslinux/{pxelinux.0,vesamenu.c32} /var/lib/tftpboot
mkdir /var/lib/tftpboot/pxelinux.cfg
mkdir /var/lib/tftpboot/$CDROM
cp /mnt/images/pxeboot/{initrd.img,vmlinuz} /var/lib/tftpboot/$CDROM
cp /root/anaconda-ks.cfg /nfs/$CDROM.cfg
mkdir /nfs/$CDROM
cp -rf /mnt/ /nfs/$CDROM
touch /var/lib/tftpboot/pxelinux.cfg/default
echo "default vesamenu.c32">>/var/lib/tftpboot/pxelinux.cfg/default
echo "timeout 100">>/var/lib/tftpboot/pxelinux.cfg/default
echo "label auto">>/var/lib/tftpboot/pxelinux.cfg/default
echo "menu label Auto Install $CDROM">>/var/lib/tftpboot/pxelinux.cfg/default
echo "menu default">>/var/lib/tftpboot/pxelinux.cfg/default
echo "kernel $CDROM/vmlinuz">>/var/lib/tftpboot/pxelinux.cfg/default
echo"appendinitrd=$CDROM/initrd.img ks=nfs:192.168.1.11:/nfs/$CDROM.cfg">>/var/lib/tftpboot/pxelinux.cfg/default。
通过上面具体实施方式,所述技术领域的技术人员可容易的实现本发明。但是应当理解,本发明并不限于上述的几种具体实施方式。在公开的实施方式的基础上,所述技术领域的技术人员可任意组合不同的技术特征,从而实现不同的技术方案。

Claims (3)

1.一种自动化搭建PXE测试环境的方法,其特征在于,该方法是基于Linux下的shell脚本来运行搭建的,在shell环境下运用脚本自动化的快速搭建PXE测试环境。
2.根据权利要求1所述的一种自动化搭建PXE测试环境的方法,其特征在于,该方法的操作步骤如下:
步骤1)服务器安装Linux操作系统,并且所在的网络环境有DHCP服务;
步骤2)将服务器的Linux系统镜像放到/tmp下,并记录下镜像的名字;
步骤3)执行shell环境下的脚本自动化的快速搭建PXE测试环境。
3.根据权利要求1或2所述的一种自动化搭建PXE测试环境的方法,其特征在于,所述的shell环境下的脚本如下:
#!/bin/bash
#this is a auto configure for PXE server!
echo "please copy the CDROM into /tmp and then input the name of the file(RHEL6.6 for example)"
read CDROM
mount -o loop /tmp/$CDROM /mnt
#creat myyum to install necessary service
touch /etc/yum.repos.d/yum.repo
echo "[myyum]" >/etc/yum.repos.d/yum.repo
echo "name=RedhatMyyum" >>/etc/yum.repos.d/yum.repo
echo "url=file:///mnt/" >>/etc/yum.repos.d/yum.repo
echo "enabled=1" >>/etc/yum.repos.d/yum.repo
echo "gpgcheck=0" >>/etc/yum.repos.d/yum.repo
echo "gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release" >>/etc/yum.repos.d/yum.repo
#set static IP
service NetworkManager stop
echo "the network in your LINUX:"
ifconfig
echo "please input the network name for DHCP server"
read DH
touch /etc/sysconfig/network-scripts/ifcfg-$DH
echo "please input the IP you want or preass enter to leave it as default(192.168.1.11)"
read IP
echo "DEVICE=$DH">/etc/sysconfig/network-scripts/ifcfg-$DH
echo "ONBOOT=yes">>/etc/sysconfig/network-scripts/ifcfg-$DH
echo "BOOTPROTO=static">>/etc/sysconfig/network-scripts/ifcfg-$DH
if [ "$IP" = "" ]
then
IP=192.168.1.11
fi
echo "IPADDR=$IP">>/etc/sysconfig/network-scripts/ifcfg-$DH
echo "NETMASK=255.255.255.0">>/etc/sysconfig/network-scripts/ifcfg-$DH
service network restart
# install TFTP DHCP NFS service
yum install tftp* dhcp* nfs* syslinux system-config-kickstart
#configure DHCP service
touch /etc/dhcp/dhcpd.conf
echo "allow booting;">/etc/dhcp/dhcpd.conf
echo "allow bootp;">>/etc/dhcp/dhcpd.conf
echo "subnet 192.168.1.0 netmask 255.255.255.0">>/etc/dhcp/dhcpd.conf
echo "{">>/etc/dhcp/dhcpd.conf
echo "range 192.168.1.50 192.168.1.100;">>/etc/dhcp/dhcpd.conf
echo "option routers 192.168.1.11;">>/etc/dhcp/dhcpd.conf
echo "option subnet-mask 255.255.255.0;">>/etc/dhcp/dhcpd.conf
echo "next-server 192.168.1.11;">>/etc/dhcp/dhcpd.conf
echo "}">>/etc/dhcp/dhcpd.conf
#configure NFS
mkdir /nfs
touch /etc/exports
echo "/nfs 192.168.1.0/24(ro)">/etc/exports
#configure tftp service
service xinetd start
service dhcpd start
service nfs start
chkconfig tftp on
chkconfig dhcpd on
chkconfig nfs on
cp -v /usr/share/syslinux/{pxelinux.0,vesamenu.c32} /var/lib/tftpboot
mkdir /var/lib/tftpboot/pxelinux.cfg
mkdir /var/lib/tftpboot/$CDROM
cp /mnt/images/pxeboot/{initrd.img,vmlinuz} /var/lib/tftpboot/$CDROM
cp /root/anaconda-ks.cfg /nfs/$CDROM.cfg
mkdir /nfs/$CDROM
cp -rf /mnt/ /nfs/$CDROM
touch /var/lib/tftpboot/pxelinux.cfg/default
echo "default vesamenu.c32">>/var/lib/tftpboot/pxelinux.cfg/default
echo "timeout 100">>/var/lib/tftpboot/pxelinux.cfg/default
echo "label auto">>/var/lib/tftpboot/pxelinux.cfg/default
echo "menu label Auto Install $CDROM">>/var/lib/tftpboot/pxelinux.cfg/default
echo "menu default">>/var/lib/tftpboot/pxelinux.cfg/default
echo "kernel $CDROM/vmlinuz">>/var/lib/tftpboot/pxelinux.cfg/default
echo "append initrd=$CDROM/initrd.img ks=nfs:192.168.1.11:/nfs/$CDROM.cfg">>/var/lib/tftpboot/pxelinux.cfg/default。
CN201710358167.9A 2017-05-19 2017-05-19 一种自动化搭建pxe测试环境的方法 Pending CN107193737A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710358167.9A CN107193737A (zh) 2017-05-19 2017-05-19 一种自动化搭建pxe测试环境的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710358167.9A CN107193737A (zh) 2017-05-19 2017-05-19 一种自动化搭建pxe测试环境的方法

Publications (1)

Publication Number Publication Date
CN107193737A true CN107193737A (zh) 2017-09-22

Family

ID=59875389

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710358167.9A Pending CN107193737A (zh) 2017-05-19 2017-05-19 一种自动化搭建pxe测试环境的方法

Country Status (1)

Country Link
CN (1) CN107193737A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111475210A (zh) * 2020-03-20 2020-07-31 烽火通信科技股份有限公司 一种内存无盘引导启动pxe的方法及系统
CN113411212A (zh) * 2021-06-16 2021-09-17 英业达科技有限公司 智能网卡的bios控制系统与智能网卡的bios控制方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040078693A1 (en) * 2002-03-22 2004-04-22 Kellett Stephen Richard Software testing
CN103530223A (zh) * 2012-07-06 2014-01-22 百度在线网络技术(北京)有限公司 一种自动生成单元测试用例的方法及装置
CN103970655A (zh) * 2014-05-08 2014-08-06 浪潮电子信息产业股份有限公司 一种基于expect的服务器自动化集群测试方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040078693A1 (en) * 2002-03-22 2004-04-22 Kellett Stephen Richard Software testing
CN103530223A (zh) * 2012-07-06 2014-01-22 百度在线网络技术(北京)有限公司 一种自动生成单元测试用例的方法及装置
CN103970655A (zh) * 2014-05-08 2014-08-06 浪潮电子信息产业股份有限公司 一种基于expect的服务器自动化集群测试方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111475210A (zh) * 2020-03-20 2020-07-31 烽火通信科技股份有限公司 一种内存无盘引导启动pxe的方法及系统
CN113411212A (zh) * 2021-06-16 2021-09-17 英业达科技有限公司 智能网卡的bios控制系统与智能网卡的bios控制方法
CN113411212B (zh) * 2021-06-16 2023-02-03 英业达科技有限公司 智能网卡的bios控制系统与智能网卡的bios控制方法

Similar Documents

Publication Publication Date Title
CN107534647B (zh) 用于传送启动脚本的系统、计算设备和存储介质
CN104639378A (zh) 一种基于pxe的服务器自动化部署方法
CN106911729B (zh) 一种适用于国产处理器的操作系统远程安装方法
US20030126426A1 (en) Embedded OS PXE server
CN103200271B (zh) Arm服务器及其自动化安装系统的方法
CN103984575A (zh) 一种云计算环境下集群Linux操作系统快速部署方法
CN105117268B (zh) 一种实现linux系统自动安装的安装方法及系统
CN107870771B (zh) 应用程序构建与升级方法及系统
CN105791362A (zh) 一种服务器操作系统部署方法及服务器
CN106911500B (zh) 物理机的配置方法、装置和物理机
CN113419815B (zh) 一种预启动运行环境装机的方法、系统、设备及介质
CN105183529A (zh) 刷新服务器固件的方法、目标服务器、源服务器及系统
CN102316003A (zh) 路由器及利用该路由器实现远程启动操作系统的方法
CN107220054A (zh) 快速自动配置redhat7操作系统PXE环境的方法
CN104935468A (zh) 一种基于pxe技术的交互系统及其实现操作系统运行的方法
EP3848825A1 (en) Application client launch method, service server, and client device
CN108920157B (zh) Nginx软件的安装方法、装置、计算机设备及存储介质
CN107193737A (zh) 一种自动化搭建pxe测试环境的方法
CN114138283A (zh) 操作系统远程自动化部署方法、装置、终端及存储介质
CN113849228A (zh) 操作系统批量部署方法、系统、终端及存储介质
CN110971689B (zh) 系统安装方法、装置、系统、设备和存储介质
US20230229481A1 (en) Provisioning dpu management operating systems
CN114866515A (zh) Ip地址配置方法、装置、电子设备及存储介质
CN111200527B (zh) 一种基于ironic的裸机自动发现和部署的方法
CN113419813A (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
RJ01 Rejection of invention patent application after publication

Application publication date: 20170922

RJ01 Rejection of invention patent application after publication