PXE自动装机

  因为自动装机没有IP要使DHCP分发一个IP地址,装一个FTP服务器分发文件,这些文件是引导装机的文件

TFTP就是FTP的一个变种

 

PXE自动装机需要桌面模式

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

yum groupinstall "Desktop"

 

PXE搭建流程

 

准备CentOS6安装源

mount /dev/sr0 /media/cdrom

mkdir -p /var/ftp/centos6(通过FTP访问我的光盘源)

cd /var/ftp/centos6

cp -rp /media/cadrom/* .(将光盘的内容复制到/var/ftp/centos6目录下)

 

安装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内核(FTP要把光盘里的引导文件分发给客户端),始化镜像文件

cd /var/ftp/centos6/isolinux

cp vmlinuz initrd.img /var/lib/tftpboot         将引导文件vmlinuzinitrd.img 复制到 /var/lib/tftpboot/下(FTP的目录)

  

 

u准备引导程序

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

cat /usr/share/doc/dhcp*/dhcpd.conf.sample > /etc/dhcp/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.132;
  20. filename "pxelinux.0";
  21. }

/etc/init.d/dhcpd start

ss -antup | grep 67

yum -y install vsftpd

/etc/init.d/vsftpd start

 

关闭两个服务

service iptables stop
setenforce 0

客户端连接服务端ftp 192.168.200.132,如果没有ftp,需要用yum安装

 

 

新建虚拟机进行验证

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

文件-新建虚拟机

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

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

ftp://192.168.200.132/centos6

 

 

 

 

实现kickstart无人值守安装

yum -y install system-config-kickstart

应用程序-系统工具-kickstart

yum groupinstall "Desktop"  最小化系统造作需要安装Desktop,正常是桌面模式操作,安装完了需要重启,开启后进入桌面模式

 

kickstart配置程序

 

基本配置(Basic Configuration)

 

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

 

 

安装方法(Installation Method)

执行新安装(Perform new installation)

FTP 
FTP服务器192.168.200.132
FTP目录centos 6

 

 

 

 

 

分区信息(Partition Information)

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

 

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

 

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

 

 

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

 

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

       

 

网络配置(Network Configuration)

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

 

防火墙设置(Firewall Configuration)

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

 

显示配置(Display Configuration)

安装图形环境=取消勾选

 

软件包选择(Package Selection)

Web服务=PHP支持

 

 

 语言支持=中文支持

数据库=MySQL数据库

 

安装后脚本(初始化脚本)(Post-Installation Script)

使用解释器=/bin/bash

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

这里只是演示作用,正常不写脚本的话Use an interpreter选项不需要打勾。

 

 

完成后保存(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

测试阶段

 

 

 

 

  

posted @ 2018-12-09 20:35  张.杰  阅读(453)  评论(0编辑  收藏  举报