一、原理

这是基于C/S架构的方式,Client嵌入到网卡的ROM芯片中,Server需要单独配置,包括DHCPTFTP。开机后选择PXEclient发起广播连接请求,DCHP-Server响应分配IP和系统启动镜像位置,client拿到地址,然后单播请求Server系统启动镜像pxelinux.0,获得后,引导启动安装过程,请求内核和根文件系统,然后进入正式安装过程。安装过程同时结合Linux kickstart安装,包含http配置等

本实例目的

实现自动安装rhel5.3_32   rhel5.5_64     rhel6.2_64

按数字1 引导 rhel5.3_32 ;按数字2引导rhel5.5_64 ;按数字3引导rhel6.2_64

需要安装的工具

 1.syslinux 2.kickstart 

需要安装的服务

    1.dhcp 2.http 3.tftp-server 

准备工作:

1、服务器IP192.168.8.64 系统版本rhel6.4_64

2、用xshell远程连接192.168.8.64

3、 上传rhel6.4_64.iso 、 rhel5.3_32.iso、rhel6.5_64.iso 、rhel6.2_64.iso  镜像到/data1

4、配置本地yum源

[root@localhost ~]# mount -o loop /data1/rhel-server-6.4-x86_64-dvd.iso     /mnt/

[root@localhost ~]# vim /etc/yum.repos.d/rhel-source.repo

[rhel-source]

name=Red Hat Enterprise Linux $releasever - $basearch - Source

baseurl=file:///mnt/

enabled=1

gpgcheck=0

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

5、关闭防火墙

[root@localhost ~]# service iptables stop 

[root@localhost ~]# setenforce 0

开始部署安装:

1.安装syslinux和kickstart

[root@localhost ~]# yum install syslinux -y

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


2.安装dhcp服务

[root@localhost ~]# yum -y  install dhcp

配置dhcpd.conf

[root@localhost ~]# vim /etc/dhcp/dhcpd.conf  #红色区域为重点代码

PXE部署实例_服务器

启动dhcpd服务

[root@localhost ~]# service dhcpd start 

3.安装httpd

[root@localhost ~]# yum -y install httpd

启动httpd

[root@localhost ~]# service httpd start 

在/var/ww/html新建3个目录:rhel5u3_32   rhel5u5_64        rhel6u2_64

[root@localhost ~]# cd /var/www/html/

[root@localhost html]# mkdir rhel5u3_32 

[root@localhost html]# mkdir rhel5u5_64

[root@localhost html]# mkdir rhel6u2_64


分别挂载镜像到各自目录

[root@localhost html]# mount -o loop /data1/rhel5.3_32.iso /var/www/html/rhel5u3_32

[root@localhost html]# mount -o loop /data1/rhel5.5_64.iso /var/www/html/rhel5u5_64

[root@localhost html]# mount -o loop /data1/rhel6.2_64.iso /var/www/html/rhel6u2_64


4.安装tftp-server

[root@localhost ~]# yum -y install tftp-server

tftp-server是以xinetd方式管理,更改配置文件

server_argstftp的目录,本次定义在  /tftpboot ,disable改为no,否则无法启动。


[root@localhost ~]# vim /etc/xinetd.d/tftp #红色区域为重点代码

PXE部署实例_网卡_02

启动xinetd服务

[root@localhost ~]# service xinetd start 

配置PXE启动文件

[root@localhost ~]# mkdir /tftpboot          

[root@localhost ~]# mkdir /tftpboot/pxelinux.cfg

[root@localhost ~]# mkdir /tftpboot/rhel5u3_32

[root@localhost ~]# mkdir /tftpboot/rhel5u5_64

[root@localhost ~]# mkdir /tftpboot/rhel6u2_64

[root@localhost ~]# cp /usr/share/syslinux/pxelinux.0     /tftpboot/

[root@localhost ~]# cp /mnt/isolinux/isolinux.cfg     /tftpboot/pxelinux.cfg/default 

[root@localhost ~]# cp /var/www/html/rhel5u3_32/isolinux/initrd.img /tftpboot/rhel5u3_32

[root@localhost ~]# cp /var/www/html/rhel5u3_32/isolinux/vmlinuz  /tftpboot/rhel5u3_32

[root@localhost ~]# cp /var/www/html/rhel5u5_64/isolinux/initrd.img /tftpboot/rhel5u5_64

[root@localhost ~]# cp /var/www/html/rhel5u5_64/isolinux/vmlinuz  /tftpboot/rhel5u5_64

[root@localhost ~]# cp /var/www/html/rhel6u2_64/isolinux/initrd.img /tftpboot/rhel6u2_64

[root@localhost ~]# cp /var/www/html/rhel6u2_64/isolinux/vmlinuz /tftpboot/rhel6u2_64

root@localhost ~]# chmod     644     /tftpboot/pxelinux.cfg/default

[root@localhost ~]# vim /tftpboot/pxelinux.cfg/default   #红色区域为重点代码

PXE部署实例_服务器_03


[root@localhost ~]#vim /tftpboot/boot.msg                       #红色区域为重点代码

PXE部署实例_网卡_04

5.获取3个系统版本的ks文件

在http根目录下新建ks目录

[root@localhost ~]# cd /var/www/html/

[root@localhost html]# mkdir ks

获取ks文件(格式 为.cfg),以rhel6u2_64系统为例

在正在运行的rhel6u2_64系统上用 yum 安装 system-config-kickstart

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

[root@localhost ~]# system-config-kickstart 

    加添配置时钟,root密码

PXE部署实例_服务器_05

    安装模式 选择HTTP ,填写地址192.168.8.64 和 HTTP目录

PXE部署实例_网卡_06

    默认

PXE部署实例_Linux_07

    划分磁盘

PXE部署实例_服务器_08

    选包    PXE部署实例_Linux_09

    添加安装脚本(没有不添加)

PXE部署实例_Linux_10

    保存,名字为 rhel6u2_64.cfg ,并把这个文件放到192.168.8.64的/var/www/html/ks 下

PXE部署实例_网卡_11


注:rhel5u3_32也是在正在运行的rhel5.3_32系统运行system-config-kickstart,经过图形界面配置等,保存

为rhel5u3_32.cfg ,传到/var/www/html/rhel5u3_32

        rhel5u5_64也是在正在运行的rhel5.5_64系统运行system-config-kickstart,经过图形界面配置等,保存

为rhel5u5_64.cfg ,传到/var/www/html/rhel5u5_64

6.客户机测试使用网络安装

1.第一种方法

使用测试电脑(192.168.8.0网段与192.168.8.64相通),开机使用网络启动

PXE部署实例_服务器_12

2.第二种方法

使用测试电脑(192.168.8.0网段与192.168.8.64相通)在测试电脑上安装vmware,vmware网卡桥接

PXE部署实例_服务器_13

开启虚拟机, F2 进入BIOS设置为使用网络启动

PXE部署实例_网卡_14

自动获取IP和列表, 如:要安装rhel5u5_64,输入数字2 回车

PXE部署实例_Linux_15



总结:1.1)如果自动获取IP超时,查看服务端dhcpd是否开启服务

        2)可能IP已被占用,增加range的ip范围

      2.  1)如果TFTP超时,查看服务器xinetd是否开启服务

          2)可能防火墙没有关闭,service iptables stop ; setenforce 0