PXE自动装机
一、PXE概述
PXE(preboot execute environment,预启动执行环境)是由Intel公司开发的最新技术,工作于Client/Server的网络模式,支持工作站通过网络从远端服务器下载映像,并由此支持通过网络启动操作系统,在启动过程中,终端要求服务器分配IP地址,再用TFTP(trivial file transfer protocol)或MTFTP(multicast trivial file transfer protocol)协议下载一个启动软件包到本机内存中执行,由这个启动软件包完成终端基本软件设置,从而引导预先安装在服务器中的终端操作系统。PXE可以引导多种操作系统。
二、PXE自动装机特点
①先能远程装机 ②自动化,不需要人工
三、PXE自动装机步骤
1、准备CentOS 6安装源
先挂载光盘
使用FTP服务,将安装源放至/var/ftp/centos6/下
mkdir -p /var/ftp/centos6
cp -rp /media/cdrom/* /var/ftp/centos6==>将挂载的光盘复制到centos6下
2、安装TFTP服务==>yum -y install tftp-server
——打开tftp配置文件==>vim /etc/xinetd.d/tftp
将service tftp的wait改成no ==>无需等待,同一时刻可以有多个客户端连接
将service tftp的disable也改成no ==>开启tftp服务
——配置完成
开启xinetd服务==>/etc/init.d/xinetd start (xinetd就是tftp)
将tftp改成开机启动==>chkconfig tftp on
3、准备linux内核分发文件
cd /var/ftp/centos6/isolinux ==>内核引导文件
将内核引导文件复制到tftp目录(/var/lib/tftpboot)==>cp vmlinuz initrd.img /var/lib/tftpboot
还需要复制两个文件到tftp目录:
需要先安装syslinux==>yum -y install syslinux
然后将/usr/share/syslinux/pxelinus.0(准备引导文件)复制到/var/lib/tftpboot(tftp目录)
和/var/ftp/centos6/isolinux/isolinux.cfg(准备启动文件)复制到/var/lib/tftpboot(tftp目录)
进入tftp目录将isolinux.cfg权限改成644==>chmod 644 isolinux.cfg
——修改isolinux.cfg内核启动文件==>vim isolinux.cfg
第一行default linux==>修改名字
下面改成prompt 0==>代表不进行交互
将timeout 600注释掉==>超时时间
——配置完成
在tftp目录下创建一个pxelinux.cfg目录==>mkdir pxelinux.cfg
将isolinux.cfg移动到pxelinux.cfg下并改名成default==>mv isolinux.cfg pxrlinux.cfg/default
4、安装并启动DHCP服务
yum -y install dhcp
复制dhcp的模板==>cp /usr/share/doc/dhcp*/dhcpd.conf/sample /etc/dhcp/
cat /etc/dhcp/dhcpd.conf.sample > /etc/dhcp/dhcpd.conf
——修改dhcp的配置文件==>vim /etc/dhcp/dhcpd.conf
option domain-name "name";==>名字随便改
option domain-name-servers 192.168.200.2;==>设定DNS
下面最小时间(default-lease-time)改成21600;最大时间(max-lease-time)改成43200
下面声明:
subnet 192.168.200.0 netmask 255.255.255.0 { ==>网段和掩码
range 192.168.200.100 192.168.200.200; ==>范围
option routers 192.168.200.2; ==>网关
next-server 192.168.200.126; ==>PEX服务器的地址
filename "pxelinux.0"; ==>要一个pxe内核引导文件
}
——配置完成
启动dhcp服务==>service dhcpd start
netstat -antup | grep 67 ==>查看dhcpd的端口是否启动
5、安装ftp
yum -y install vsftpd
启动vsftpd服务==>/etc/init.d/vsftpd start
>>>实现kickstart无人值守装机
安装kickstart==>yum -y install system-config-kickstart
安装桌面模式命令==>yum -y groupinstall "Desktop"
进入到桌面模式==>init 5
左上角应用程序—>系统工具—>kickstart点开==>自己设定一个安装脚本
设置语言、时区、根口令(root密码)、安装后重新引导系统、在文本模式中执行安装(不进图形界面)
安装方法==>设置FTP服务器和FTP目录
分区信息==>主引导记录—>清楚主引导记录
分区—>删除所有现存分区
磁盘标签—>初始化磁盘标签
布局—>挂载点:/boot、文件系统类型:ext4、固定大小(200M)
再分swap分区:文件系统类型:交换、固定大小(2048)
其他所有:挂载点:/(都给根)、文件系统类型:ext4、大小选项:使用磁盘全部未用空间
网络配置==>添加网络设备—>设备:eth0、网络类型:DHCP
防火墙配置==>Linux安全增强版:禁用、安全级别:禁用防火墙
显示配置==>安装图形环境去掉勾
软件包选择==>自己看着装(Package Selection)
安装后脚本==>勾选使用解释器:/bin/bash、下面可以写脚本装完机后自动执行
左上角文件—>保存—>名称ks.cfg、保存于文件夹root
!!!重启后需要把dhcpd xinetd vsftpd重启服务
将ks.cfg复制到/var/ftp/==>cp /root/ks.cfg /var/ftp ==>能够让所有的装机把这个文件下载
修改ks.cfg的权限==>chmod 777 /var/ftp/ks.cfg ==>给他最高权限
修改内核启动文件==>vim /var/lib/tftpboot/pxelinux.cfg/default
第九行append initrd=initrd.img ks=ftp://192.168.200.126/ks.cfg ==>自动找这个文件
——配置完成
这时候装机会卡一下,解决方法:在ks.cfg文件中加入unsupported_hardware
vim /var/ftp/ks.cfg
第四行插入unsupported_hardware
>>>配置完成,开启自动化装机
》》》等着自动安装完成即可