一、配置NFS服务器

1、创建共享目录,并将光盘内容拷贝到共享目录。

mkdir -p /data/sys

mount /dev/cdrom /mnt

cp -a /mnt/* /data/sys/

#################################

mount -t iso9660 -o loop xxx.iso /mnt

cp -a /mnt/* /data/sys/

2、安装配置NFS,将共享目录发布出去。

rpm -qa|grep nfs

nfs-utils-lib-1.1.5-9.el6.x86_64

nfs-utils-1.2.3-54.el6.x86_64

echo "/data/sys 192.168.128.0/24(ro,sync)" >>/etc/exports

more /data/exports

3、启动NFS服务使配置生效,设置开机自启动。

/etc/init.d/portmap start

/etc/init.d/nfs start

chkconfig nfs on

chkconfig portmap on

4、检查目录是否被正确共享

showmount -e 127.0.0.1

二、配置TFTP服务器

1、安装TFTP服务

yum install tftp-server* -y

如果在yum工具执行前进行下述处理,可以把yum安装的rpm包保留下来备用。

sed -i 's#keepcache=0#keepcache=1#g' /etc/yum.conf

tree /var/cache/yum/base/

2、配置TFTP服务并启动

[root@master-199 ~]# more /etc/xinetd.d/tftp   

# default: off

# description: The tftp server serves files using the trivial file transfer \

#       protocol.  The tftp protocol is often used to boot diskless \

#       workstations, download configuration files to network-aware printers, \

#       and to start the installation process for some operating systems.

service tftp

{

        socket_type             = dgram

        protocol                = udp

        wait                    = yes

        user                    = root

        server                  = /usr/sbin/in.tftpd

        server_args             = -s /var/lib/tftpboot

        disable                 = no(将默认yes修改为no)

        per_source              = 11

        cps                     = 100 2

        flags                   = IPv4

}

service xinetd start

chkconfig --level 35 xinetd on

3、PXE引导配置(bootstrap)

[root@master-199 ~]# yum install syslinux* -y

[root@master-199 ~]# find / -name pxelinux.0 

/tftpboot/pxelinux.0 (centos 5.8)

/var/lib/tftpboot/pxelinux.0  (centos6.6)

/usr/share/syslinux/pxelinux.0

4、用于网络启动的内核文件

cp /data/sys/p_w_picpaths/pxeboot/* /var/lib/tftpboot/

cd /var/lib/tftpboot/

mkdir -p pxelinux.cfg

将光盘中的“isolinux/isolinux.cfg”文件复制为“/var/lib/tftpboot/pxelinux.cfg/default”

cp /data/sys/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default

chmod 644 /var/lib/tftpboot/pxelinux.cfg/default

[root@vm-46 sys]# cd /var/lib/tftpboot/pxelinux.cfg/

[root@vm-46 pxelinux.cfg]# more default 

#default local#这里选择none为默认安装方式,文本方式为text,图形方式为#default linux

#default text

prompt 1#显示‘boot:’提示符。为'0'时则不提示,将直接启动'default'参数中制定的内容。

timeout 999999#用户输入之前的超时时间,单位为1/10秒,

display boot.msg

F1 boot.msg

F2 options.msg

F3 general.msg

F4 param.msg

F5 rescue.msg

label linux

  kernel vmlinuz

  append initrd=initrd.img

label text

  kernel vmlinuz

  append ks=nfs:192.168.128.128:/data/sys/kickstart/ks.cfg ksdevice=eth0 initrd=initrd.img text

label ks

  kernel vmlinuz

  append ks initrd=initrd.img

label local

  localboot 1

label memtest86

  kernel memtest

  append -

lable none

三、安装及配置DHCP服务器

1、安装DHCP软件包

yum install dhcp* -y

2、配置DHCP服务

more /etc/dhcpd.conf

ddns-update-style none;

ignore client-updates;

allow booting;#允许PXE启动

allow bootp;#允许bootp

default-lease-time 21600;

max-lease-time 43200;

option routers 192.168.128.2;

subnet 192.168.128.0 netmask 255.255.255.0 {

range dynamic-bootp 192.168.128.100 192.168.128.200;

next-server 192.168.128.128;

filename "/data/sys/kickstart/ks.cfg";

next-server 192.168.128.128;#TFTP server的IP地址

#filename "/var/lib/tftpboot/pxelinux.0";

filename "pxelinux.0";

}

service dhcpd start

chkconfig --level 35 dhcpd on

清除客户端DHCP 缓存

rm /var/lib/dhcpd/dhcpd.leases

四、kickstart安装配置

mkdir -p /data/sys/kickstart

cp anaconda-ks.cfg /data/sys/kickstart/ks.cfg

chmod 644 /data/sys/kickstart/ks.cfg

[root@vm-46 sys]# more kickstart/ks.cfg 

# Kickstart file automatically generated by anaconda.

#version=DEVEL

install#表示安装系统而不是升级

nfs --server=192.168.128.128 --dir=/data/sys#nfs的安装方式,--server为nfs ip,--dir为nfs的共享路径。

lang en_US.UTF-8#字符集设置

keyboard us#键盘布局

network --device eth0 --bootproto dhcp --noipv6#网络配置,eth0为第一块网卡

#network --device eth1 --bootproto dhcp --noipv6

rootpw  123456#root密码,明文

authconfig --enableshadow --enablemd5#系统认证信息

#authconfig --enableshadow --passalgo=sha512

firewall --disabled#关闭防火墙

selinux --disabled#关闭selinux

timezone Asia/Shanghai#设置系统时间

bootloader --location=mbr --driveorder=sda#系统引导相关配置

firstboot --disable#禁止安装后的agent设置

logging --level=info#设置日志级别

zerombr#清除mbr引导信息

###################分区配置####################

# The following is the partition information you requested

#clearpart --all --drives=sda#清除sda上的所有分区。如果没sda可能报错。

#clearpart --linux

clearpart --all 

part /boot --fstype=ext4 --size=500 --asprimary

part swap --size=8192

part / --fstype ext4 --size=1 --grow --asprimary

reboot#安装完重启,也可以选择halt关机。

##############安装包选择#########################

%packages 

@base

@core

#@development-libs

#@development-tools

#@editors

#@x-software-development

##############安装前的初始化#####################

#%pre

#!/bin/sh

# You can do something here before the real installation

#wget -nv -O /tmp/pre-install http://192.168.1.46/pre-install

#/bin/sh /tmp/pre-install

#############安装后的初始化######################

%post

#base init configuration

echo "namesever 202.106.0.20" >>/etc/resolv.conf

echo "nameserver 8.8.8.8" >>/etc/resolv.conf

mkdir -p /application/tools

mkdir -p /server/{scripts,backup}

touch "Pls keep this server clean."

#add king users

useradd king

echo "123456"|passwd --stdin king

#allow king sudo

echo "king ALL=(ALL)NOPASSWD:ALL" >>/etc/sudoers

#services configuration

for service in `chkconfig –list|awk '{ print $1}' |egrep -v “^$”|awk -F ":" '{print $1}' `; do chkconfig $service off;done

for service in crond sshd syslog network; do chkconfig $service on;done 

#config ssh

\cp /etc/ssh/sshd_config /etc/ssh/sshd_config.`date +"%Y-%d-%m_%H-%M-%S"`

#sed -i 's%#Port 22%Port 52113%' /etc/ssh/sshd_config

sed -i 's%#PermitRootLogin yes%PermitRootLogin no%' /etc/ssh/sshd_config

sed -i 's%#PermitEmptyPasswods no%PermitEmptyPasswods no%' /etc/ssh/sshd_config

sed -i 's%#UserDNS yes%UserDNS no%' /etc/ssh/sshd_config