一 通过网络安装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 服务的主配置文件中添加以下两行
ddns-update-style interim;
ignore client-updates;
subnet 192.168.1.0 netmask 255.255.255.0 { //所属网段及掩码。
# --- default gateway
option routers 192.168.1.8; //路由器IP,可以写网关IP
option subnet-mask 255.255.255.0;
filename "pxelinux.0"; //PXE得到IP以后的引导文件
next-server 192.168.1.8; //服务器IP地址。
# option nis-domain "domain.org"; //注销
# option domain-name "domain.org"; //注销
option domain-name-servers 192.168.1.8; //DNS服务器IP
option time-offset -18000; # Eastern Standard Time
# option netbios-node-type 2;
range dynamic-bootp 192.168.1.100 192.168.1.200; //IP地址池范围。
default-lease-time 21600;
......后面省略 //写配置文件的时候注意每句后面的分号(;)不要丢了。
3 配置tftp 服务,并重启tftp服务
#cd /etc/xinetd.d
#vim tftp
修改tftp 配置文件如下
disable=yes ;
修改为disable=no ;
#chkconfig tftpd on
#service xinetd restart
4 挂载系统光盘,并复制系统安装时必须的引导文件
[root@rhce ~]# cp /usr/lib/syslinux/pxelinux.0 /tftpboot/
[root@rhce ~]# mkdir /tftpboot/pxelinux.cfg
[root@rhce ~]# cp /cdrom/isolinux/isolinux.cfg /tftpboot/pxelinux.cfg/default
[root@rhce ~]# cp /cdrom/p_w_picpaths/pxeboot/initrd.img /tftpboot/
[root@rhce ~]# cp /cdrom/p_w_picpaths/pxeboot/vmlinuz /tftpboot/
[root@rhce ~]# cp /cdrom/isolinux/*.msg /tftpboot/
(复制boot.msg,options.msg,general.msg,param.msg,resue.msg)
5 修改/tftpboot/default 文件如下
#cat /tftpboot/pxelinux.cfg/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 下面,重启需要安装的物理主机,启动从网络进行启动
转载于:https://blog.51cto.com/wushank/1142153