如何通过PXE实现一键自动化安装操作系统

简介:

        PXE(preboot execute environment)预启动执行环境,主要实现网络引导技术。

下来我们来看看如何配置:

安装需要的组件:

  • yum install dhcp tftp-server tftp vsftpd syslinux -y

配置DHCP服务:

复制配置文件模版

  • cp /usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample  /etc/dhcp/dhcpd.conf 

编辑配置文件 /etc/dhcp/dhcpd.conf 

option domain-name "tuchao.com";  

option domain-name-servers 192.168.1.201;


default-lease-time 43200; //默认最少租用时间

max-lease-time 86400;   //默认最长租用时间

# Use this to send dhcp log messages to a different log file (you also

# have to hack syslog.conf to complete the redirection).

log-facility local7;

subnet 192.168.1.0 netmask 255.255.255.0 {

        range 192.168.1.10 192.168.1.110;  //定义地址池

        option routers 192.168.1.1;       //定义网关

}


        next-server 192.168.1.201;   ////指向tftp服务器

        filename="pxelinux.0";    //tftp根目录的相对路径

配置完成后保存,启动dhcp服务。

  • /etc/init.d/dhcpd start


配置tftp服务器编辑配置文件 vim /etc/xinetd.d/tftp

wKiom1P6rCmgNEIeAAEaMvxfJSM014.jpg


  • chkconfig tftp on

  • service xinetd start

复制引导文件到tftp目录下,这个引导文件由syslinux提供

cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/

复制需要的引导文件到tftp提供服务的目录下。

  • cp /var/ftp/pub/images/pxeboot/{vmlinuz,initrd.img} /var/lib/tftpboot/

  • cp /var/ftp/pub/isolinux/{boot.msg,vesamenu.c32,splash.jpg} /var/lib/tftpboot/

  • mkdir /var/lib/tftpboot/pxelinux.cfg

cp /var/ftp/pub/isolinux/isolinux.cfg  /var/lib/tftpboot/pxelinux.cfg/default

给default文件赋予写权限,然后编辑。

  • chmod +w  /var/lib/tftpboot/pxelinux.cfg/default

  • vim /var/lib/tftpboot/pxelinux.cfg/default

wKioL1P6sxLDmciiAAMaSZg5lpg882.jpg

使用system-config-kickstart工具制作一个ks文件,保存至指定的位置。(略)

启动vsftpd服务 //提供安装源

启动xinetd   //提供PXE引导

启动dncpd   //提供动态获取IP,并告知客户端tftp服务器位置。


开启一台虚拟机,设置从网卡启动。

wKioL1P60gOS_1MXAAMWj8pKWpQ935.jpg


wKiom1P62LTRdHXwAAIOBgk-Eg4647.jpg

网络引导,一键自动化安装,成功实现。

相关文档 http://www.178linux.com/archives/4269


上面的是用Centos6部署,下面是Centos5.


Centos 5 部署PXE

安装需要的软件包

yum install dhcp tftp-server tftp vsftpd syslinux httpd -y


提供dhcpd配置文件

cp -p /usr/share/doc/dhcp-3.0.5/dhcpd.conf.sample /etc/dhcpd.conf

编辑配置文件 /etc/dhcpd.conf 

下面标红的参数是关键参数,其他的可以忽略:

ddns-update-style interim;

ignore client-updates;

allow booting;

allow bootp;

subnet 192.168.1.0 netmask 255.255.255.0 {

# --- default gateway

       option routers               192.168.1.1;

       option subnet-mask             255.255.255.0;

#       option nis-domain              "domain.org";

#       option domain-name             "domain.org";

       option domain-name-servers      192.168.1.216;

       option time-offset            -18000; # Eastern Standard Time

#       option ntp-servers             192.168.1.1;

#       option netbios-name-servers       192.168.1.1;

# --- Selects point-to-point node (default is hybrid). Don't change this unless

# -- you understand Netbios very well

#       option netbios-node-type 2;

       range dynamic-bootp 192.168.1.100 192.168.1.200;

        default-lease-time 43200;

        max-lease-time 86400;

        next-server 192.168.1.216;

        filename "/pxelinux.0";

}

启动dhcp 服务器

/etc/init.d/dhcpd start 


配置tftp服务器编辑配置文件 vim /etc/xinetd.d/tftp

wKioL1XUTTzwsuvyAAESUXH91A0279.jpg

  • chkconfig tftp on

  • service xinetd start

制需要的引导文件到tftp提供服务的目录下。

cp /var/ftp/pub/images/pxeboot/{vmlinuz,initrd.img} /var/lib/tftpboot/

cp /usr/share/syslinux/vesamenu.c32 /tftpboot/

cp /var/www/html/isolinux/splash.lss /tftpboot/

cp /var/www/html/isolinux/boot.msg /tftpboot/


