一、PXE概述
PXE(preboot execute environment,预启动执行环境)是由Intel公司开发的最新技术,工作于Client/Server的网络模式,支持工作站通过网络从远端服务器下载映像,并由此支持通过网络启动操作系统,在启动过程中,终端要求服务器分配IP地址,再用TFTP(trivial file transfer protocol)或MTFTP(multicast trivial file transfer protocol)协议下载一个启动软件包到本机内存中执行,由这个启动软件包完成终端基本软件设置,从而引导预先安装在服务器中的终端操作系统。PXE可以引导多种操作系统。
二、PXE自动装机步骤
1、准备CentOS 6安装源
挂载光盘
[root@localhost ~]# mount /dev/sr0 /media/cdrom/
mount: block device /dev/sr0 is write-protected, mounting read-only
创建FTP的共享目录,并把系统资源放进去
[root@localhost ~]# mkdir -p /var/ftp/centos6
[root@localhost ~]# cp -rp /media/cdrom/* /var/ftp/centos6/ -> -r:强制复制 -p:保持属性不变
[root@localhost ~]# du -sh /var/ftp/
4.2G /var/ftp/
2、安装TFTP服务
yum库安装TFTP
[root@localhost ~]# yum -y install tftp-server
打开TFTP配置文件
[root@localhost ~]# vim /etc/xinetd.d/tftp
配置完成保存退出
开启tftp服务并加入开启自启
[root@localhost ~]# /etc/init.d/xinetd start ->xinetd=tftp
[root@localhost ~]# chkconfig tftp on
3、准备linux内核分发文件
[root@localhost ~]# cd /var/ftp/centos6/isolinux/ ->内核引导文件
[root@localhost isolinux]# cp vmlinuz initrd.img /var/lib/tftpboot/ ->将内核引导文件复制到tftp目录
安装引导程序
[root@localhost isolinux]# yum -y install syslinux
[root@localhost isolinux]# cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/ ->准备引导文件
[root@localhost isolinux]# cp /var/ftp/centos6/isolinux/isolinux.cfg /var/lib/tftpboot/ ->准备启动文件
[root@localhost isolinux]# ls /var/lib/tftpboot/
修改权限和启动菜单配置
[root@localhost isolinux]# cd /var/lib/tftpboot/
[root@localhost tftpboot]# chmod 644 isolinux.cfg ->修改权限,为了文件安全
[root@localhost tftpboot]# vim isolinux.cfg
配置完成保存退出
[root@localhost tftpboot]# pwd ->当前路径
/var/lib/tftpboot
[root@localhost tftpboot]# mkdir pxelinux.cfg ->创建一个文件
[root@localhost tftpboot]# mv isolinux.cfg pxelinux.cfg/default ->把isolinux.cfg移到pxelinux.cfg下并改名default(内核引导过程)
4、安装并启动DHCP服务
[root@localhost tftpboot]# yum -y install dhcp
[root@localhost tftpboot]# cp /usr/share/doc/dhcp*/dhcpd.conf.sample /etc/dhcp/ ->复制dhcp配置模板
[root@localhost tftpboot]# cat /etc/dhcp/dhcpd.conf.sample > /etc/dhcp/dhcpd.conf ->重定向配置模板到配置文件
[root@localhost tftpboot]# vim /etc/dhcp/dhcpd.conf ->进入配置文件
配置完成保存退出
[root@localhost tftpboot]# /etc/init.d/dhcpd start ->启动dhcp服务
[root@localhost tftpboot]# netstat -anpu | grep 67 ->检dhcp是否监听端口
5、安装ftp测试dhcp和ftp
服务端:
[root@localhost tftpboot]# yum -y install vsftpd ->还需要装一个服务端的vsftp服务
[root@localhost tftpboot]# /etc/init.d/vsftpd start ->启动vsftp服务
[root@localhost tftpboot]# netstat -antup | grep vsftpd ->查看vsftp是否监听端口
重点:
SElinux是否关闭
查看SELinux状态:/usr/sbin/sestatus -v #如果SELinux status参数为enabled即为开启状态
1.临时关闭(不用重启机器)
setenforce 0 ->设置SELinux 成为permissive模式
->setenforce 1 设置SELinux 成为enforcing模式
2.修改配置文件需要重启机器
修改/etc/selinux/config 文件
将SELINUX=enforcing改为SELINUX=disabled
reboot ->重启
防火墙是否关闭
查看防火墙状态:service iptables status
1.暂时关闭防火墙: service iptables stop
2.禁止防火墙在开机时启动:chkconfig iptables off
设置防火墙在开机时启动:chkconfig iptables on
客户端:
断开本地dhcp分发
挂载光盘
[root@localhost ~]# mount /dev/sr0 /media/cdrom/
安装客户端ftp
[root@localhost ~]# yum -y install ftp
测试ftp连接服务端
连接成功,能够读取服务端数据。
6.新建虚拟机进行安装
1.调整BIOS,以便从网络引导
虚拟机 -> 电源 ->打开电源时进入固件
6.实现kickstart无人值守装机
安装kickstart
[root@localhost ftp]# yum -y install system-config-kickstart
安装桌面模式(因为这里开始使用的就是mini模式)
[root@localhost ftp]# yum groupinstall "Desktop"
[root@localhost ftp]# init 5 ->切换桌面
桌面模式命令 system-config-kickstart 或者下面这两种方式都能打开kickstart设置
想安装图形环境的可以不用管
将应答文件部署在客户机可以访问的位置
[root@localhost ~]# cp /root/ks.cfg /var/ftp/ ->把应答部署文件复制给ftp目录
[root@localhost ~]# chmod 777 /var/ftp/ks.cfg ->修改部署文件的权限(程序用户ftp能拥有读写权限)
修改启动菜单文件,调用应答文件
[root@localhost ~]# vim /var/lib/tftpboot/pxelinux.cfg/default
配置完成保存退出
都重启一下各个服务(确保服务都开启)
/etc/init.d/dhcpd restart
/etc/init.d/xinetd restart
/etc/init.d/vsftpd restart
安装时还是会出现一个小卡顿(这个界面需要手动ok)
解决方法:
[root@localhost ~]# vim /var//ftp/ks.cfg ->进入应答部署文件
配置完成保存退出
7.验证无人值守安装
8.总结
SElinux是否关闭,防火墙是否关闭,配置文件的服务端ip,各个配置文件路径,各个服务是否开启,端口是否监听