DHCP+TFTP+NFS+PXE(网络引导装系统)

注意:# /etc/init.d/iptables  stop   关闭防火墙   service  iptables stop 

# mount  /dev/cdrom   /media    挂载光盘

   # mkdir  -p  /mnt/RHEL      /media目录中创建/RHEL目录用于存放光盘内部文件

   # cp  -rf  /media/*  /mnt/RHEL   将光盘所有文件复制到/mnt/RHEL目录中

   # vim  /etc/sysconfig/network-scripts/ifcfg-eth0设置IP 并能ping其他机器

   # vim  /etc/yum.repos.d/server.repo  搭建yum安装源

安装DHCP

   # yum  install  -y  dhcp* 安装dhcp  

   # cp  -rf  /usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample  /etc/dhcp/dhcpd.conf   复制配置文件实例

   # vim  /etc/dhcp/dhcpd.conf    编辑dhcpd.conf配置文件,配置如下图:

linux 系统 pxe(kickstart)无人值守安装

 

 # service  dhcpd  restart 

   # chkconfig  dhcpd  on

安装DNS

   # yum  install  -y   bind*  配置方法请参考DNS的配置文档

安装TFTP

   Tftp 协议简介:(TFTP Trivial  File  Transfer  Protocol  简单文件传输协议)是TCP/IP协议族中的一个用来在客户机与服务器之间进行简单文件传输的协议,提供不复杂、开销不大的文件传输服务。端口号69

   注意:当我们装tftp时会连同xinetd服务一起安装,tftp依赖于xinetd

   # yum  install  -y  tftp*    安装tftp

   # service  xinetd  start   启动tftp服务

   # chkconfig  xinetd  on 

   # vim  /etc/xinetd.d/tftp   编辑tftp配置文件 ,如下图:

 

linux 系统 pxe(kickstart)无人值守安装

 

 # service  xinetd  restart  重启tftp服务

   # netstat  -nlp  |  grep  69   查看tftp端口是否开启

   # service  nfs  start    启动nfs服务,在RHEL6.0nfs默认是安装完毕的。

   # chkconfig  nfs  on

   # chkconfig  --list  | grep  nfs 

OK,到目前为止DHCPTFTP服务已经搭建完毕......

在没有安装syslinux之前/var/lib/tftpboot/目录内是空的

   # cd /var/lib/tftpboot

   # mkdir  ks       tftpboot目录下创建ks目录,一会存放ks.cfg文件时用

   # ls

   # find  /  -name  "pxelinux.0"   找不到该名称的文件,"pxelinux.0"  pxe支持文件的位置

   # yum  install  -y  syslinux

   # find  /  -name  "pxelinux.0"   查看到了在/usr/share/syslinux/pxelinux.0

   # cp  -rp  /usr/share/syslinux/pxelinux.0   /var/lib/tftpboot/  pxelinux.0复制/var/lib/tftpboot

   # cp  -rp  /mnt/RHEL/isolinux/*  /var/lib/tftpboot/  isolinux下的所有文件复制到/var/lib/tftpboot

注意:isolinux目录在光盘中,但是我前面已经复制到/mnt/RHEL/下了,so我在这里复制

   # mkdir  pxelinux.cfg   /var/lib/tftpboot/目录下创建pxelinux.cfg 目录

   # cp  -r  isolinux.cfg  pxelinux.cfg/  isolinux.cfg复制到/pxelinux.cfg/目录中

   # mv  isolinux.cfg  default   isolinux.cfg重命名为default

   # chmod  777   default   设置权限

   # vim  /etc/dhcp/dhcpd.conf   配置dhcpd.conf,如下图:

 

linux 系统 pxe(kickstart)无人值守安装

 

我在dhcpd.conf中还做了以下修改,因为之前没有注释掉DHCP服务启动失败,注释掉后好了。

 

linux 系统 pxe(kickstart)无人值守安装

 

 # service  dhcpd  restart  重启dhcpd服务

   # service  xinetd  restart  重启xinetd服务

安装原理:

