您的位置:首页 > 编程语言 > PHP开发

dhcpd+vsftpd+tftp+kickstart+pxe 自动安装RHEL5.4

2011-08-27 09:17 519 查看
一 通过网络安装RHEL5.x 系统的原因

为解决大量裸机安装系统,并对系统进行简单的系统调优
在用vsftpd+dhcp+tftp+kickstart 通过网络安装RHEL5.x,kickstart 这里用来定制系统,是安装系统的引导文件

二 系统需求
1 在系统环境下vsftpd  tftpd dhcp 为同一台Server ,确保一下软件包已经安装,如果没有安装请安装
Vsftpd-2.0.5-16.el5.i386
Tftp-server-0.49-2.i386
Xinetd-2.3.14-10.el5
system-config-kickstart-2.6.19.8-2.el5
dhcp-3.0.5-21.el5
libdhcp4client-3.0.5-21.el5
libdhcp-1.20-10.el5
dhcp-devel-3.0.5-21.el5
libdhcp4client-devel-3.0.5-21.el5
libdhcp-devel-1.20-10.el5
2 配置dhcp 服务,vsftp 服务等 (注:在此省略了dhcp 服务器的配置) 在dhcp 服务的主配置文件中添加以下两行
next-server     192.168.2.19 ; 注: 该处指定的是tftp 服务器的ip地址
filename       “pxelinux.0” #pxe获得IP地址后的引导文件

3  配置tftp 服务,并重启tftp服务
#cd  /etc/xinetd.d
#vim   tftp
修改tftp 配置文件如下
disable=yes ;
修改为disable=no ;
#chkconfig  tftpd  on
#service xinetd restart
4 挂载系统光盘,并复制系统安装时必须的引导文件
#mkdir  /media/cdrom
#mount  /dev/cdrom  /media/cdrom
#cd  /tftpboot
#cp /usr/lib/syslinux/pxelinux.0  /tftpboot/
#mkdir  pxelinux.cfg
#cp /media/cdrom/isolinux/isolinux.cfg  pxelinux.cfg/default
#cp  /media/cdrom/images/pxeboot/initrd.img  /tftpboot
#cp  /media/cdrom/images/pxeboot/vmlinuz   /tftpboot
5 修改/tftpboot/default 文件如下
#cat /tftpboot/default
default linux
prompt 1
timeout 10
display boot.msg
F1 boot.msg
F2 options.msg
F3 general.msg
F4 param.msg
F5 rescue.msg
label linux
kernel vmlinuz
append linux ks=ftp://192.168.2.19/pub/ks.cfg  initrd=initrd.img #注   该处是指定ks.cfg 文件.该文件是kickstart 安装配置文件,系统安装该文件进行安装
label text
kernel vmlinuz
append initrd=initrd.img text
label ks
kernel vmlinuz
append  ks=ftp://192.168.2.19/pub/ks.cfg  initrd=initrd.img  #注   该处是指定ks.cfg 文件.该文件是kickstart 安装配置文件,系统安装该文件进行安装
label local
localboot 1
label memtest86
kernel memtest
append -

6   配置ks.cfg 文件,可以参照现有的系统上anaconda-ks.cfg ,可以用各种文本编辑器进行修改该文件,当然在这是用system-config-kickstart 编译工具来修改kickstart 文件,同样需要参照anaconda-ks.cfg 文件
#system-config-kickstart &

