一、配置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