Linux基于PXE实现系统全自动无人值守安装

前言

在生产环境中,我们时常会需要在多台客户端主机或服务器安装操作系统,如果每一台都去手动安装,费时费力,显然是不现实的。那么,如何高效的完成此类工作呢?文将讲解如何实现Linux系统的全自动无人值守安装。

提供PXE服务所需安装包

dhcp:动态主机配置协议,给客户端提供ip地址

tftp-server:tftp服务器端,提供系统安装所需文件

xinetd:tftp服务超级守护进程,用于唤醒tftp服务

httpd:基于http服务提供安装源

syslinux:提供pxelinux.0文件,此文件用于引导系统,相当于bootloader

安装所需安装包

dhcp服务配置

dhcp服务的配置文件默认是/etc/dhcp/dhcpd.conf,但此文件默认是没任何配置的,此服务提供了一个参考文件/usr/share/doc/dhcp*/dhcpd.conf.sample,复制此文件覆盖原配置文件,直接修改即可。

#option domain-name "scholar.com";             #分配dns域
#option domain-name-servers 172.16.10.10;      #分配dns地址

#default-lease-time 600;                       #默认租约时长
#max-lease-time 7200;                          #最大租约时长
#以上为dhcp全局配置,如果仅为实现PXE可默认
subnet 172.16.0.0 netmask 255.255.0.0 {        #提供dhcp服务的网段
  range 172.16.10.20 172.16.10.100;            #地址池
  option routers 172.16.0.1;                   #网关
  next-server 172.16.10.10;                    #tftp服务器地址
  filename "pxelinux.0"                        #PXE引导文件
}
#以下仅为介绍dhcp特殊配置,无需要可不配置
#host winxp {                                  #设置保留专用地址
#  hardware ethernet 00:0c:29:50:29:02;        #保留主机物理地址
#  fixed-address 172.16.100.2;                 #保留地址,非地址池内地址,优先分配
#}

dhcp服务配置完成,测试配置无语法错误后,启动服务并设置开机自启

dhcp工作在upd的67端口,启动服务后,可查看67端口是否开启

tftp服务配置

xinetd是tftp的超级守护进程,即tftp是xinetd的子服务,修改配置文件,确保tftp服务没有被禁用。

[[email protected] ~]# vim /etc/xinetd.d/tftp

service tftp
{
        socket_type             = dgram
        protocol                = udp
        wait                    = yes
        user                    = root
        server                  = /usr/sbin/in.tftpd
        server_args             = -s /var/lib/tftpboot
        disable                 = no   #确保此项为no
        per_source              = 11
        cps                     = 100 2
        flags                   = IPv4
}

修改完配置文件,启动xinetd进程并设置tftp服务开机自启

tftp工作在udp的69端口,启动服务后,可查看69端口是否开启

注意:请将防火请关闭或设置相关规则允许访问69端口,不然将无法访问tftp服务。

提供引导内核等文件

从挂载的光盘中复制PXE所需文件到tftp工作目录下(默认为/var/lib/tftpboot)

提供PXE工作环境

复制pxelinux.0文件(由syslinux包提供,需提前安装)到tftp工作目录

提供安装源

可提供安装源的服务有很多,例如:http、ftp、nfs等,我们就基于http服务实现此操作。在http服务默认的工作目录里创建一个专为安装源所使用目录,并将之与已挂载的光盘目录绑定。

启动http服务并设置开机自启,http服务工作在tcp的80端口,启动服务后,可查看80端口是否开启。

提供kickstart文件

kickstart文件可以自己创建(需安装system-config-kickstart.noarch工具),也可以复制系统文件直接修改。这里我们就不演示创建过程了,直接复制文件修改(此文件为/root/anaconda-ks.cfg)

#修改或添加以下两项,目标指向安装源
url --url=http://172.16.10.10/RHEL6.6
repo --name="Redhat" --baseurl=http://172.16.10.10/RHEL6.6 --cost=100

为了启动时能够加载kickstart文件,还需要修改/var/lib/tftpboot/pxelinux.cfg/default文件,添加ks文件的位置。

[[email protected] ~]# vim /var/lib/tftpboot/pxelinux.cfg/default

label linux
  menu label ^Install or upgrade an existing system
  menu default
  kernel vmlinuz
  append initrd=initrd.img ks=http://172.16.10.10/ks.cfg     #指向ks文件

启动测试

将待装系统的主机设置为网卡启动

开机开始引导

引导成功开始安装各种包

安装成功,查看IP地址

The end

好了,以上便是基于PXE实现系统全自动无人值守安装的整个过程,如果在引导时出现无法下载kickstart文件的情况,请检查网络内有无dhcp冲突,或selinux是否关闭。仅为个人学习整理,如有错漏,大神勿喷~~~

时间: 2024-10-07 01:32:50

Linux基于PXE实现系统全自动无人值守安装的相关文章

Linux基于PXE实现系统自动化部署

