PXE+DHCP+NFS+KICKSTART无人值守安装RHEL6.4

实验要求:

服务器(192.168.100.250)给192.168.100.0网段的客户机安装RHEL6.4操作系统,并给每台客户端192.168.100.x分配主机名clientx.linuxidc.com,实现无人值守安装

-----------------------------分割线-----------------------------

一.配置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文件位置

……

ks路径写法

ks=ftp://server/dir/file 如:ks=ftp://ftp服务器IP/ks.cfg

ks=http://server/dir/file 如:ks=http://http服务器IP/ks.cfg

ks=nfs:server:/dir/file 如:ks=nfs:nfs服务器IP:/var/ftp/pub/ks.cfg

ks=hd:device:/dir/file 如:ks=hd:sdb1:/kickstar-files/ks.cfg

ks=cdrom:/dir/file 如:ks=cdrom:/kickstart-files/ks.cfg

七.客户端测试

客户端主板必须支持网卡启动,ROM网卡必须支持PXE协议

将客户端主机设置为网卡启动,开机测试


你可能感兴趣的:(服务器,操作系统,pxe,ks,客户机)