使用PXE+DHCP+TFTP+kickstart搭建无人执守系统安装服务器

原理和概念: 

1、 什么是PXE  严格来说,PXE 并不是一种安装方式,而是一种引导的方式。进行 PXE 安装的必要条件是要安装的计算机中包含一个 PXE 支持的网卡(NIC),即网卡中必须要有 PXE Client。PXE (Pre-boot Execution Environment)协议使计算机可以通过网络启动。

协议分为 client 和 server 端,PXE client 在网卡的 ROM 中,当计算机引导时,BIOS 把 PXE client 调入内存执行,由 PXE client 将放置在远端的文件通过网络下载到本地运行。

运行 PXE 协议需要设置 DHCP 服务器 和 TFTP 服务器。DHCP 服务器用来给 PXE client(将要安装系统的主机)分配一个 IP 地址,由于是给 PXE client 分配 IP 地址,所以在配置 DHCP 服务器时需要增加相应的 PXE 设置。

此外,在 PXE client 的 ROM 中,已经存在了 TFTP Client。PXE Client 通过 TFTP 协议到 TFTP Server 上下载所需的文件。

 

2、 什么是KickStart 

KickStart是一种无人职守安装方式。KickStart的工作原理是通过记录典型的安装过程中所需人工干预填写的各种参数,并生成一个名为 ks.cfg的文件;在其后的安装过程中(不只局限于生成KickStart安装文件的机器)当出现要求填写参数的情况时,安装程序会首先去查找 KickStart生成的文件,当找到合适的参数时,就采用找到的参数,当没有找到合适的参数时,才需要安装者手工干预。

这样,如果KickStart文件涵盖了安装过程中出现的所有需要填写的参数时,安装者完全可以只告诉安装程序从何处取ks.cfg文件,然后去忙自己的事情。等安装完毕,安装程序会根据ks.cfg中设置的重启选项来重启系统,并结束安装。

设置BIOS引导顺序为:  硬盘,网络

执行 PXE + KickStart安装需要准备内容:

• DHCP 服务器用来给客户机分配IP; 

• TFTP 服务器用来存放PXE的相关文件,比如:系统引导文件; 

• FTP 服务器用来存放系统安装文件; 

• KickStart所生成的ks.cfg配置文件; 

• 带有一个 PXE 支持网卡的将安装的主机;

一,配置基础环境

1.安装ftp服务以及开启服务,设置开机自动启动

[[email protected] ~]# yum install vsftpd -y    #必须配置/etc/yum.repos.d 能够连接网络

[[email protected] /]# systemctl start vsftpd    #启动ftp服务
[[email protected] /]# systemctl enable vsftpd   #设置开机自启 
Created symlink from /etc/systemd/system/multi-user.target.wants/vsftpd.service to /usr/lib/systemd/system/vsftpd.service.

2.安装TFTP,修改tftp配置文件及开启服务

[[email protected] /]# yum install -y tftp tftp-server xinetd  #安装服务以及守护进程服务

配置tftp服务器:

vim /etc/xinetd.d/tftp

修改配置文件里面的13,14行。改成以下内容:

server_args             = -s /tftpboot  # 表示服务器默认的目录是 /tftpboot

disable        = no

  

修改完毕需要重启一下xinetd服务,查看服务端口是否打开。

[[email protected] /]# systemctl start xinetd
[[email protected] /]# lsof -i :69
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
xinetd 2324 root 5u IPv4 35075 0t0 UDP *:tftp 

3.安装dhcp,修改配置文件及开启服务

[[email protected] /]# yum install -y dhcp

  

配置DHCP服务器:

[[email protected] /]# cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf    #生成配置文件
cp:是否覆盖"/etc/dhcp/dhcpd.conf"? y

给DHCP服务器添加一张VMNET4网卡,ip设置为192.168.1.10(只要是1网段都行)

[[email protected] ~]# ifconfig ens38 192.168.1.10/24

[[email protected] /]# >/etc/dhcp/dhcpd.conf        #清空此配置文件,重新进行编写。
[[email protected] /]# vim /etc/dhcp/dhcpd.conf 

  subnet 192.168.1.0 netmask 255.255.255.0 {

  range 192.168.1.100 192.168.1.200;

  option domain-name-servers 192.168.1.1;

  option domain-name "internal.example.org";

  option routers 192.168.1.1;

  option broadcast-address 192.168.1.255;

  default-lease-time 600;

  max-lease-time 7200;

  next-server 192.168.1.10;

  filename "pxelinux.0";

 }
配置完,先不启动DHCP ,准备工作已经完成。

二、配置使用PXE启动所需的相关文件

安装软件:

安装包

[[email protected] /]# yum install -y system-config-kickstart && syslinux

准备tftp需要共享出去的文件

[[email protected]~]# mount  /dev/cdrom  /media/

[[email protected]~]# mkdir  /tftpboot

[[email protected]~]# mkdir /tftpboot/pxelinux.cfg

[[email protected]~]# cp /usr/share/syslinux/pxelinux.0 /tftpboot/    #注,只有安装了system-config-kickstart软件包,才会有/usr/share/syslinux/目录及目录中的文件。

 [[email protected]~]# cp  /media/images/pxeboot/initrd.img  /tftpboot/

[[email protected]~]# cp /media/images/pxeboot/vmlinuz  /tftpboot/

[[email protected]~]# cp /media/isolinux/isolinux.cfg  /tftpboot/pxelinux.cfg/default

[[email protected]~]# chmod 644  /tftpboot/pxelinux.cfg/default

   

三、修改default,指定安装操作系统的方式和ks.cfg文件路径

vim  /tftpboot/pxelinux.cfg/default

然后修改/tftpboot/pxelinux.cfg/default的配置文件。

改:default

为 :default  linux

#修改第1行,后面的linux意思是寻找下面61行的label linux 。如下:

default linux  #修改为linux 

然后修改下64行(即在后面添加inst.repo=ftp://192.168.10.10/pub inst.ks=ftp://192.168.10.10/ks.cfg)

append initrd=initrd.img inst.repo=ftp://192.168.1.10/pub inst.ks=ftp://192.168.1.10/sk.cfg  #修改安装程序通过FTP服务器访问的配置文件

以上有关default配置文件的修改就是通过ftp服务器方式来访问kickstart文件。

 

其中第1行:default linux表示指定默认入口名称;

第2行:prompt 1中prompt用来设置是否等待用户选择,1表示等待用户控制;

第18、23、27、31行label linux表示定义的引导入口,表示系统的不同安装方式,如第18行定义的入口表示图形安装。

配置文件修改完了,要开始自动安装,安装程序必须能访问kickstart文件。

有多种方法可访问kickstart文件,其中最常用的一种方法是通过网络服务器进行,

例如:ftp服务器、WEB服务器或NFS服务器,这种方法非常易于部署,并且也使管理更改变得十分简单。也可以通过USB磁盘、CD-ROM或本地硬盘。如果USB或CD-ROM中的kickstart文件非常便于访问,只需将kickstart文件放置在用来开始安装的引导介质中。而使用DHCP服务器和TFTP及PXE配置起来更为复杂。

使安装程序指向kickstart文件的书写格式如下:

ks=ftp://server/dir/file 如:ks=ftp://ftp服务器IP/ks.cfg

ks=http://server/dir/file 如:ks=http://http服务器IP/ks.cfg

ks=nfs:server:/dir/file 如:ks=nfs:nfs服务器IP:/var/ftp/pub/ks.cfg

ks=hd:device:/dir/file 如:ks=hd:sdb1:/kickstar-files/ks.cfg

ks=cdrom:/dir/file 如:ks=cdrom:/kickstart-files/ks.cfg

以上有关default配置文件的修改就是通过ftp服务器方式来访问kickstart文件

接下来我们制作kickstart的无人值守安装文件。

 

在创建配置文件之前,我们需要更改下yum源为本地源,否则下面在选择软件包安装这一步不能选择,提示被禁止

[[email protected] ~]# cd /etc/yum.repos.d/

[[email protected] yum.repos.d]# ls

CentOS-Base.repo      CentOS-CR.repo         CentOS-fasttrack.repo  CentOS-Sources.repo  epel.repo

CentOS-Base.repo.old  CentOS-Debuginfo.repo  CentOS-Media.repo      CentOS-Vault.repo    epel-testing.repo

[[email protected] yum.repos.d]# mkdir bak

[[email protected] yum.repos.d]# mv *.repo  bak/

[[email protected] yum.repos.d]# ls

bak  CentOS-Base.repo.old

[[email protected] yum.repos.d]# vim my.repo

[development]       

name=my-centos7-dvd

baseurl=file:///var/ftp/pub

enabled=1

gpgcheck=0

[[email protected] yum.repos.d]# yum makecache

安装system-config-kickstart软件包:

[[email protected] ~]# system-config-kickstart  #执行system-config-kickstart弹出来界面。如果服务端安装了图形化界面可以直接使用此命令生成ks.cfg,如果是最小化安装,需要使用xmanager软件中的xstart进行连接设置自己后期无人执守安装需要配置的参数:

注意:用xshell远程连接,执行上面的命令可能无法弹出选择框,需要这样解决:

1.  安装gdm

yum install -y gdm
  

2.在Xstart 里执行:需要输入服务端IP:192.168.0.63  默认ssh、user=root   command:system-config-kickstart

3.会弹出窗口配置kickstart

  设置下默认安装的语言,时区,根密码,然后勾选下面的安装后重新引导。

  然后选择安装方法,使用FTP安装,服务器地址填写为:192.168.1.10  目录:/pub

  点击引导装载程序选项   :安装新的引导装载程序    安装选项:MBR

  分区信息:清除主引导记录、删除所有现存分区、初始化磁盘、划分/boot  swap / 主要分区

  网络配置默认即可

  验证默认

  防火墙全部关闭

  显示配置:可自行选择

  自定义软件包:development——勾选里面三个子选项。

安装脚本:在"预安装脚本","安装后脚本"对话框中,可以分别添加在安装前、安装后自动动行的可执行语句。此项设置可以使服务器自动化配置变得更加容易。

例如:配置客户机在完成安装后自动设置YUM仓库。

rm -rf /etc/yum.repos.d/*
echo ‘[rhel-source]
name=Red Hat Enterprise Linux $releasever - $basearch - Source
baseurl=file:///mnt/
enabled=1
gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release‘ > /etc/yum.repos.d/rhel6.repo

  

到此所有关于安装的配置已经配置完毕,保存:点击左上角的文件选择保存,选择下保存的路径

[[email protected]~]#cp ks.cfg /var/ftp  #复制ks.cfg文件到/var/ftp目录下

注:ks.cfg就是无人值守安装时要用的Kickstart文件。

要对应:/tftpboot/pxelinux.cfg/default文件中设置过ks=ftp://192.168.1.10/ks.cfg

  

配置基于ftp的yum源,用于客户端安装时,读取软件包用:

[[email protected]~]#mount /dev/cdrom /var/ftp/pub  #挂载RHEL7安装光盘到/var/ftp/pub目录下

重启下FTP服务

[[email protected] ~]# systemctl   restart  vsftpd

建议关闭防火墙和selinux,

如果没有关闭的话,tftp服务会有问题。

[[email protected] ~]# getenforce

Disabled

设置防火墙:

#iptables -F

配置两台机器的网络模式为:VMnet4

给server 设置一个和DHCP 定义相同网段的IP

接着启动DHCP,设置为开机启动

[[email protected] /]# systemctl start dhcpd

[[email protected] /]# chkconfig dhcpd on
注意:正在将请求转发到“systemctl enable dhcpd.service”。
Created symlink from /etc/systemd/system/multi-user.target.wants/dhcpd.service to /usr/lib/systemd/system/dhcpd.service.

  

修改新建虚拟机 BIOS启动顺序为网络优先,加电后开始启动,也可开机的时候直接F12。后续等待自动安装即可!!

原文地址:https://www.cnblogs.com/LinuxBasic/p/12070889.html

时间: 2024-08-25 01:54:41

使用PXE+DHCP+TFTP+kickstart搭建无人执守系统安装服务器的相关文章

Linux下搭建无人执守安装服务器

Linux下搭建无人执守安装服务器 实验概述 原理和概念: 1:什么是PXE ? 严格来说,PXE 并不是一种安装方式,而是一种引导的方式.进行 PXE 安装的必要条件是要安装的计算机中包含一个 PXE 支持的网卡(NIC),即网卡中必须要有 PXE Client.PXE (Pre-bootExecution Environment)协议使计算机可以通过网络启动. 网卡中必须有PXE芯片 协议分为client 和 server 端,PXE client 在网卡的 ROM 中,当计算机引导时,BI

搭建无人执守安装服务器

方法:PXE + DHCP+TFTP+ Kickstart+ HTTP 执行 PXE + KickStart安装需要准备内容: • DHCP 服务器用来给客户机分配IP: • TFTP 服务器用来存放PXE的相关文件,比如:系统引导文件: • HTTP 服务器用来存放系统安装文件,镜像: • KickStart所生成的ks.cfg配置文件: • 带有一个 PXE 支持网卡的将安装的主机. 安装所需软件包:httpd tftp-server dhcp xinetd system-config-ki

CentOS7 无人值守服务环境搭建(PXE + DHCP+TFTP+ Kickstart+ FTP)

一,搭建无人值守服务器安装软件(PXE + DHCP+TFTP+ Kickstart+ FTP)IP:192.168.2.10 系统版本:CentOS Linux release 7.4.1708 (Core)  二,配置本地yum源,安装所需软件: [[email protected] yum.repos.d]# mount /dev/cdrom /mnt/mount: /dev/sr0 写保护,将以只读方式挂载[[email protected] yum.repos.d]# vim serv

linux网络安装(PXE + DHCP+TFTP+ Kickstart+ FTP)

需要使用到的服务:PXE + DHCP+TFTP+ Kickstart+ FTP 运行原理如下图: 原理和概念:  1.前言        首先,简单谈谈为什么要采用无人值守网络安装linux操作系统.一方面是运维管理的需要,因各种需要,安装操作系统在实验室内时有发生,有时候更出现批量安装某一型号操作系统的情形,这时候如果用光盘挨个安装将变得异常繁琐,并且需要人工值守.此外,因操作系统种类较多(主要是针对linux),内部人员使用频繁,也会带来管理上的问题.另一方面是当前MPX项目开发的需要,为

Nginx DHCP TFTP Kickstart搭建自动安装系统

之前使用Cobbler搭建自动安装系统,最近Cobbler网站http://www.cobblerd.org/无法访问,执行命令cobbler get-loaders下载获取PXE启动需要的文件时报404,即使下载成功,所有文件都为0字节,导致服务器安装系统自动获取到IP地址后卡住.不得已自己想办法解决,重新用Nginx DHCP TFTP Kickstart搭建了一套自动安装系统.Nginx安装和配置都挺简单,代替了Cobbler中使用的Apache. 虚拟环境 网段:192.168.200.

为公司内网搭建一个无人执守安装服务器

为公司内网搭建一个无人执守安装服务器 方法 ftp + tftp + dhcp + kickstart + PXE 什么是 PXE ? PXE 并不是一种安装方式,而是一种引导的方式.进行 PXE 安装的必要条件是要安装的计算机中包含一个PXE支持的网卡(NIC),即网卡中必须要有PXE client.PXE(Pre-boot Execution Environment)协议使计算机可以通过网络启动.网卡中必须有PXE芯片. 协议分为 client 和 server 端,PXE client在网

PXE+DHCP+TFTP+KickStart批量安装CentOS详解

一.场景介绍 当我们要部署大批量的服务器时,传统的光盘或U盘安装系统就不再适合,为了应对这种场景,PXE配合kickstart无人值守安装就是一种很好的方法. 1.什么是PXE PXE是一种引导程序,分为client端和server端,首先,要进行自动化安装的服务器必须有一块支持PXE的网卡,即网卡的ROM中必须有PXE client.当计算机引导时,BIOS把PXE client与TFTP client调入内存(TFTP client也内置于网卡ROM中),并将远端的文件通过网络下载到本地运行

Centos7下无人值守安装部署(PXE + DHCP+TFTP+ Kickstart+FTP)

一.PXE服务简介: PXE(preboot execute environment)是由Intel公司开发的最新技术,工作于Client/Server的网络模式,支持工作站通过网络从远端服务器下载映像,并由此支持来自网络的操作系统的启动过程,其启动过程中,终端要求服务器分配IP地址,再用TFTP(trivial file transfer protocol)或MTFTP(multicast trivial file transfer protocol)协议下载一个启动软件包到本机内存中并执行,

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