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/* .

image_1cqt781r71fopfbgelieuh1qfj9.png-55.1kB

image_1cqt794lh13d42vu1ggr4qkurum.png-32.5kB

image_1cqt7cmf21dgak1pg4j1ps15cb13.png-8.3kB

 

安装TFTP服务

yum -y install tftp-server

image_1cqt7f5qte810oifhptkd13tk1g.png-11.2kB

 

修改配置文件

vim /etc/xinetd.d/tftp

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

image_1cqt7gibq1i5s68e1jpu1s819bj1t.png-38.4kB

 

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

/etc/init.d/xinetd start

chkconfig tftp on

image_1cqt7ib6jkd4d7d18ib14pmu272a.png-13.4kB

 

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

cd /var/ftp/centos6/isolinux

cp vmlinuz initrd.img /var/lib/tftpboot

image_1cqt7lig1pdq5pc675lm6svd2n.png-30.1kB

 

准备引导程序

yum -y install syslinux

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

image_1cqt7ngl3n8117shjv41lut12qt34.png-24.3kB

 

准备启动菜单

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

cd /var/lib/tftpboot

chmod 644 isolinux.cfg

image_1cqt7pbvg1m7u1vki1k6rb4h1e43h.png-29.7kB

 

修改启动菜单配置文件

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

image_1cqtd26sm18e7qt1qap1qabhmq2q.png-70.9kB

image_1cqt80aprsko4du1cpb1gqq1344b.png-32.8kB

 

配置文件详解

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

image_1cqt88eah1b4q1hcv1mhrp161a2t4o.png-34.3kB

image_1cqtal2b71jov1h0lvjf1ot31ipv9.png-74.2kB

image_1cqt8edb01eo41n8s8v9o7j92b55.png-30.6kB

image_1cqtap90df1i1n77r1u1uen124nm.png-55.3kB

 

新建虚拟机进行验证

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

文件-新建虚拟机

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

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

ftp://192.168.200.76/centos6

image_1cqtb0drh1ahficnnh21kmr15fv13.png-104.7kB

image_1cqtb34mp4cf1msn1s13gv11slu1g.png-37.5kB

image_1cqtd3sh72pm1mr3mcue5d1g7t3t.png-15.4kB

image_1cqtd6kh91lga1v7fgsk1hpdf2r4a.png-14.3kB

 

实现kickstart无人值守安装

yum -y install system-config-kickstart

应用程序-系统工具-kickstart

image_1cqteif1nr681um713ut10vj14jb9.png-61kB

image_1cqtek387194v18tj1f5111l5b6bm.png-123.1kB

 

kickstart配置程序

 

基本配置(Basic Configuration)

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

image_1cqtevj151no4pooo0of8r1fg913.png-78.4kB

 

安装方法(Installation Method)

执行新安装(Perform new installation)

FTP 
FTP服务器192.168.200.66 
FTP目录centos 6

image_1cqtfh69lau116inreo1ctk13cg1t.png-62.9kB

 

分区信息(Partition Information)

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

image_1cqtflrva11i21taa39988qm6a2a.png-51.8kB

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

image_1cqtfnensvd41m4j1ah7i65kbm2n.png-50.8kB

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

image_1cqtfqkpm11aoa51amb1vvr5a434.png-50.6kB

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

image_1cqtfti33pnplu7fembgq1v1e6h.png-51.4kB

 

网络配置(Network Configuration)

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

image_1cqtfvimhrb1v344im1aj415036u.png-65kB

 

防火墙设置(Firewall Configuration)

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

image_1cqtg271skia1tsvfb31dl92ff7b.png-48.5kB

 

显示配置(Display Configuration)

安装图形环境=取消勾选

image_1cqtg4avsdt311om7m2q4615g97o.png-40.4kB

 

软件包选择(Package Selection)

Web服务=PHP支持

image_1cqtg7ho51lbcl89eklbb1rgn85.png-67.4kB

语言支持=中文支持

image_1cqtgbk2k14kc1000a2h1705spt8i.png-81.8kB

数据库=MySQL数据库

image_1cqtgehtg1b93i911q1t1km11mpv9h.png-67.8kB

 

安装后脚本(Post-Installation Script)

使用解释器=/bin/bash

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

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

image_1cqtgfp4gcbf1kvtkifci4husa1.png-56.7kB

 

完成后保存(file)

文件=保存

image_1cqtghkhh1p9419rp14bl1sm61os5ae.png-9.2kB

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

image_1cqtgidfc32u9tu2ob1it81et6ar.png-16.8kB

 

复制配置文件和权限

cp ks.cfg /var/ftp

chmod 777 /var/ftp/ks.cfg

image_1cqtgo1cuc5r14qrg42r3512cidn.png-33kB

 

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

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

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

image_1cqtgval01gub1el64sv6tc1sade4.png-54.3kB

 

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

cd /var/ftp

vim ks.cfg

在第三行下面添加 
unsupported_hardware

image_1cqth3hnh1apoqa31ev4tqqnmbeh.png-14.1kB

 

测试阶段

image_1cqth909k184jro41tv4g7g1iqieu.png-24kB

image_1cqthbpc1dgj14d4uqndv11aksfb.png-11.3kB

image_1cqthceqv1k4d1168fdu181c1qv3fo.png-13kB

原文地址:https://www.cnblogs.com/linyaonie/p/9867706.html