################################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

rhel6 PXE网络装机和Kickstart无人值守安装_pxe





2.安装vsftpd服务以及开启服务,设置为开机自动启动

yum install vsftpd –y

rhel6 PXE网络装机和Kickstart无人值守安装_软件包_02

/var/ftp目录下创建一个pxe/目录,并将rhel6光盘中的所有文件都复制到此目录下

mkdir /var/ftp/pxe
cp -rf /media/cdrom/* /var/ftp/pxe/
service vsftpd start
chkconfig vsftpd on (设置ftp服务开机启动)

rhel6 PXE网络装机和Kickstart无人值守安装_配置文件_03


rhel6 PXE网络装机和Kickstart无人值守安装_Kickstart_04


3.在防火墙添加策略

iptables -F
iptables -X
iptables -I INPUT -p tcp --dport 21 -j ACCEPT
service iptables save

rhel6 PXE网络装机和Kickstart无人值守安装_软件包_05


4.添加ftp被动模块并重启ftp服务

vim /etc/sysconfig/iptables-config

rhel6 PXE网络装机和Kickstart无人值守安装_Kickstart_06

service vsftpd restart

rhel6 PXE网络装机和Kickstart无人值守安装_pxe_07


5.安装TFTP,修改tftp配置文件及开启服务

yum -y install tftp-server

rhel6 PXE网络装机和Kickstart无人值守安装_Kickstart_08

vim /etc/xinetd.d/tftp

rhel6 PXE网络装机和Kickstart无人值守安装_Kickstart_09

接着重新启动xinetd服务,然后查看服务端口是否打开。

service xinetd start

rhel6 PXE网络装机和Kickstart无人值守安装_软件包_10

OKTFTP服务正常启动。Xinetd服务本来就是开机启动的,所以这里我们不再需要设置。

注意:但是要注意linux的防火墙规则,一定要允许UDP端口69的通信。

iptables -I INPUT -p udp --dport 69 -j ACCEPT
service iptables save

rhel6 PXE网络装机和Kickstart无人值守安装_配置文件_11


6.安装dhcp,修改配置文件及开启服务:

yum -y install dhcp

rhel6 PXE网络装机和Kickstart无人值守安装_配置文件_12

vim /etc/dhcp/dhcpd.conf

rhel6 PXE网络装机和Kickstart无人值守安装_软件包_13

接着启动DHCP,设置为开机启动

service dhcpd start
chkconfig dhcpd on (设置dhcpd服务开机启动)
dhcpd (
使用dhcpd命令检查dhcpd服务的配置文件是否有语法错误

rhel6 PXE网络装机和Kickstart无人值守安装_配置文件_14

rhel6 PXE网络装机和Kickstart无人值守安装_软件包_15


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

 用于PXE网络安装的Linux内核,初始化镜像文件可以从RHEL 6系统光盘获得,分别为vmlinuzinitrd.Img位于文件夹p_w_picpaths/pxeboot中。找到这两个文件并将其复制到tftp服务的根目录下。

cd /media/cdrom/p_w_picpaths/pxeboot/
cp vmlinuz initrd.img /var/lib/tftpboot/
ls /var/lib/tftp

rhel6 PXE网络装机和Kickstart无人值守安装_软件包_16


8.准备PXE引导程序,启动菜单文件

 用于PXE网络安装的引导程序为pxelinux.0,由软件包syslinux提供。安装好软件包syslinux,然后将文件pxelinux.0也复制大盘tftp服务的根目录下。

yum -y install syslinux

rhel6 PXE网络装机和Kickstart无人值守安装_配置文件_17


启动菜单用来指导客户机的引导过程,包括如何调用内核,如何加载初始化镜像。默认的启动菜单文件为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

rhel6 PXE网络装机和Kickstart无人值守安装_软件包_18

rhel6 PXE网络装机和Kickstart无人值守安装_软件包_19


更改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用来定义并分割启动项,kernelappend用来定义引导参数。引导入口的个数及内容根据需要自定义,例如,实现无人值守安装时需要一个入口就够了。

其中第1:default auto表示指定默认入口名称;第2行:prompt 1prompt用来设置是否等待用户选择,1表示等待用户控制。




9.验证PXE网络装机

    搭建好PXE远程安装服务器以后,就可以使用客户机进行安装测试了。对于新购买的服务器或PC裸机,一般不需要额外设置;若要为以有系统的主机重装系统,则可能需要修改BLOS设置,将"Boot First"设为"NETWORK""LAN",然后重启主机。也就是修改第一启动项。

    如果服务器配置正确,网络连接,PXE支持等都没有问题,则客户机重启后将自动配置ip地址,然后从TFTP服务器中获取引导程序pxelinu.0,并根据引导菜单配置提示用户指定启动入口。


rhel6 PXE网络装机和Kickstart无人值守安装_pxe_20

 在提示字串"boot"后直接按Enter键(或执行"auto"),将会进入默认的图形安装入口;若执行"linux test"则进入文本安装入口;若执行"linux rescue"则进入救援模式。依次选择语言,键盘了;类型,然后会提示用户指定安装介质。本例中选择"URL"如图所示。

rhel6 PXE网络装机和Kickstart无人值守安装_Kickstart_21

rhel6 PXE网络装机和Kickstart无人值守安装_pxe_22

rhel6 PXE网络装机和Kickstart无人值守安装_pxe_23

提示配置TCP/IP时,IPv4设置可接受默认的DHCP获取方式,而IPv6支持应取消,如图所示。

rhel6 PXE网络装机和Kickstart无人值守安装_配置文件_24

rhel6 PXE网络装机和Kickstart无人值守安装_pxe_25

接下来在"URL Setup"对话框中指定RHEL 6安装源的URL路径。

rhel6 PXE网络装机和Kickstart无人值守安装_软件包_26


rhel6 PXE网络装机和Kickstart无人值守安装_配置文件_27






实现Kickstart无人值守安装(上述实验基础)

方法:FTP+TFTP+DHCP+Kickstart+PXE

上面学习了通过PXE技术远程安装rhel 6系统的方法,安装介质不再寿险与光盘,移动硬盘等设备,大大提高了系统安装的灵活性。然而安装期间仍需要手动选择语言,键盘类型,指定安装源等一系列交互操作,当需要批量安装时显得非常不便。

下面将进一步学习如何实现无人值守自动安装,通过Kickstart工具配置安装应答文件,自动完成安装过程的各种设置,从而无需手动干预,提高网络装机效率。

准备工作完成,我们开始配置Kickstart


安装system-config-kickstart软件包

yum -y install system-config-kickstart

rhel6 PXE网络装机和Kickstart无人值守安装_软件包_28


接下来我们在图形界面打开终端输入system-config-kickstart弹出来界面。

rhel6 PXE网络装机和Kickstart无人值守安装_pxe_29

我们设置下默认安装的语言,时区,根口令,然后勾选下面的安装后重新引导。然后选择安装方法。

rhel6 PXE网络装机和Kickstart无人值守安装_配置文件_30

我们配置ftp服务器的安装方法。选择执行新安装。然后点击引导装载程序选项

rhel6 PXE网络装机和Kickstart无人值守安装_配置文件_31

到这一步,选择部分参考我的。布局这里,我们自己设置下分区大小。

rhel6 PXE网络装机和Kickstart无人值守安装_pxe_32

rhel6 PXE网络装机和Kickstart无人值守安装_软件包_33

网络这里,默认没有,点击添加网络,设备名称为eth0,网络类型为dhcp

rhel6 PXE网络装机和Kickstart无人值守安装_Kickstart_34

使用默认配置

rhel6 PXE网络装机和Kickstart无人值守安装_软件包_35

防火墙和selinux根据自己需求选择开启或者禁用

rhel6 PXE网络装机和Kickstart无人值守安装_配置文件_36

rhel6 PXE网络装机和Kickstart无人值守安装_配置文件_37

rhel6 PXE网络装机和Kickstart无人值守安装_软件包_38

在这里勾选一些包,默认可能没有勾选桌面。根据自己需求勾选。后面剩余的两项不需要配置。

安装脚本:在"预安装脚本""安装后脚本"对话框中,可以分别添加在安装前、安装后自动动行的可执行语句。此项设置使服务器自动化配置变得更加容易,例如可以在客户机在完成安装后自动设置YUM仓库,如下图所示,需要注意的是:应确保所编写的代码能够正确执行,以免安装失败。

rhel6 PXE网络装机和Kickstart无人值守安装_Kickstart_39

然后点击左上角的文件选择保存,选择下保存的路径,然后复制ks.cfg文件到/var/ftp/目录下:

rhel6 PXE网络装机和Kickstart无人值守安装_软件包_40


启动自动应答文件:

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

还记的/tftpboot/pxelinux.cfg/default文件中设置过ks=ftp://192.168.2.2/ks.cfg因此必须执行上面的一步

rhel6 PXE网络装机和Kickstart无人值守安装_软件包_41

rhel6 PXE网络装机和Kickstart无人值守安装_软件包_42


注意:

建议关闭防火墙和selinux,如果没有关闭的话,tftp服务会有问题。不信可以试试。

设置防火墙:

#iptables -F

#service iptables save

关闭selinux功能:有如下两种方法可以实现

永久关闭selinux功能:修改/etc/sysconfig/selinux文件,将SELINUX=enforcing改为disable,要重启系统才生效

临时关闭selinux功能:#setenforce 0 不需要重启系统

若使用vmware虚拟机,要把vmware虚拟机软件所提供的DHCP功能停掉

接下来启动你要安装的机器了(设置为网络引导安装,你就可以休息下,等待自己安装完成)



实现批量自动装机

安装过程中不需要任何手动操作,一切都是自动完成的,如果报错或者是需要你手动设置的,需要检查ks.cfg文件的配置,安装时如下图。


rhel6 PXE网络装机和Kickstart无人值守安装_Kickstart_43

rhel6 PXE网络装机和Kickstart无人值守安装_配置文件_44

rhel6 PXE网络装机和Kickstart无人值守安装_配置文件_45


等进度完成就ok了。