支持pxe的电脑开机(预先打开网卡pxe功能,网络引导),DHCP给该电脑分配一个IP,并指明下一跳TFTP文件服务器,机器在TFTP服务器上(/tftpboot文件夹下面)下载到一个pxelinux.0的文件,并拿到pxelinux.cfg文件夹下的default配置文件,根据该配置文件加载内核等操作,接下来完成手动安装。

如若我们安装了kickstart在该配置文件中可以指明ks.cfg文件的地址,这样实现全程无人化安装!

   # vim  /etc/exports       编辑NFS配置文件,实现共享

   /mnt/RHEL        *  (rw,sync)    设置所有机器能够访问到此目录中的系统安装文件

   /var/lib/tftpboot/ks  *  (ro)     设置所有机器能够访问到此目录中的ks.cfg脚本文件(备后用)

   #servi       ce  nfs  restart    重启nfs服务

OK,目前为止网络手动安装配置已经完成,可以试一下用NFS实现网络安装,在客户机开机并在BIOS下修改为网络安装,如下图:

 

linux 系统 pxe(kickstart)无人值守安装

接下来如图:

1linux 系统 pxe(kickstart)无人值守安装

 

2、默认是选择第一项,这里可以在/var/lib/tftpboot/pxelinux.cfg/default中修改

linux 系统 pxe(kickstart)无人值守安装

 

3、安装开始

 

linux 系统 pxe(kickstart)无人值守安装

 

4、

 

linux 系统 pxe(kickstart)无人值守安装

5、

linux 系统 pxe(kickstart)无人值守安装

 

6、这里选择"NFS  directory"

linux 系统 pxe(kickstart)无人值守安装

7、

linux 系统 pxe(kickstart)无人值守安装

8、

linux 系统 pxe(kickstart)无人值守安装

 

9、好了,以下可以等待手动配置安装了。

 

 

linux 系统 pxe(kickstart)无人值守安装

 

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

 

目前为止以上可以进行网络手动安装,如进行kickstart无人值守安装还需进行以下配置

   # yum  install  -y  system-config-kickstart

   # system-config-kickstart   打开kickstart图形配置界面

linux 系统 pxe(kickstart)无人值守安装

linux 系统 pxe(kickstart)无人值守安装

linux 系统 pxe(kickstart)无人值守安装 linux 系统 pxe(kickstart)无人值守安装

 

此分区,通过"Add"按钮自定义添加分区

 

linux 系统 pxe(kickstart)无人值守安装 linux 系统 pxe(kickstart)无人值守安装 linux 系统 pxe(kickstart)无人值守安装linux 系统 pxe(kickstart)无人值守安装

 

linux 系统 pxe(kickstart)无人值守安装 linux 系统 pxe(kickstart)无人值守安装

linux 系统 pxe(kickstart)无人值守安装

linux 系统 pxe(kickstart)无人值守安装

 

以上可以自定义选择所需要安装的程序

 

这里开始保存以上配置的ks.cfg信息,保存到/var/lib/tftpboot/ks/目录下,刚才上面已经创建了此目录

以下开始对KickStart生成的ks.cfg文件作适当参数修改

   # vim ks.cfg

 

 

linux 系统 pxe(kickstart)无人值守安装

linux 系统 pxe(kickstart)无人值守安装

linux 系统 pxe(kickstart)无人值守安装

linux 系统 pxe(kickstart)无人值守安装

 

 # chmod  707  ks.cfg    设置权限

   # vim  /var/lib/tftpboot/pxelinux.cfg/default   修改里面的参数

8

 

linux 系统 pxe(kickstart)无人值守安装

linux 系统 pxe(kickstart)无人值守安装

 # vim /etc/init.d/iptables  stop     service  iptables  stop   确保防火墙关闭

   # setenforce  0    确保关闭selinux

OK,到目前为止kickstart无人值守安装已经配置完毕,可以到客户机亲自试一下,顺便提醒您可以到其他地方休息去了,因为这里不需要你亲自值守啦。

linux 系统 pxe(kickstart)无人值守安装

linux 系统 pxe(kickstart)无人值守安装

 

linux 系统 pxe(kickstart)无人值守安装