一.前言: 通常为计算机安装操作系统的方式主要是,光盘安装和U盘安装:在企业生产环境中,会需要对多台客户机或服务器安装Linux操作系统,如果还用常规的方法去安装,费时又费力:PXE批量部署系统即可高效完成此类工作. 二.原理: 使用光盘(镜像)安装Linux操作系统过程:POST(加电自检)-->引导序列(通过BISO发现引导CD-ROM或U盘)--Bootloader(kernel+ramdisk)-->anaconda(安装程序) 1.自动化部署服务器所需环境: PXE:Preboot

linux系统批量无人值守安装

一:批量无人值守安安装原理 利用DHCP TFTP FTP和PXE技术实现批量安装系统,首先在主server上安装好DHCP TFTP和FTP服务,client通过网卡的PXE技术获取到IP地址和TFTP服务下载pxelinux.0引导程序,再通过执行引导程序pxelinux.0并通过FTP服务获取光盘镜像和安装镜像install.img,以及系统安装配置文件来自己主动安装系统. 步骤: 1:安装DHCP,FTP TFTP服务,安装syslinux包,得到pxeliunx.0,放入TFTP根目录

pxe+dhcp+apache+kickstart无人值守安装系统centos

pxe+dhcp+apache+kickstart无人值守安装系统 挂载系统盘. mkdir /mnt/cdrom mount /dev/cdrom /mnt/cdrom 关闭selinux.关闭防火墙 setenforce 0 /etc/init.d/iptables stop 安装apache服务(默认是安装的) yum install apache -y 复制光盘的内容,到网站目录 cp -rf /mnt/cdrom/* /var/www/html/ 安装tftp-server服务 yum

基于网络的 Red Hat 无人值守安装

基于网络的 Red Hat 无人值守安装 本文介绍了 PC 平台上的一种快速 Red Hat Linux 安装方案.它具有很高的自动化程度--用户只需手工启动机器并选择从网络启动,就可以完成整个安装过程.在需要批量安装大量 Red Hat Linux 系统和需要技术人员 Red Hat Linux 安装支持的情况下,这种方案可以节省大量的时间.而且由于不需要额外的软件和光驱和软驱等硬件设备,在成本上也有很大优势.所有安装 Red Hat Linux 的开发/测试人员,和 IT 支持人员都能够从本

【linux基础】25、kickstart 无人值守安装linux系统

1.anaconda简介 anaconda:fodora维护的linux系统安装程序 anaconda将整个linux系统安装过程分成2个阶段: 安装前配置: 选择键盘类型,安装过程中的语言,支持的语言,时区 选择要使用的磁盘设备,分区格式化,选择要安装的程序包 设置管理员密码,是否启动iptables,是否启用selinux 安装阶段: 在目标磁盘上创建出根文件系统 将选定的程序包安装至目标磁盘 anaconda程序可以交互式设置系统安装的各种配置,也可以读取anaconda的配置文件anac

PXE+DHCP+Apache+Kickstart无人值守安装CentOS-6.6

以前的工作中做过一次无人值守全自动批量安装Centos,无耐当时太忙,忘了做笔记.现在刚好公司新进了一批服务器要上架,要做系统,正好利用此次机会做了如下笔记: 什么是PXE?什么是Kickstart?此处不在一 一描述,因为网络上对这些概念解释实在是太多了,我就此对PXE+Kickstart的安装条件和详细步骤做一 阐述. 执行PXE+Kickstart安装需要先决条件: DHCP服务器: TFTP服务器: Kickstart所生成的ks.cfg配置文件: 一台存放系统安装文件的服务器,如NFS

centos 6.x下pxe+tftp+http+kickstart无人值守安装操作系统

1.1 什么是PXE PXE(Pre-boot Execution Environment,预启动执行环境)是由Intel公司开发的最新技术,工作于Client/Server的网络模式,支持工作站通过网络从远端服务器下载映像,并由此支持通过网络启动操作系统,在启动过程中,终端要求服务器分配IP地址,再用TFTP(trivial file transfer protocol)或MTFTP(multicast trivial file transfer protocol)协议下载一个启动软件包到本机

Linux 通过配置Cobbler服务器全自动批量安装部署

实现目的:通过配置Cobbler服务器,全自动批量安装部署Linux系统 安装centos 7唯一要变就是在网络类型里面选择使用网络地址NAT模式因为要实时在线下载 vim /etc/sysconfig/network-scripts/ifcfg-ens33 对网卡进行配置因为在这是DNS自动获取说有只需要激活网卡就好 ONBOOT=yes ONBOOT是指明在系统启动时是否激活网卡,只有在激活状态的网卡才能去连接网络,进行网络通讯 systemctl restart network.servi

PXE+DHCP+TFTP+Cobbler 无人值守安装centos 7

Cobbler(补鞋匠)是通过将DHCP.TFTP.DNS.HTTP等服务进行集成,创建一个中央管理节点,其可以实现的功能有配置服务,创建存储库,解压缩操作系统媒介,代理或集成一个配置管理系统,控制电源管理等. Cobbler的最终目的是实现无需进行人工干预即可安装机器.   pxe概述  预启动执行环境(Preboot eXecution Environment,PXE,也被称为预执行环境)是让计算机通过网卡独立地使用数据设备(如硬盘)或者安装操作系统 PXE Client发送广播包请求DHC