KickStart + DHCP + NFS + TFTP + PXE 全自动网络安装 Linux
一、什么是PXE
PXE(preboot execute environment)是由Intel公司开发的最新技术,工作于Client/Server的网络模式,支持工作站通过网络从远端服务器下载映像,并 由此支持来自网络的操作系统的启动过程,其启动过程中,终端要求服务器分配IP地址,再用TFTP(trivial file transfer protocol)或MTFTP(multicast trivial file transfer protocol)协议下载一个启动软件包到本机内存中并执行,由这个启动软件包完成终端基本软件设置,从而引导预先安装在服务器中的终端操作系统。 PXE可以引导多种操作系统,如:Windows 95/98/2000/xp/2003/vista/2008,linux等
二、KickStart+DHCP+NFS+TFTP+PXE的工作原理
无光软驱服务器通过PXE网卡启动,从dhcp服务器获取IP,通过tftp下载pxelinux.0文件找到pxelinux.cfg里的配置文件,按配置文件找着vmlinuz引导centos进入安装界面,之后选择NFS方式安装系统
一、架设Linux网络安装服务器
第1步:关闭iptables与SElinux
[root@Install ~]# chkconfig iptables off; service iptables stop
[root@Install ~]# setenforce 0
==================================================================================
第2步:为了方便安装RPM包,我们先搭建好yum源
(1)挂载光驱
[root@Install ~]# mkdir /media/cdrom
[root@Install ~]# vi /etc/fstab
#加入下面一句,让开机启动时自动挂载cdrom
/dev/hdc /media/cdrom iso9660 defaults 0 0
[root@Install ~]# mount /dev/cdrom /media/cdrom
#查看一下,现在挂载cdrom是否成功
[root@Install ~]# mount
(2)配置yum源
#由于Linux系统安装完后,默认已经安装了yum包了,所以我们可直接进行配置yum源
[root@Install ~]# rpm -qa | grep 'yum'
yum-3.2.22-20.el5.centos
yum-fastestmirror-1.1.16-13.el5.centos
yum-metadata-parser-1.1.2-3.el5.centos
#创建一个*.repo配置文件,目的是:提供本地的yum源
[root@Install ~]# touch /etc/yum.repos.d/intranet.repo
[root@Install ~]# vi intranet.repo
[cdrom]
name=Install RPM From cdrom
baseurl=file:///media/cdrom
enabled=1
protect=1
gpgcheck=1
ghgkey=file:///media/cdrom/RPM-GPG-KEY-CentOS-5
[root@Install ~]# rpm --import /media/cdrom/RPM-GPG-KEY-CentOS-5
[root@Install ~]# cd /etc/yum.repos.d/
[root@Install yum.repos.d]# tar -zcvf CentOS_repo_file.tgz CentOS-*
[root@Install yum.repos.d]# rm -rf CentOS-*
[root@Install yum.repos.d]# yum clean all; yum makecache
==================================================================================
第3步:搭建tftp与dhcp服务器,并配置这两个服务器(PXE需要用到这两个)
#DHCP服务器需要安装:dhcp-3.0.5-21.el5.i386.rpm
#TFTP服务器需要安装:tftp-server-0.49-2.el5.centos.i386.rpm
[root@Install ~]# yum install tftp-server dhcp
#配置TFTP服务器(配置文件:/etc/xinetd.d/tftp)
[root@Install ~]# vi /etc/xinetd.d/tftp
#只需要修改两个地方,如下
server_args = -u nobody -s /tftpboot
disable = no
#配置DHCP服务器(配置文件:/etc/dhcpd.conf)
[root@Install ~]# cp /usr/share/doc/dhcp-3.0.5/dhcpd.conf.sample /etc/dhcpd.conf
[root@Install ~]# vi /etc/dhcpd.conf
ddns-update-style interim;
ignore client-updates;
authourtative;
log-facility local7;
subnet 192.168.1.0 netmask 255.255.255.0 {
range 192.168.1.55 192.168.1.66;
option routers 192.168.1.1;
option subnet-mask 255.255.255.0;
option domain-name-servers 192.168.1.100;
option domain-name "33cn.com";
option netbios-name-servers 192.168.1.100;
option time-offset -18000;
option broadcast-address 192.168.1.255;
default-lease-time 6000;
max-lease-time 11400;
next-server 192.168.1.100;
filename "/pxelinux.0";
}
==================================================================================
第4步:创建一个目录,用于存放系统安装文件,并把光盘中的系统安装文件拷贝到该目录下
[root@Install ~]# mkdir /disk
[root@Install ~]# cp -rf /media/cdrom/* /disk/
==================================================================================
第5步:安装NFS服务器,并配置
#查看是否已经安装了NFS服务器需要的安装包
[root@Install ~]# rpm -qa | grep "nfs\|portmap\|mount"
#如果没有安装nfs相关的那些包,那么现在就安装它们
[root@Install ~]# yum install nfs*
[root@Install ~]# vi /etc/exports
/disk *(ro,sync)
[root@Install ~]# exportfs –a
==================================================================================
第6步:启动dhcpd服务、nfs服务、tftpd服务
################立即启动下面这些服务###################
[root@Install ~]# service dhcpd start
[root@Install ~]# service netfs start
[root@Install ~]# service portmap start
[root@Install ~]# service nfs start
[root@Install ~]# service nfslock start
[root@Install ~]# chkconfig --level 345 tftp on
[root@Install ~]# service xinetd start
###############开机自动启动下面这些服务#################