Linux系统使用PXE无人值守自动安装总结

Linux系统使用PXE无人值守自动安装总结

需要哪些服务组件

  • DHCP服务,分配IP地址、定位引导程序
  • TFTP服务,提供引导程序下载
  • HTTP服务,提供yum安装源

客户机应具备的条件

  • 网卡芯片必须支持PXE协议
  • 主板支持从网卡启动

启动步骤

1.dhcp--->IP地址  next-server filename=pxelinux.0
2.tftp--->pxelinux.0
3.pxelinux.0--->菜单文件default
4.default--->图形模块 背景图片 内核 驱动程序 指定应答文件
5.生成应答文件ks.cfg
指定分区,yum位置,密码等等

《Linux系统使用PXE无人值守自动安装总结》

所需文件

1.iso镜像文件,挂载到/mnt以及/vat/www/html/centos

2./vat/www/html/ks.cfg

3./var/lib/tftpboot/下的文件

  • initrd.img 驱动程序
  • pxelinux.cfg 文件夹
    • pxelinux.cfg/default 菜单文件
  • vesamenu.c32 部署图形模块
  • pxelinux.0 网卡引导文件,网络装机说明书
  • splash.png 背景图片
  • vmlinuz 部署启动内核

dhcp配置

yum install -y dhcp

前提安装dhcp服务器进行地址的分配

dhcp模板文件 /usr/share/doc/dhcp*/dhcpd.conf.example
dhcp配置文件 /etc/dhcp/dhcpd.conf
dhcp关键配置
subnet 192.168.4.0 netmask 255.255.255.0 { #分配网段
    range192.168.4.100192.168.4.200;   #分配IP地址范围
    option domain-name-servers 192.168.4.7;   #DNS
    option routers 192.168.4.254;              #分配的网关地址
    default-lease-time 600;
    max-lease-time 7200;
    next-server 192.168.4.7; #下一步服务器地址
    filenamer "pxelinux.0";  #指定网卡引导文件
}

tfpt server

默认端口69,默认共享路径/var/lib/tftpboot

yum -y install tftp-server
systeemctl start tfpt

pxelinux.0

pxelinux.0:网卡引导文件,网络装机说明书

pxelinux.0->读取菜单文件内容(/var/lib/tftpboot/pxelinux.cfg/default)

yum -y install syslinux
cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/

/var/lib/tftpboot/获取启动所需文件

mkdir -p /var/lib/tftpboot/pxelinux.cfg

cp /mnt/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default

iso中的isolinux.cfg就是菜单文件,进行拷贝为default修改即可

修改菜单项目

修改menu title 就是启动菜单顶部标题
label linux   就是菜单选项
    menu lable ^Install Centos7.5   菜单显示的选项
    menu default                    读秒之后默认选择
    kernel vmlinuz                   加载启动内核
    append initrd=initrd.img ks =http://192.168.4.7/ks.cfg        加载驱动程序,指定应答文件
部署图形模块(vesamenu.c32)与背景图片(splash.png)
cp /mnt/isolinux/vesamenu.c32 /mnt/isolinux/splash.png /var/lib/tftpboot/

部署启动内核(vmlinuz)与驱动程序(initrd.img)
cp /mnt/isolinux/vmlinuz /mnt/isolinux/initrd.img /var/lib/tftpboot/

/var/lib/tftpboot/下的文件

  • initrd.img
  • pxelinux.cfg 文件夹
  • vesamenu.c32
  • pxelinux.0
  • splash.png
  • vmlinuz

配置http服务,提供yum源

yum install -y httpd
mkdir /var/www/html/centos
mount /dev/cdrom /var/www/html/centos
systemctl restart httpd 

自动应答文件生成

图形工具system-config-kickstart

yum install -y system-config-kickstart

Package Selection使用不了是redhat7的bug,需要修改/etc/yum.repos.d/local.repo 将[local_repo]改为[development]

LANG=en system-config-kickstart 启动,LANG=en是 在中文环境乱码的时候添加的


1.Basick Configration 
修改time-zone Asia/Shanghai
配置root密码
选择Reboot system after installation
选择字符模式,不用图形化安装

2.Installation Methond
选择HTTP 
Http server:web的ip
http directory: centos

3.Boot Loader Options
选择install new Boot Loader

4.Partition information
都选第一个,清除分区表表信息,删除分区,重新初始化磁盘
点击ADD 选择Fill all unused space on disk

5.Netwok configration
add添加,
Network Device:eth0
Network Type:DHCP

6.Firewall 关闭防火墙和selinux

7.Package Selection
必装System-》Base
其他自选

8.Post-Installation Script
安装后运行的脚本添加一个用户
useradd test
echo 123 | passwd --stdin test

左上角,file-》Save 保存文件名为ks.cfg,保存到root下

mv /root/ks.cfg /var/www/html/

修改菜单文件,指定应答文件的位置
vim /var/lib/tftpboot/pxelinux.cfg/default
 append initrd=initrd.img ks =http://192.168.4.7/ks.cfg  
点赞

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注