7 确认在ks.cfg 中的配置文件中key –skip
#vim   ks.cfg
text 注:该处是用文本模式进行安装系统
auth  --useshadow  --enablemd5  #注: 用户的密码使用md5进行加密
bootloader --append="rhgb quiet" --location=mbr --driveorder=sda
zerombr
clearpart --linux  --drives=sda
graphical
firewall --disabled
firstboot --disable
keyboard us
key –skip   注:一定要有该选项否则安装时需要手动输入系统的序列号
lang en_US
logging --level=info
url --url=ftp://192.168.2.19/pub/OS    注:是ftp进行安装系统
network --bootproto=dhcp --device=eth0 --onboot=on
reboot
rootpw --iscrypted $1$2t748Yno$qJJYHyXe4CioPhP6hjj650
selinux –disabled  注:关闭selinux 系统
skipx
timezone --isUtc Asia/Shanghai
install
clearpart --linux --drives=sda
#下面是磁盘分区,当然在此可以手动指定各个分区的大小,注: 磁盘分区根据需求进行划分
part /boot --fstype ext3 --size=100 --ondisk=sda
part pv.2 --size=0 --grow --ondisk=sda
volgroup VolGroup00 --pesize=32768 pv.2
logvol / --fstype ext3 --name=LogVol00 --vgname=VolGroup00 --size=1024 --grow
logvol swap --fstype swap --name=LogVol01 --vgname=VolGroup00 --size=1000 --grow --maxsize=4000
#系统安装完后执行的脚本;关闭无关的服务及其调优 参照

%post # 注: 系统在安装完后执行的脚本
#set open max file Num
sed -i '/# End of file/i  *  soft nofile 819200' /etc/security/limits.conf
sed -i '/# End of file/i  *  hard nofile 819200' /etc/security/limits.conf
#some service are  stop
chkconfig  apmd off
chkconfig  autofs off
chkconfig  avahi-daemon off
chkconfig  avahi-dnsconfd off
chkconfig  bluetooth off
chkconfig  hidd off
chkconfig  hcid off
chkconfig  dund off
chkconfig  pand off
chkconfig  capi off
chkconfig  cups off
chkconfig  firstboot off
chkconfig  iptables off
chkconfig  ip6tables off
chkconfig  irda off
chkconfig  isdn off
chkconfig  kudzu off
chkconfig  netplugd off
chkconfig  pcscd off
chkconfig  rpcgssd off
chkconfig  rpcidmapd off
chkconfig  rpcsvcgssd off
chkconfig  sendmail  off
chkconfig  wpa_supplicant off
chkconfig  ypbind off
chkconfig  yum-updatesd off
chkconfig  xend off
chkconfig  setroubleshoot off
chkconfig  winbind off
#System optimization  系统调优
echo "#System Optimization" >>/etc/sysctl.conf
sed -i '/#System Optimization/a  net.ipv4.tcp_keepalive_intvl = 2' /etc/sysctl.conf
sed -i '/#System Optimization/a  net.ipv4.tcp_keepalive_probes = 2' /etc/sysctl.conf
sed -i '/#System Optimization/a  net.ipv4.cp_keepalive_time = 30' /etc/sysctl.conf
sed -i '/#System Optimization/a  net.ipvtcp_tw_recycle = 1' /etc/sysctl.conf
sed -i '/#System Optimization/a  net.ipv4.tcp_tw_reuse = 1' /etc/sysctl.conf
sed -i '/#System Optimization/a  fs.file-max = 819200' /etc/sysctl.conf
#set  character
sed  -i 's/en\_US\.UTF\-8/zh\_CN\.GBK/g' /etc/sysconfig/i18n
sed  -i '/LANG/a LANGUAGE="en_US.GBK'  /etc/sysconfig/i18n
sed  -i '/LANGUAGE/a LC_CTYPE="zh_CN.GBK"' /etc/sysconfig/i18n

8 把ks.cfg 复制在ftp工作目录中
#cp  ks.cfg  /var/ftp/pub
注: 该处一定要和/tftpboot/pxelinux.cfg 中default 中指定的ks.cfg 的配置位置相同.否则不能通过网络进行安装系统

9 并把系统盘中的镜像文件放在/var/ftp/pub/OS 下面,重启需要安装的物理主机,启动从网络进行启动


本文出自 “Frank” 博客,请务必保留此出处http://freehat.blog.51cto.com/1239536/650164
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: