文章目录
/====================================
传送门:
PXE+Kickstart全自动安装Linux(完全版)
(1)PXE概述、服务端Linux操作系统安装 http://t.csdn.cn/oEBg3
(2)PXE+Kickstart安装及调试 http://t.csdn.cn/zvHxc <——这是本文
/====================================
服务端操作系统基本信息:
1、hostname=PXE-server
2、网络设置:IP=172.30.1.197/24 GATEWAY=172.30.1.254 DNS1=114.114.114.114
3、操作系统: CentOS Linux release 7.9.2009 (Core)
4、要求:Linux操作系统能上网
1. 安装TFTP服务
#安装tftp服务端、xinetd
yum -y install tftp-server xinetd
修改TFTP服务端的配置文件
vi /etc/xinetd.d/tftp
# TFTP默认使用UDP协议
# no表示客户机可以多台一起连接,yes表示客户机只能一台一台连接
# 指定TFTP根目录(引导文件的存储路径)
# no表示开启TFTP服务
protocol = udp
wait = no
server_args = -s /var/lib/tftpboot
disable = no
重启TFTP服务、Xinetd服务,并设置开机启动
systemctl start tftp
systemctl enable tftp
systemctl start xinetd
systemctl enable xinetd
2. 安装DHCP服务
#安装dhcp服务
yum -y install dhcp
#拷贝配置文件
cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf
cd /etc/dhcp/
#修改配置文件
vi dhcpd.conf
log-facility local7;
# A slightly different configuration for an internal subnet.
#指定为哪个网段分配地址
#分配的IP地址范围
#分配给客户端的DNS服务器地址
#分配给客户端的网关地址
#地址租赁时间,单位为秒
#最大租约时间
#下一个要访问的地址,就是tftp地址
#要访问tftp上哪一个文件夹
subnet 172.30.1.0 netmask 255.255.255.0 {
range 172.30.1.180 172.30.1.190;
option domain-name-servers 172.30.1.197;
option routers 172.30.1.254;
default-lease-time 600;
max-lease-time 7200;
next-server 172.30.1.197;
filename "pxelinux.0";
}
重启DHCP服务并设置自启动
systemctl start dhcpd
systemctl enable dhcpd
查看端口
yum -y install net-tools
netstat -nutpl | grep dhcpd
#dhcpd使用的端口号是67
3. 获取vmlinuz、initrd.img文件
挂载光盘镜像
挂载光盘镜像有两种方法:
一种是直接在服务器上使用wget去下载iso到服务器上。
另一种是下载好了iso文件,通过光驱挂载到服务器上。(本文使用这种)
方法一:光驱加载(方法二是wget操作系统iso文件到本地,然后再挂载到Linux上,可以自行测试,mount xxx.iso /mnt/cdrom/就可以了)
#创建目录
mkdir /mnt/cdrom
#把光驱cdrom挂载到/mnt/cdrom下
mount /dev/cdrom /mnt/cdrom
拷贝vmlinuz、initrd.img文件到tftp根目录下
cd /mnt/cdrom/isolinux
#复制 Linux系统的内核文件 到TFTP根目录下
#复制 初始化镜像文件(linux引导加载模块)到TFTP根目录下
cp vmlinuz /var/lib/tftpboot/
cp initrd.img /var/lib/tftpboot/
4. 准备pxelinux.0引导程序
# PXE引导程序由软件包 syslinux 提供
# 复制PXE引导程序pxelinux.0到TFTP根目录下
yum -y install syslinux
cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/
5. 安装FTP服务,准备CentOS7安装源
# 安装vsftpd服务
yum -y install vsftpd
#新建centos7目录,并将光盘镜像下的文件全部复制到centos7目录下(操作系统源)
#拷贝操作系统的时间会很长
mkdir /var/ftp/centos7/
cp -rf /mnt/cdrom/* /var/ftp/centos7/
#启动ftp服务并设置开机启动
systemctl enable vsftpd
systemctl start vsftpd
6. 配置启动菜单文件default
#在/var/lib/tftpboot/下创建新文件夹pxelinux.cfg
# 默认的启动菜单文件在TFTP根目录的 pxelinux.cfg子目录下,文件名为default
mkdir /var/lib/tftpboot/pxelinux.cfg/
# 在pxelinux.cfg目录下创建default并编辑配置文件
vi /var/lib/tftpboot/pxelinux.cfg/default
#以下是配置文件的信息,用于客户机启动安装时进行选择不同的模式
#注意method后面跟的是tftp服务器的地址
default auto
prompt 1
label auto
kernel vmlinuz
append initrd=initrd.img method=ftp://172.30.1.197/centos7
label linux text
kernel vmlinuz
append text initrd=initrd.img method=ftp://172.30.1.197/centos7
label linux rescue
kernel vmlinuz
append rescue initrd=initrd.img method=ftp://172.30.1.197/centos7
# 重启TFTP服务
systemctl restart tftp
7. 关闭防火墙
systemctl stop firewalld
systemctl disable firewalld
8. 手动配置安装测试
前提条件:客户机和服务器要在同一个局域网络下
客户机支持PXE安装,一般顺序是CD、硬盘、PXE
服务器相关信息:
#网络配置
IPADDR=172.30.1.197
NETMASK=255.255.255.0
GATEWAY=172.30.1.254
PEERDNS=yes
DNS1=114.114.114.114
DNS2=8.8.8.8
#安装的服务
#1. TFTP,提供vmlinuz、initrd.img、pxelinux.0、pxelinux.cfg/default四个文件。
#2. DHCP,提供地址分配指定TFTP服务器的地址。
#3. FTP,提供客户机操作系统的下载。
#主要服务配置文件及目录
#1. TFTP
#配置文件:/etc/xinetd.d/tftp
#根目录:/var/lib/tftpboot
#2. DHCP
#配置文件:/etc/dhcp/dhcpd.conf
#3. FTP
#配置文件:/etc/vsftpd/vsftpd.conf
#匿名用户根目录:/var/ftp/
8.1 配置好客户机
8.2 启动客户机
在提示字符串boot:
后可以选择:
-
直接按Enter键(或输入
auto
命令),将会自动通过网络下载安装文件,并进入默认的图形安装入口; -
若执行
linux text
命令,则进入文本安装入口; -
若执行
linux rescue
命令,则进入救援模式。
8.3 配置安装