手机版
你好,游客 登录 注册
背景:
阅读新闻

使用PXE+DHCP+Apache+Kickstart无人值守安装CentOS5.8 x86_64

[日期:2012-12-26] 来源:51cto  作者:andrewyu [字体: ]

此配置过程中的重难点我这里说明下:

分区操作按照目前线上分区来操作,即分成/、/boot、/data及swap四个分区,其中/data分区是存放数据的,我们这里用--grow --size=1参数来将其余的剩余空间全部分配给/data分区。

key --skip如果是红帽系统,此选项可以跳过输入序列号过程;如果是CentOS 5.x系列,则可以不保留此项内容;

reboot 此选项必须存在,也必须文中设定位置,不然kickstart显示一条消息,并等待用户按任意键后才重新引导,此问题是很多朋友在论坛上发言提问的,我在实验过程中也遇到此问题,建议多做几次实验;

clearpart --all --initlabel此条命令必须添加,不然系统会让用户手动选择是否清除所有数据,这就需要人为干预了,从而导致自动化过程失败;

其它方面选项较容易看懂,我这里就不再重复了。

(9)将Kickstart需要的服务器均启动后,此自动化安装系统的过程就完成了,我们就可以在内网机柜中全自动同时安装CentOS5.8 x86_64系统了,服务器端启动相应命令如下:

service httpd start

chkconfig httpd on

service dhcpd start

chkconfig dhcpd on

service xinetd restart

系统完成最小化后安装后,大家可以根据自己公司的实际情况来进行系统的优化,此最小化优化脚本init.sh还可以让puppet服务器进行推送,此脚本内容如下所示:

#/bin/bash
#add the epel repo
cd /usr/local/src
wget http://mirrors.ustc.edu.cn/Fedora/epel//5/x86_64/epel-release-5-4.noarch.rpm
rpm -ivh epel-release-5-4.noarch.rpm
#add the rpmforge repo
cd /usr/local/src
wget http://packages.sw.be/rpmforge-release/rpmforge-release-0.5.2-2.el5.rf.x86_64.rpm
rpm -ivh rpmforge-release-0.5.2-2.el5.rf.x86_64.rpm

#yum install sysstat
yum -y install gcc gcc-c++ vim-enhanced unzip unrar sysstat

#set the ntp
yum -y install ntp
echo "01 01 * * * /usr/sbin/ntpdate ntp.api.bz >> /dev/null 2>&1" >> /etc/crontab
ntpdate ntp.api.bz
service crond restart

#set the file limit
ulimit -SHn 65535
echo "ulimit -SHn 65535" >> /etc/rc.local
cat >> /etc/security/limits.conf << EOF
* soft nofile 60000
* hard nofile 65535
EOF

#tune kernel parametres
cat >> /etc/sysctl.conf << EOF
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_syn_retries = 1
net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_fin_timeout = 1
net.ipv4.tcp_keepalive_time = 1200
net.ipv4.ip_local_port_range = 1024 65535
EOF
/sbin/sysctl -p

#set the control-alt-delete to guard against the miSUSE
sed -i 's@ca::ctrlaltdel:/sbin/shutdown -t3 -r now@#ca::ctrlaltdel:/sbin/shutdown -t3 -r now@' /etc/inittab

#disable selinux
sed -i 's@SELINUX=enforcing@SELINUX=disabled@' /etc/selinux/config

#ssh setting
sed -i -e '74 s/^/#/' -i -e '76 s/^/#/' /etc/ssh/sshd_config
sed -i 's@#UseDNS yes@UseDNS no@' /etc/ssh/sshd_config
service sshd restart

#disable ipv6
echo "alias net-pf-10 off" >> /etc/modprobe.conf
echo "alias ipv6 off" >> /etc/modprobe.conf
echo "install ipv6 /bin/true" >> /etc/modprobe.conf
echo "IPV6INIT=no" >> /etc/sysconfig/network
sed -i 's@NETWORKING_IPV6=yes@NETWORKING_IPV6=no@' /etc/sysconfig/network
chkconfig ip6tables off

#vim setting
echo "syntax on" >> /root/.vimrc
echo "set nohlsearch" >> /root/.vimrc

#chkconfig off services
chkconfig bluetooth off
chkconfig sendmail off
chkconfig kudzu off
chkconfig nfslock off
chkconfig portmap off
chkconfig iptables off
chkconfig autofs off
chkconfig yum-updatesd off

#reboot system
Reboot

注意:

#tune kernel parametres为内核优化部分,在这里我只做了基础处理,大家有需求可以自行修改,记住:一切以系统稳定为原则。

#vim setting选项为vim的个性化配置,如果想vim语法高亮,则必须安装vim-enhanced包,另外,vim在使用搜索功能,搜索选中内容为高亮,感觉不是特别舒服,所以我这里用了set nohlsearch选项,如果大家不介意此项功能,则不需要添加此语句;

#disable ipv6选项我在测试时发现,在CentOS5.8 x86_64系统下,如果不添加install ipv6 /bin/true此语句到/etc/modprobe.conf文件里,是关闭不了ipv6选项的,而测试的CentOS5.5 | 5.6不添加此句均可以顺利关闭ipv6,这点请大家注意,当然了,最后要reboot系统让此配置生效。

引申:相信大家的开发环境应该有不少Xen虚拟机,虽然Xen有自身的模板文件操作,但我们也可以利用Kickstart的方式快速无人值守安装Xen虚拟机系统,命令如下所示:

virt-install  -n vm4  -r 300  -f /data/vm/vm4.img -s 8 -p -l http://192.168.11.29 -x ks=http://192.168.11.29/ks.cfg

由于Xen结合Kickstart并不是本文档的重点内容,有兴趣的朋友可以可以自行研究;另外有一点请大家一定要注意:

由于此安装方法太智能化,在网络引导成功以后会自动清除硬盘数据并重新安装新的系统,所以建议大家将此工作区域和网段独立出来,或者在进行完安装工作以后就停用Kickstart服务器,以免对正常工作的服务器造成不必要的麻烦。由于个人能力有限,鉴于工作环境的严谨性,欢迎大家我上述文档中一切错误和不合理之处,欢迎来信与我交流,个人邮箱yuhongchun027@163.com

linux
本文评论   查看全部评论 (0)
表情: 表情 姓名: 字数

       

评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款