一、实验目标:

1. 通过网络为客户机(裸机)安装RHEL 6.5操作系统
2. 为装好的客户机自动配置YUM、安装并启用httpd网站服务
3. 配置 kickstart 无人值守安装

 二、案例环境准备

1. PXE 服务器
    操作系统:RHEL 6.5
    主机名:pxesvr.xxx.com
    IP地址:192.168.4.1/24      
    ——  关闭 iptables 防火墙、SELinux防护机制
2. PXE 客户机
    新建一台RHEL6虚拟机(裸机)
    内存:1GB
    硬盘:20GB
    光盘:无
   !!!! 注意:客户机与服务器应在同一物理网段,并排除其他DHCP服务器的干扰

 三、搭建PXE装机服务器

1. 准备RHEL 6.5安装源(以YUM源的方式提供)

[root@pxesvr ~]# yum  -y  install  vsftpd         //。。。安装FTP服务器
[root@pxesvr ~]# service  vsftpd  restart         //启动 vsftpd 服务
[root@pxesvr ~]# chkconfig  vsftpd  on          //设置 vsftpd 服务开机自运行
[root@pxesvr ~]# cp  -rf  /misc/cd/*  /var/ftp/rhel6/    //拷贝RHEL6.4光盘中的所有文档
[root@pxesvr ~]# vim  /etc/yum.repos.d/rhel6.repo       //调整本机的YUM仓库设置,以便测试
[rhel-6.4]
name=RHEL 6.5 
baseurl=ftp://192.168.4.1/rhel6
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
[root@pxesvr ~]# yum repolist                  //确保此YUM源可用

2. 启用DHCP服务

[root@pxesvr ~]# yum  -y  install  dhcp               //安装 dhcp 服务程序
[root@pxesvr ~]# vim /etc/dhcp/dhcpd.conf
option domain-name "xxx.com";
option domain-name-servers 192.168.4.1;
default-lease-time 7200;
max-lease-time 14400;
subnet  192.168.4.0  netmask  255.255.255.0  {
    range  192.168.4.100  192.168.4.200;
    option routers 192.168.4.254;
    next-server  192.168.4.1;                   #//TFTP引导服务器的地址  
    filename  "pxelinux.0";                     #//网卡引导文件名
}
[root@pxesvr ~]# service  dhcpd   restart              //启动 dhcpd 服务    
[root@pxesvr ~]#chkconfig dhcpd on                     //设置开机自动启动
[root@pxesvr ~]# netstat  -anptu  |  grep  dhcpd       //查看监听状态

3. 启用TFTP服务,并提供内核、引导程序

[root@pxesvr ~]# yum  -y  install  tftp-server         //安装 TFTP 服务器程序
[root@pxesvr ~]# chkconfig  tftp  on               //将临时服务 tftp 设为启用
[root@pxesvr ~]# service  xinetd  restart            //启用 xinetd  超级服务
[root@pxesvr ~]# netstat  -anptu  |  grep  xinetd       //查看监听状态
[root@pxesvr ~]# chkconfig  xinetd  on          //设置xinetd服务开机自运行
[root@pxesvr ~]# yum  -y  install  syslinux
[root@pxesvr ~]cp  /usr/share/syslinux/pxelinux.0  /var/lib/tftpboot/    //拷贝引导Linux客户机的网卡启动文件
[root@pxesvr ~]# cd  /var/ftp/rhel6/p_w_picpaths/pxeboot/    //拷贝引导RHEL6客户机的内核和初始化镜像
[root@pxesvr pxeboot]# cp  vmlinuz  initrd.img  /var/lib/tftpboot/
[root@pxesvr pxeboot]# ls  /var/lib/tftpboot/     //确认 TFTP 根目录下部署的文档
[root@pxesvr ~]# mkdir /var/lib/tftpboot/pxelinux.cfg    //创建启动配置目录
[root@ pxesvr ~]# cp  /var/ftp/rhel6/isolinux/isolinux.cfg  /var/lib/tftpboot/pxelinux.cfg/default

四:配置 kickstart 无人值守安装

1. 准备应答文件

    找一台已装好的RHEL 6.5 模板客户机(本例中可选 PXE 服务器本机),

    通过 system-config-kickstart 工具创建 ks-el6.cfg 应答文件

[root@pxesvr ~]# yum  -y  install  system-config-kickstart

[root@pxesvr ~]# system-config-kickstart          //在图形桌面下运行

          !!!! 打开 /root/anaconda-ks.cfg 文件,作为应答文件模板

          !!!! 基本配置:指定默认语言、时区、根口令(123456

          !!!! 安装方式:新安装、FTP安装(192.168.4.6/rhel6

          !!!! 分区信息:清除主引导记录、删除所有现存分区、初始化磁盘标签、/boot 200MBSWAP 2GB剩余空间

          !!!! 网络配置:第一块网卡DHCP自动获取

          !!!! 防火墙配置:禁用SELinux、禁用防火墙

          !!!! 软件包选择:不安装图形桌面

          !!!! 安装后脚本:从 pxesvr 自动下载并部署 YUM 客户端配置、安装并启动 httpd 网站服务

    rm  -rf  /etc/yum.repos.d/*

    wget  ftp://192.168.4.6/rhel6.repo  -O  /etc/yum.repos.d/rhel6.repo

    yum  clean  all

    yum  -y  install  httpd

    /etc/init.d/httpd  start

  chkconfig  httpd  on

    !!!! 经上述调整后,另存为应答文件 /var/ftp/pxe/ks-el6.cfg

 2. PXE 服务器上部署应答文件、为客户机准备的YUM配置                                         

[root@pxesvr~#cp  /etc/yum.repos.d/rhel6.repo    /var/ftp/pxe/             [root@pxesvr ~]# vim  /var/lib/tftpboot/pxelinux.cfg/default      //修改引导配置文件
default   linux                   #//默认从哪个标签引导系统
prompt 1                   #//是否交互式安装
timeout 600                #//进入默认系统的等待超时(单位:1/10秒)
label linux                   #//定义名为linux的标签
        kernel  vmlinuz            #//选择此标签时,需要加载的内核文件
        append  initrd=initrd.img     #//加载内核文件时附加的参数
       append  ks=ftp://192.168.4.6/pub/pxe/ks-initrd=initrd.img            #//下载并启用自动应答文件
[root@pxesvr ~]#cp  /var/ftp/pub/pxe/rhel6.repo 
[root@pxesvr ~]# ls /var/ftp/pub/pxe             //确认部署结果
ks-el6.cfg  pub  rhel6  rhel6.repo

3. 启动一台裸客户机(新建虚拟机),测试无人值守安装

 !!!! 安装设置过程会自动应答,免手工交互
 !!!! 等待客户机系统安装完成

4. 检查装好的客户机,确认 POST 脚本设置结果

[root@pc100 ~]# ifconfig  eth0  |  grep  "inet addr"  //查看自动配置iP地址                                                                  [root@pc100 ~]# chkconfig  --list  httpd         //查看Web服务                                                                         [root@pc100 ~]# yum  -y  install  dhcp       //确保可yum安装软件包

五、实验总结:

   可以配置DNS服务为配置的主机分配主机名以及域名解析(配置可以参考上篇DNS)
   各服务一定先验证是否启动以及能否提供服务
   再次强调一定要关闭防火墙、selinux
   tftp服务路径下提供的配置文件一定要放正确

 

#########################################################