建立pxe文件夹,提供引导界面的配置文件

mkdir /tftpboot/pxelinux.cfg

cp /var/www/html/isolinux/isolinux.cfg /tftpboot/pxelinux.cfg/default 

复制引导文件到tftp目录下,这个引导文件由syslinux提供

cp /usr/share/syslinux/pxelinux.0 /tftpboot/

给default赋予写权限,修改如下:

default linux

prompt 0

timeout 600

display boot.msg

label linux

  kernel vmlinuz

  append initrd=initrd.img

注:还可以在append后面再追加ks文件,如   append initrd=initrd.img  ks=ftp://192.168.1.2/pub/kickstart/ksrhel5.cfg




本文转自qw87112 51CTO博客,原文链接:http://blog.51cto.com/tchuairen/1544571
相关文章
|
1月前
|
应用服务中间件 Linux nginx
Mac os 安装 nginx 教程(success)
这篇文章是关于如何在Mac OS系统上使用Homebrew安装nginx及其依赖,并解决安装过程中可能出现的权限问题。
94 0
Mac os 安装 nginx 教程(success)
|
1月前
|
Web App开发 Java 测试技术
一、自动化:web自动化。Selenium 入门指南:从安装到实践
一、自动化:web自动化。Selenium 入门指南:从安装到实践
40 0
|
2月前
|
Windows
Windows操作系统部署安装Kerberos客户端
详细介绍了在Windows操作系统上部署安装Kerberos客户端的完整过程,包括下载安装包、安装步骤、自定义安装路径、修改环境变量、配置hosts文件和Kerberos配置文件,以及安装后的验证步骤。
370 3
Windows操作系统部署安装Kerberos客户端
|
2月前
|
Ubuntu 网络安全 开发工具
Ubuntu19.04的安装过程详解以及操作系统初始化配置
本文详细介绍了Ubuntu 19.04操作系统的安装过程、初始化配置、网络设置、软件源配置、SSH远程登录以及终端显示设置。
88 1
Ubuntu19.04的安装过程详解以及操作系统初始化配置
|
2月前
|
Linux Shell 网络安全
Kickstart 自动化安装
Kickstart结合PXE技术实现Linux系统的自动化安装,适用于需批量部署一致版本的服务器场景,以减少重复劳动。通过搭建Kickstart+DHCP+NFS+TFTP+PXE架构,服务器可远程启动并下载安装配置。具体包括:配置TFTP服务以传输启动文件,设置PXE引导参数指向Kickstart脚本,利用DHCP分配IP地址。这种方式极大地提高了部署效率与一致性。
47 2
|
3月前
|
测试技术 Linux 虚拟化
iOS自动化测试方案(五):保姆级VMware虚拟机安装MacOS
详细的VMware虚拟机安装macOS Big Sur的保姆级教程,包括下载VMware和macOS镜像、图解安装步骤和遇到问题时的解决方案,旨在帮助读者顺利搭建macOS虚拟机环境。
136 3
iOS自动化测试方案(五):保姆级VMware虚拟机安装MacOS
|
1月前
|
Ubuntu Java iOS开发
MacOS环境-手写操作系统-19-编译自动化
MacOS环境-手写操作系统-19-编译自动化
17 0
|
2月前
|
Linux
Kickstart 自动化安装
随着业务增长,服务器需求增加且需统一Linux版本以便维护。Kickstart自动化安装平台结合PXE技术,简化安装流程,显著节省时间。Intel开发的PXE技术允许工作站通过网络下载映像并启动操作系统,整个架构包括Kickstart+DHCP+NFS+TFTP+PXE。配置涉及DHCP、TFTP安装及PXE内核模块配置,最终实现远程自动化安装Linux系统。
35 3
|
3月前
|
运维 算法 调度
深入理解操作系统:进程调度与优先级自动化运维:使用Ansible实现服务器集群管理
【8月更文挑战第27天】在操作系统的众多奥秘中,进程调度无疑是一个既简单又复杂的主题。它就像是交响乐团中的指挥,协调着每一个音符,确保乐曲和谐而有序地进行。本文将带领读者走进进程调度的世界,探索其背后的原理和实现,同时通过代码示例揭示其精妙之处。让我们一起揭开进程调度的神秘面纱,理解它在操作系统中的重要性。
|
3月前
|
Web App开发 敏捷开发 测试技术
自动化测试框架的设计与实现探索操作系统的心脏:内核与用户空间的交互
【8月更文挑战第26天】本文旨在探讨自动化测试框架的设计原则、核心组件和实现方法。通过分析自动化测试的优势,我们深入讨论了框架设计的关键考虑因素,包括模块化、可重用性、可扩展性和易维护性。文章还介绍了如何利用流行的测试工具和编程语言来实现一个高效的自动化测试框架,并通过实例展示了框架的应用。