PXE无人值守服务器搭建

PXE无人值守服务器搭建
hostname ip OS
server 192.168.220.138 centos7

1、原理 和流程

PXE并不是一种安装方式,而是一种引导方式。进行PXE安装的必要条件是要安装的计算机中包含一个PXE支持的网卡(NIC)。

  • 第一步:客户端向服务端请求、分配网卡IP地址
  • 第二步:请求、获取引导文件
  • 第三步:请求、下载应答文件

中间所需服务程序PXE+TFTP+FTP+DHCP+Kickstart

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

2、配置安装DHCP

[root@server ~]# yum install dhcp -y
 47 allow booting;
 48 allow bootp;
 49 subnet 192.168.220.0 netmask 255.255.255.0 {
 50   range 192.168.220.50 192.168.220.100;
 51   option domain-name-servers 192.168.220.1;
 52   option routers 192.168.220.1;
 53   option broadcast-address 192.168.220.255;
 54   default-lease-time 600;
 55   max-lease-time 7200;
 56   filename  "pxelinux.0";
 57 }

3、配置安装FTP

[root@server ~]# yum install tftp tftp-server xinetd vsftpd -y
[root@server ~]# vim /etc/xinetd.d/tftp 
  6 service tftp
  7 {
  8     socket_type     = dgram
  9     protocol        = udp
 10     wait            = yes
 11     user            = root
 12     server          = /usr/sbin/in.tftpd
 13     server_args     = -s /var/lib/tftpboot	====>-s /tftp#默认目录
 14     disable         = no==>yes		#开机自启
 15     per_source      = 11
 16     cps         = 100 2
 17     flags           = IPv4
 18 }
[root@server ~]# systemctl restart xinetd
[root@server ~]# lsof -i:69
COMMAND   PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
xinetd  27346 root    5u  IPv4 171869      0t0  UDP *:tftp 


4、安装PXE所需文件

[root@server ~]# yum install syslinux -y
[root@server ~]# mkdir /tftpboot
[root@server ~]# mkdir /tftpboot/pxelinux.cfg
[root@server ~]# cp /usr/share/syslinux/pxelinux.0 /tftpboot/
[root@server ~]# mount /dev/cdrom /mnt/		#挂载镜像
mount: /dev/sr0 写保护,将以只读方式挂载
拷贝启动相关的文件
[root@server ~]# cp /mnt/isolinux/isolinux.cfg /tftpboot/pxelinux.cfg/default
[root@server ~]# cp /mnt/images/pxeboot/initrd.img /tftpboot/		#initrd.img虚拟到内存的文件
[root@server ~]# cp /mnt/images/pxeboot/vmlinuz /tftpboot/		#vmlinux内核文件
[root@server ~]# chmod 644 /tftpboot/pxelinux.cfg/default 		#给个权限
[root@server ~]# vim /tftpboot/pxelinux.cfg/default 

  1 default linux		#修改为linux,和下面的label linux对应
 61 label linux
 62   menu label ^Install CentOS 7
 63   kernel vmlinuz
 64   append initrd=initrd.img ks=ftp://192.168.220.138/ks.cfg quiet	###修改这一行
[root@server ~]# cp anaconda-ks.cfg /var/ftp/ks.cfg
  5 #cdrom	#注释这里
  6 url --url=ftp://192.168.220.138  #增加这一行
[root@server ~]# chmod 644 /var/ftp/ks.cfg
[root@server ~]# cp -r /mnt/* /var/ftp/

新启一台虚拟机测试,记得关闭自带的dhcp

PXE无人值守服务器搭建_第1张图片

你可能感兴趣的:(Linux)