實驗要求:
服務器(192.168.100.250)給192.168.100.0網段的客戶機安裝RHEL6.4操作系統,並給每台客戶端192.168.100.x分配主機名clientx.linuxidc.com,實現無人值守安裝
-----------------------------分割線-----------------------------
推薦相關閱讀:
Linux PXE無人值守安裝出現 PXE-E32:TFTP OPen timeout的解決辦法 http://www.linuxidc.com/Linux/2014-03/98986.htm
使用PXE結合kickstart 自動安裝Linux系統 http://www.linuxidc.com/Linux/2014-03/98014.htm
RHCE認證之無人值守安裝Linux系統(FTP+TFTP+DHCP+Kickstart+PXE) http://www.linuxidc.com/Linux/2013-10/91013.htm
PXE網絡裝機(有人值守與無人值守安裝) http://www.linuxidc.com/Linux/2013-07/87456.htm
-----------------------------分割線-----------------------------
一.配置YUM
[root@PXE-server ~]# cat /etc/yum.repos.d/rhel-server.repo
[rhel-server]
name=Red Hat Enterprise Linux
baseurl=file:///media
enabled=1
gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-RedHat-release
[root@PXE-server ~]# mount /dev/cdrom1 /media //放入安裝光盤並掛載
二..配置DHCP
[root@PXE-server ~]# yum -y install dhcp
[root@PXE-server ~]# vim /etc/dhcp/dhcpd.conf
subnet 192.168.100.0 netmask 255.255.255.0 {
range 192.168.100.100 192.168.100.200; //分配給客戶機的地址段
option domain-name-servers 192.168.100.250; //DNS也是本機
option domain-name "linuxidc.com";
option routers 192.168.100.254;
default-lease-time 600;
max-lease-time 7200;
next-server 192.168.100.250; //TFTP服務器的IP地址
filename "pxelinux.0"; //網卡引導文件名
}
[root@PXE-server ~]# service dhcpd start
[root@PXE-server ~]# chkconfig dhcpd on
三.配置TFTP
1.安裝軟件包
[root@PXE-server ~]# yum -y install tftp-server
[root@PXE-server ~]# vim /etc/xinetd.d/tftp
……
server_args = -s /var/lib/tftpboot //tftp根目錄
disable = no //開啟tftp服務
……
[root@PXE-server ~]# service xinetd restart
[root@PXE-server ~]# chkconfig xinetd on
[root@PXE-server ~]# cd /media/images/pxeboot/
[root@PXE-server pxeboot]# cp initrd.img vmlinuz /var/lib/tftpboot/ //將光盤中linux內核與鏡像文件拷貝到tftp根目錄下
[root@PXE-server pxeboot]# yum -y install syslinux
[root@PXE-server pxeboot]# cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/ //將網卡引導文件也拷貝至tftp根目錄
2.創建PXE啟動配置
[root@PXE-server pxeboot]# mkdir /var/lib/tftpboot/pxelinux.cfg //創建文件夾
[root@PXE-server pxeboot]# cd ../../isolinux/
[root@PXE-server isolinux]# cp isolinux.
[root@PXE-server isolinux]# cp isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default //拷貝光盤中樣例文件到tftp根目錄下並改名為default
四.配置NFS共享
[root@PXE-server isolinux]# yum -y install nfs-utils rpcbind
[root@PXE-server isolinux]# mkdir -p /data/nfs //創建nfs共享目錄
[root@PXE-server isolinux]# vim /etc/exports
/data/nfs *(ro)
[root@PXE-server isolinux]# cp -rf /media /data/nfs/ //將光盤下軟件包拷貝到nfs共享目錄
[root@PXE-server isolinux]# service rpcbind start
[root@PXE-server isolinux]# service nfs start
[root@PXE-server isolinux]# chkconfig rpcbind on
[root@PXE-server isolinux]# chkconfig nfs on
五.配置DNS
[root@PXE-server isolinux]# yum -y install bind bind-chroot
[root@PXE-server isolinux]# vim /etc/named.conf
……
listen-on port 53 { 192.168.100.250; };
……
allow-query { any; };
……
zone "linuxidc.com.zone" IN { //正向解析
type master;
file "linuxidc.com.zone";
};
zone "100.168.192.in-addr.arpa" IN { //反向解析
type master;
file "192.168.100.arpa";
};
……
[root@PXE-server isolinux]# cd /var/named/
[root@PXE-server named]# vim linuxidc.com.zone
$TTL 3H
@IN SOAlinuxidc.com. root.linuxidc.com. (
2014041901 ; serial
1D; refresh
1H; retry
1W; expire
3H ); minimum
NSdns.linuxidc.com.
dnsIN A192.168.100.250
$GENERATE 100-200 client$ IN A 192.168.100.$ //使用函數解析
[root@PXE-server named]# vim 192.168.100.arpa
$TTL 3H
@IN SOAlinuxidc.com. root.linuxidc.com. (
2014041901 ; serial
1D; refresh
1H; retry
1W; expire
3H ); minimum
NSdns.linuxidc.com.
250IN PTRdns.linuxidc.com.
$GENERATE 100-200 $ IN PTR client$.linuxidc.com.
[root@PXE-server named]# service named start
[root@PXE-server named]# chkconfig named on
[root@PXE-server named]# nslookup 192.168.100.100 192.168.100.250 //測試反向解析
[root@PXE-server named]# nslookup client181.linuxidc.com //測試正向解析
六.創建kickstart應答文件
[root@PXE-server named]# yum -y install system-config-kickstart
[root@PXE-server named]# system-config-kickstart //通過圖形化工具配置客戶端啟動選項生成應答文件
[root@PXE-server ~]# cp ks.cfg /data/nfs/ //部署到NFS共享目錄
[root@PXE-server ~]# cat ks.cfg //根據需要設置客戶端配置應答文件
#platform=x86, AMD64, or Intel EM64T
#version=DEVEL
# Firewall configuration
firewall --disabled
# Install OS instead of upgrade
install
# Use NFS installation media
nfs --server=192.168.100.250 --dir=/data/nfs/media //通過NFS共享
# Root password
rootpw --iscrypted $1$sW2gH1K6$B333cigoFqn3IaAUK2RIj1
# System authorization information
auth --useshadow --passalgo=sha512
# Use text mode install
text //建議使用文本安裝,速度更快
firstboot --disable
# System keyboard
keyboard us
# System language
lang en_AU
# SELinux configuration
selinux --disabled
# Installation logging level
logging --level=info
# Reboot after installation
reboot
# System timezone
timezone Asia/Shanghai
# Network information
network --bootproto=dhcp --device=eth0 --onboot=on
# System bootloader configuration
bootloader --location=mbr
# Clear the Master Boot Record
zerombr
# Partition clearing information
clearpart --all --initlabel
# Disk partitioning information
part /boot --fstype="ext4" --size=200
part swap --fstype="swap" --size=2048
part / --fstype="ext4" --size=10000
%packages
@base
@basic-desktop
@chinese-support
@graphics
@technical-writing
@tex
@x11
%end
[root@PXE-server ~]# vim /var/lib/tftpboot/pxelinux.cfg/default
//
default linux //默認啟動
#prompt 1
timeout 600
……
label linux
menu label ^Install or upgrade an existing system
menu default
kernel vmlinuz
append ks=nfs:192.168.100.250:/data/nfs/ks.cfg initrd=initrd.img //在append後添加ks文件位置
……
七.客戶端測試
客戶端主板必須支持網卡啟動,ROM網卡必須支持PXE協議
將客戶端主機設置為網卡啟動,開機測試
更多RedHat相關信息見RedHat 專題頁面 http://www.linuxidc.com/topicnews.aspx?tid=10