################################PXE##################################
pxe-server
ifconfig(192.168.2.2)
安装所需要的服务及修改相应配置文件:
1.用yum来安装所需要的软件包,先来搭建yum光盘源:
umount /dev/cdrom
mkdir /media/cdrom
mount /dev/cdrom /media/cdrom
rm -rf /etc/yum.repod.d/*
cat > /etc/yum.repod.d/pxe.repo <<end
[local]
name=tony
baseurl=file:///media/cdrom
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
end
2.安装vsftpd服务以及开启服务,设置为开机自动启动
yum install vsftpd �Cy
在/var/ftp目录下创建一个pxe/目录,并将rhel6光盘中的所有文件都复制到此目录下
mkdir /var/ftp/pxe
cp -rf /media/cdrom/* /var/ftp/pxe/
service vsftpd start
chkconfig vsftpd on (设置ftp服务开机启动)
3.在防火墙添加策略
iptables -F
iptables -X
iptables -I INPUT -p tcp --dport 21 -j ACCEPT
service iptables save
4.添加ftp被动模块并重启ftp服务
vim /etc/sysconfig/iptables-config
service vsftpd restart
5.安装TFTP,修改tftp配置文件及开启服务
yum -y install tftp-server
vim /etc/xinetd.d/tftp
接着重新启动xinetd服务,然后查看服务端口是否打开。
service xinetd start
OK,TFTP服务正常启动。Xinetd服务本来就是开机启动的,所以这里我们不再需要设置。
注意:但是要注意linux的防火墙规则,一定要允许UDP端口69的通信。
iptables -I INPUT -p udp --dport 69 -j ACCEPT
service iptables save
6.安装dhcp,修改配置文件及开启服务:
yum -y install dhcp
vim /etc/dhcp/dhcpd.conf
接着启动DHCP,设置为开机启动
service dhcpd start
chkconfig dhcpd on (设置dhcpd服务开机启动)
dhcpd (使用dhcpd命令检查dhcpd服务的配置文件是否有语法错误)
7.准备Linux内核,初始化镜像文件
用于PXE网络安装的Linux内核,初始化镜像文件可以从RHEL 6系统光盘获得,分别为vmlinuz和initrd.Img位于文件夹images/pxeboot中。找到这两个文件并将其复制到tftp服务的根目录下。
cd /media/cdrom/images/pxeboot/
cp vmlinuz initrd.img /var/lib/tftpboot/
ls /var/lib/tftp
8.准备PXE引导程序,启动菜单文件
用于PXE网络安装的引导程序为pxelinux.0,由软件包syslinux提供。安装好软件包syslinux,然后将文件pxelinux.0也复制大盘tftp服务的根目录下。
yum -y install syslinux
启动菜单用来指导客户机的引导过程,包括如何调用内核,如何加载初始化镜像。默认的启动菜单文件为default,应放置在tftp根目录的pxelinux.cfg子目录中,典型的启动菜单配置可参考一下操作手动建立。将/media/isolinux/isolinux.cfg文件复制到/var/lib/tftpboot/pxelinu.cfg/改名为default
cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/
ls /var/lib/tftpboot
mkdir /var/lib/tftpboot/pxelinux.cfg
cp /media/cdrom/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default
vim /var/lib/tftpboot/pxelinux.cfg/default
更改default文件的权限
ll /var/lib/tftpboot/pxelinux.cfg/default
chmod 644 /var/lib/tftpboot/pxelinux.cfg/default
ll /var/lib/tftpboot/pxelinux.cfg/default
上述配置记录中定义了三个引导入口,分别为图形安装(默认),文本安装,救援模式。其中,prompt用来设置是否等待用户选择,label用来定义并分割启动项,kernel和append用来定义引导参数。引导入口的个数及内容根据需要自定义,例如,实现无人值守安装时需要一个入口就够了。
其中第1行:default auto表示指定默认入口名称;第2行:prompt 1中prompt用来设置是否等待用户选择,1表示等待用户控制。
9.验证PXE网络装机
搭建好PXE远程安装服务器以后,就可以使用客户机进行安装测试了。对于新购买的服务器或PC裸机,一般不需要额外设置;若要为以有系统的主机重装系统,则可能需要修改BLOS设置,将"Boot First"设为"NETWORK"或"LAN",然后重启主机。也就是修改第一启动项。
如果服务器配置正确,网络连接,PXE支持等都没有问题,则客户机重启后将自动配置ip地址,然后从TFTP服务器中获取引导程序pxelinu.0,并根据引导菜单配置提示用户指定启动入口。
在提示字串"boot"后直接按Enter键(或执行"auto"),将会进入默认的图形安装入口;若执行"linux test"则进入文本安装入口;若执行"linux rescue"则进入救援模式。依次选择语言,键盘了;类型,然后会提示用户指定安装介质。本例中选择"URL"如图所示。
提示配置TCP/IP时,IPv4设置可接受默认的DHCP获取方式,而IPv6支持应取消,如图所示。
接下来在"URL Setup"对话框中指定RHEL 6安装源的URL路径。
实现Kickstart无人值守安装(上述实验基础)
方法:FTP+TFTP+DHCP+Kickstart+PXE
上面学习了通过PXE技术远程安装rhel 6系统的方法,安装介质不再寿险与光盘,移动硬盘等设备,大大提高了系统安装的灵活性。然而安装期间仍需要手动选择语言,键盘类型,指定安装源等一系列交互操作,当需要批量安装时显得非常不便。
下面将进一步学习如何实现无人值守自动安装,通过Kickstart工具配置安装应答文件,自动完成安装过程的各种设置,从而无需手动干预,提高网络装机效率。
准备工作完成,我们开始配置Kickstart
安装system-config-kickstart软件包
yum -y install system-config-kickstart
接下来我们在图形界面打开终端输入system-config-kickstart弹出来界面。
我们设置下默认安装的语言,时区,根口令,然后勾选下面的安装后重新引导。然后选择安装方法。
我们配置ftp服务器的安装方法。选择执行新安装。然后点击引导装载程序选项
到这一步,选择部分参考我的。布局这里,我们自己设置下分区大小。
网络这里,默认没有,点击添加网络,设备名称为eth0,网络类型为dhcp
使用默认配置
防火墙和selinux根据自己需求选择开启或者禁用
在这里勾选一些包,默认可能没有勾选桌面。根据自己需求勾选。后面剩余的两项不需要配置。
安装脚本:在"预安装脚本","安装后脚本"对话框中,可以分别添加在安装前、安装后自动动行的可执行语句。此项设置使服务器自动化配置变得更加容易,例如可以在客户机在完成安装后自动设置YUM仓库,如下图所示,需要注意的是:应确保所编写的代码能够正确执行,以免安装失败。
然后点击左上角的文件选择保存,选择下保存的路径,然后复制ks.cfg文件到/var/ftp/目录下:
启动自动应答文件:
vim/var/lib/tftpboot/pxelinux.cfg/default
还记的/tftpboot/pxelinux.cfg/default文件中设置过ks=ftp://192.168.2.2/ks.cfg因此必须执行上面的一步
注意:
建议关闭防火墙和selinux,如果没有关闭的话,tftp服务会有问题。不信可以试试。
设置防火墙:
#iptables -F
#service iptables save
关闭selinux功能:有如下两种方法可以实现
永久关闭selinux功能:修改/etc/sysconfig/selinux文件,将SELINUX=enforcing改为disable,要重启系统才生效
临时关闭selinux功能:#setenforce 0 不需要重启系统
若使用vmware虚拟机,要把vmware虚拟机软件所提供的DHCP功能停掉
接下来启动你要安装的机器了(设置为网络引导安装,你就可以休息下,等待自己安装完成)
实现批量自动装机
安装过程中不需要任何手动操作,一切都是自动完成的,如果报错或者是需要你手动设置的,需要检查ks.cfg文件的配置,安装时如下图。
等进度完成就ok了。