CN107193737A - 一种自动化搭建pxe测试环境的方法 - Google Patents
一种自动化搭建pxe测试环境的方法 Download PDFInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3664—Environments 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 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。
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)
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)
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的服务器自动化集群测试方法 |
-
2017
- 2017-05-19 CN CN201710358167.9A patent/CN107193737A/zh active Pending
Patent Citations (3)
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)
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 |