PXE自动化装机

Posted chen-guanzhou

tags:

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

一、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安装源

挂载光盘

[[email protected] ~]# mount /dev/sr0 /media/cdrom/
mount: block device /dev/sr0 is write-protected, mounting read-only

创建FTP的共享目录,并把系统资源放进去

[[email protected] ~]# mkdir -p /var/ftp/centos6
[[email protected] ~]# cp -rp /media/cdrom/* /var/ftp/centos6/  -> -r:强制复制  -p:保持属性不变

[[email protected] ~]# du -sh /var/ftp/  
4.2G /var/ftp/

2、安装TFTP服务

yum库安装TFTP

[[email protected] ~]# yum -y install tftp-server

打开TFTP配置文件

[[email protected] ~]# vim /etc/xinetd.d/tftp

技术分享图片

配置完成保存退出

 

开启tftp服务并加入开启自启

[[email protected] ~]# /etc/init.d/xinetd start  ->xinetd=tftp

技术分享图片

[[email protected] ~]# chkconfig tftp on

3、准备linux内核分发文件

[[email protected] ~]# cd /var/ftp/centos6/isolinux/  ->内核引导文件

 技术分享图片

[[email protected] isolinux]# cp vmlinuz initrd.img /var/lib/tftpboot/  ->将内核引导文件复制到tftp目录

安装引导程序

[[email protected] isolinux]# yum -y install syslinux

[[email protected] isolinux]# cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/  ->准备引导文件
[[email protected] isolinux]# cp /var/ftp/centos6/isolinux/isolinux.cfg /var/lib/tftpboot/  ->准备启动文件
[[email protected] isolinux]# ls /var/lib/tftpboot/

技术分享图片

修改权限和启动菜单配置

[[email protected] isolinux]# cd /var/lib/tftpboot/

[[email protected] tftpboot]# chmod 644 isolinux.cfg   ->修改权限,为了文件安全

[[email protected] tftpboot]# vim isolinux.cfg

技术分享图片

技术分享图片

配置完成保存退出

 

[[email protected] tftpboot]# pwd  ->当前路径
/var/lib/tftpboot
[[email protected] tftpboot]# mkdir pxelinux.cfg ->创建一个文件
[[email protected] tftpboot]# mv isolinux.cfg pxelinux.cfg/default  ->把isolinux.cfg移到pxelinux.cfg下并改名default(内核引导过程)

 4、安装并启动DHCP服务

[[email protected] tftpboot]# yum -y install dhcp

[[email protected] tftpboot]# cp /usr/share/doc/dhcp*/dhcpd.conf.sample /etc/dhcp/  ->复制dhcp配置模板

[[email protected] tftpboot]# cat /etc/dhcp/dhcpd.conf.sample > /etc/dhcp/dhcpd.conf  ->重定向配置模板到配置文件

[[email protected] tftpboot]# vim /etc/dhcp/dhcpd.conf  ->进入配置文件

技术分享图片

技术分享图片

配置完成保存退出

 

[[email protected] tftpboot]# /etc/init.d/dhcpd start  ->启动dhcp服务

技术分享图片

[[email protected] tftpboot]# netstat -anpu | grep 67  ->检dhcp是否监听端口

 技术分享图片

5、安装ftp测试dhcp和ftp

服务端:

[[email protected] tftpboot]# yum -y install vsftpd  ->还需要装一个服务端的vsftp服务

[[email protected] tftpboot]# /etc/init.d/vsftpd start  ->启动vsftp服务

技术分享图片

[[email protected] 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分发

技术分享图片

 挂载光盘

[[email protected] ~]# mount /dev/sr0 /media/cdrom/

 安装客户端ftp

[[email protected] ~]# yum -y install ftp

测试ftp连接服务端

技术分享图片

连接成功,能够读取服务端数据。

 

6.新建虚拟机进行安装

1.调整Bios,以便从网络引导

技术分享图片

 

技术分享图片虚拟机 -> 电源 ->打开电源时进入固件

 

 技术分享图片

技术分享图片

技术分享图片

技术分享图片

技术分享图片

技术分享图片

技术分享图片

技术分享图片

技术分享图片

技术分享图片

 

 6.实现kickstart无人值守装机

 安装kickstart

[[email protected] ftp]# yum -y install system-config-kickstart

安装桌面模式(因为这里开始使用的就是mini模式)

[[email protected] ftp]# yum groupinstall "Desktop"

[[email protected] ftp]# init 5  ->切换桌面

桌面模式命令 system-config-kickstart  或者下面这两种方式都能打开kickstart设置

技术分享图片

技术分享图片

技术分享图片

技术分享图片

技术分享图片

技术分享图片

技术分享图片想安装图形环境的可以不用管

技术分享图片

技术分享图片

技术分享图片

技术分享图片

 

将应答文件部署在客户机可以访问的位置

[[email protected] ~]# cp /root/ks.cfg /var/ftp/  ->把应答部署文件复制给ftp目录
[[email protected] ~]# chmod 777 /var/ftp/ks.cfg  ->修改部署文件的权限(程序用户ftp能拥有读写权限)

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

[[email protected] ~]# vim /var/lib/tftpboot/pxelinux.cfg/default

技术分享图片

配置完成保存退出

 

都重启一下各个服务(确保服务都开启)

/etc/init.d/dhcpd restart
/etc/init.d/xinetd restart 
/etc/init.d/vsftpd restart

技术分享图片

 

安装时还是会出现一个小卡顿(这个界面需要手动ok)

技术分享图片

解决方法:

 [[email protected] ~]# vim /var//ftp/ks.cfg  ->进入应答部署文件

技术分享图片

配置完成保存退出

 7.验证无人值守安装

技术分享图片

技术分享图片

 

8.总结

SElinux是否关闭,防火墙是否关闭,配置文件的服务端ip,各个配置文件路径,各个服务是否开启,端口是否监听

 













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

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

PXE自动化装机

PXE自动装机

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

PXE自动装机

PXE自动装机