PXE自动装机。

Posted linyaonie

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PXE自动装机。相关的知识,希望对你有一定的参考价值。

PXE自动装机

因为自动装机没有IP地址需要使DHCP分发一个IP地址

TFTP就是FTP的一个变种

 

PXE自动装机需要桌面模式

假如不是桌面模式安装的PXE需要安装桌面模式软件包

yum groupinstall "Desktop"

 

PXE搭建流程

 

准备CentOS6安装源

mount /dev/sr0 /media/cdrom

mkdir -p /var/ftp/centos6

cd /var/ftp/centos6

cp -rp /media/cdrom/* .

技术分享图片

技术分享图片

技术分享图片

 

安装TFTP服务

yum -y install tftp-server

技术分享图片

 

修改配置文件

vim /etc/xinetd.d/tftp

 
  1. wati=no --->无需等待,同一时刻可以有多个客户端连接(修改为no)
  2. server args = -s /var/lib/tftpboot --->tftp服务的根目录不需要修改
  3. disable=no --->开启tftp服务(修改为no)

技术分享图片

 

完成后启动服务和开机启动

/etc/init.d/xinetd start

chkconfig tftp on

技术分享图片

 

准备Linux内核,初始化镜像文件

cd /var/ftp/centos6/isolinux

cp vmlinuz initrd.img /var/lib/tftpboot

技术分享图片

 

准备引导程序

yum -y install syslinux

cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot

技术分享图片

 

准备启动菜单

cp /var/ftp/centos6/isolinux/isolinux.cfg /var/lib/tftpboot

cd /var/lib/tftpboot

chmod 644 isolinux.cfg

技术分享图片

 

修改启动菜单配置文件

vim isolinux.cfg

 
  1. default linux --->主机名
  2. prompt 0 --->手动添加不进行交互
  3. #timeout --->超时时间注释掉就可以
  4. label vesa --->修改为label text
  5. 第二个字段append initrd --->修改成append text initrd
  6. 第三个字段append initrd --->修改成append rescue initrd

cd /var/lib/tftpboot

mkdir pxelinux.cfg

mv isolinux.cfg pxelinux.cfg/default

技术分享图片

技术分享图片

 

配置文件详解

initrd.img --->初始化镜像文件

pxelinux.0 --->PXE引导程序

vmlinuz --->Linux内核

 

安装并启动DHCP服务

yum -y install dhcp

cp /usr/share/doc/dhcp*/dhcpd.conf.sample /etc/dhcp

cat dhcpd.conf.sample > dhcpd.conf

vim /etc/dhcp/dhcpd.conf

 
  1. #名字随便起
  2. option domain-name "sl";
  3. #DNS服务器的IP地址
  4. option domain-name-servers 192.168.200.2;
  5. #最小租约时间
  6. default-lease-time 21600;
  7. #最大租约时间
  8. max-lease-time 43200;
  9. #日志
  10. log-facility local7;
  11. #subnet代表声明分发IP网段
  12. #range代表分发IP范围
  13. #routers代表路由也是网关ip
  14. #next-server代表找PXE服务的IP
  15. #filename代表要什么文件
  16. subnet 192.168.200.0 netmask 255.255.255.0 {
  17. range 192.168.200.100 192.168.200.200;
  18. option routers 192.168.200.2;
  19. next-server 192.168.200.76;
  20. filename "pxelinux.0";
  21. }

/etc/init.d/dhcpd start

ss -antup | grep 67

yum -y install vsftpd

/etc/init.d/vsftpd start

技术分享图片

技术分享图片

技术分享图片

技术分享图片

 

新建虚拟机进行验证

编辑-虚拟网络编辑器-更改设置-NAT模式=使用本地DHCP取消勾选

文件-新建虚拟机

网络适配器-自定义=NAT模式

进入界面选择English-us-URL-OK

ftp://192.168.200.76/centos6

技术分享图片

技术分享图片

技术分享图片

技术分享图片

 

实现kickstart无人值守安装

yum -y install system-config-kickstart

应用程序-系统工具-kickstart

技术分享图片

技术分享图片

 

kickstart配置程序

 

基本配置(Basic Configuration)

设置语言,键盘,时区,Root密码,安装完毕后重启,在文本模式中执行安装(默认为图形化模式)

技术分享图片

 

安装方法(Installation Method)

执行新安装(Perform new installation)

FTP 
FTP服务器192.168.200.66 
FTP目录centos 6

技术分享图片

 

分区信息(Partition Information)

添加-挂载点=/boot-文件系统类型=ext4-固定大小=200-确定

技术分享图片

添加-文件系统类型=交换-固定大小=2048-确定

技术分享图片

添加-挂载点=/-文件系统类型=ext4-使用磁盘上全部未用空间-确定

技术分享图片

清除主引导记录-删除所有现存分区-初始化磁盘标签

技术分享图片

 

网络配置(Network Configuration)

添加网络设备-网络设备=eth0-网络类型=dhcp-确定

技术分享图片

 

防火墙设置(Firewall Configuration)

Linux安全增强版=禁用-安全级别=禁用防火墙

技术分享图片

 

显示配置(Display Configuration)

安装图形环境=取消勾选

技术分享图片

 

软件包选择(Package Selection)

Web服务=php支持

技术分享图片

语言支持=中文支持

技术分享图片

数据库=mysql数据库

技术分享图片

 

安装后脚本(Post-Installation Script)

使用解释器=/bin/bash

在下面键入您的%post脚本 
脚本内容

技术分享图片

 

完成后保存(file)

文件=保存

技术分享图片

名称=ks.cfg-保存于文件夹=root-保存

技术分享图片

 

复制配置文件和权限

cp ks.cfg /var/ftp

chmod 777 /var/ftp/ks.cfg

技术分享图片

 

修改启动菜单文件,调用应答文件

vim /var/lib/tftpboot/pxelinux.cfg/default

append initrd=initrd.img ks=ftp://192.168.200.76/ks.cfg

技术分享图片

 

无人值守安装时,遇到内核过旧如何让它不提示

cd /var/ftp

vim ks.cfg

在第三行下面添加 
unsupported_hardware

技术分享图片

 

测试阶段

技术分享图片

技术分享图片

技术分享图片





以上是关于PXE自动装机。的主要内容,如果未能解决你的问题,请参考以下文章

PXE网络装机及kickstart无人值守自动装机技术

PXE自动装机

PXE网络装机之centos7(批量自动装机)

PXE自动装机

PXE自动装机

批量装机环境,配置PXE引导,kickstart自动应答