实验拓扑:
-----PXE Server(vmnet1)-------------Client(vmnet1)------
实验一:搭建PXE Server
服务器IP为192.168.10.253,可以给192.168.10.0/24安装RHEL5.9
分别给每台客户端分配主机名,格式如下
stationx.tarena.com 192.168.10.x
安装所需要的软件包存放在/data/iso/rhel5.9
前提条件:
1,网络参数
[root@svr1 ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0 # Intel Corporation 82545EM Gigabit Ethernet Controller (Copper)
DEVICE=eth0
BOOTPROTO=static
HWADDR=00:0C:29:DB:02:CE
ONBOOT=yes
IPADDR=192.168.1.254
NETMASK=255.255.255.0
[root@svr1 ~]# cat /etc/sysconfig/network
NETWORKING=yes
NETWORKING_IPV6=yes
HOSTNAME=svr1.tarena.com
GETEWAY=192.168.1.1
[root@svr1 ~]# cat /etc/hosts
# Do not remove the following line, or various programs
# that require network functionality will fail.
127.0.0.1 localhost.localdomain localhost
::1 localhost6.localdomain6 localhost6
192.168.1.254 svr1.tarena.com svr1
2,配置yum
[root@svr1 ~]# cat /etc/yum.repos.d/yum.repo
[rhel-yum] //格式需要写为[rhel-xx],不然之后利用图形化配置ks脚本的时候会出错
name=yum
baseurl=file:///misc/cd/Server
gpgcheck=0
步骤:
1,安装所需软件包
[root@svr1 ~]# yum -y install dhcp bind bind-chroot caching-nameserver
2,配置dhcp服务(用于给pxe分配IP与指引)
[root@svr1 ~]# cat /etc/dhcpd.conf
ddns-update-style none;
default-lease-time 21600;
max-lease-time 43200;
option routers 192.168.1.254;
option subnet-mask 255.255.255.0;
option domain-name "tarena.com";
option domain-name-servers 192.168.1.254;
next-server 192.168.1.254; //指定tftp地址
filename "pxelinux.0"; //引导文件
subnet 192.168.1.0 netmask 255.255.255.0 {
range dynamic-bootp 192.168.1.10 192.168.1.50;
}
[root@svr1 ~]# service dhcpd restart
[root@svr1 ~]# chkconfig dhcpd on
3,配置dns服务(主要用于分配主机名,可以不配置)
[root@svr1 ~]# cat /var/named/chroot/etc/named.conf
options {
listen-on port 53 { 192.168.1.254; };
...
allow-query { any; };
allow-query-cache { any; };
};
view localhost_resolver {
match-clients { any; };
match-destinations { any; };
include "/etc/named.rfc1912.zones";
};
[root@svr1 ~]# cat /var/named/chroot/etc/named.rfc1912.zones
zone "tarena.com" IN {
type master;
file "tarena.com.zone";
};
zone "1.168.192.in-addr.arpa" IN {
type master;
file "tarena.com.arpa";
};
[root@svr1 ~]# cat /var/named/chroot/var/named/tarena.com.zone
$TTL 86400
@ IN SOA localhost. root.localhost. (
2014061801 ; Serial
28800 ; Refresh
14400 ; Retry
3600000 ; Expire
86400 ) ; Minimum
IN NS svr1.tarena.com.
svr1 IN A 192.168.1.254
$GENERATE 10-50 station$ IN A 192.168.1.$ //利用函数匹配主机与IP
[root@svr1 named]# service named restart
[root@svr1 named]# chkconfig named on
4,配置tftp服务
[root@svr1 ~]# vim /etc/xinetd.d/tftp
server_args = -s /tftpboot //共享路径
disable = no //开启监听
[root@svr1 ~]# service xinetd restart
[root@svr1 ~]# chkconfig xinetd on
5,复制pxe启动需要的文件到/tftpboot
[root@svr1 tftpboot]# rpm -ql syslinux |grep pxelinux.0 //pxe启动文件所需的软件包
/usr/share/syslinux/gpxelinux.0
/usr/share/syslinux/pxelinux.0
[root@svr1 tftpboot]# cp /usr/share/syslinux/pxelinux.0 /tftpboot/ //拷贝网卡引导文件
[root@svr1 tftpboot]# mkdir -p /tftpboot/pxelinux.cfg //创建目录
[root@svr1 tftpboot]# cp /data/iso/rhel5.9/images/pxeboot/vmlinuz ./ //拷贝系统内核文件
[root@svr1 tftpboot]# cp /data/iso/rhel5.9/images/pxeboot/initrd.img ./ //拷贝镜像文件
[root@svr1 tftpboot]# cp /data/iso/rhel5.9/isolinux/isolinux.cfg ./pxelinux.cfg/default //创建启动配置文件
6,创建nfs共享
[root@svr1 ~]# cat /etc/exports
/data/iso/rhel5.9/ *(ro)
[root@svr1 ~]# service portmap restart;service nfs restart
7,创建ks脚本
[root@svr1 ~]# yum -y install system-config-kickstart
安装图形化安装工具
[root@svr1 ~]# system-config-kickstart & //执行安装,然后按照自己的需求配置,配置完成后选择文件->保存
[root@svr1 ~]# cat /var/www/html/ks.cfg //保存后的文件
install //安装类型为安装新系统
text //文本环境安装
nfs --server=192.168.1.254 --dir=/data/iso/rhel5.9 //网络安装
bootloader --location=mbr //启动类型
zerombr //清空MBR
clearpart --all --initlabel //清空分区
key --skip //跳过序列号
firewall --disabled //关闭防火墙
firstboot --disable //关闭首次启动的配置
lang zh_CN //语言
keyboard us //键盘类型
logging --level=info //登录级别
network --bootproto=dhcp --device=eth0 --onboot=on //网卡配置
reboot //安装完成后操作
rootpw --iscrypted $1$FiSs3KzW$YpvlnpSUqy7XQas2XpEAE1 //root密码
selinux --disabled //禁用selinux
timezone Asia/Shanghai //时区
xconfig --defaultdesktop=GNOME --depth=8 --resolution=640x480 //显示选项
part /boot --bytes-per-inode=4096 --fstype="ext3" --size=100
part swap --bytes-per-inode=4096 --fstype="swap" --size=2048
part / --bytes-per-inode=4096 --fstype="ext3" --grow --size=1 //分区
%packages //安装包
@chinese-support
@gnome-desktop
@base-x
@system-tools
@text-internet
@admin-tools
@graphical-internet
@editors
[root@svr1 ~]# vim /tftpboot/pxelinux.cfg/default
default linux
prompt 1
timeout 6
label linux
kernel vmlinuz
append initrd=initrd.img ks=http://192.168.1.254/ks.cfg //把ks脚本写到脚本文件里
接下来配置好http,测试ks=http://192.168.1.254/ks.cfg能否出来内容,完成后启动客户端,选择网络启动,等待安装