感谢支持
我们一直在努力

脚本部署CentOS 6.0的PXE+DHCP+TFTP+kickstart安装环境

关于自动化安装,我就不想多说什么了,网上有大把大把的资料,先说一下环境,CentOS 6.0,最好是刚装好的初始化的环境,你需要事先准备的是把CentOS 6.0的第一张光盘挂载到/mnt目录下,然后你把IP设置成192.168.0.254就行了

附件脚本下载:


免费下载地址在 http://linux.linuxidc.com/


用户名与密码都是www.linuxidc.com


具体下载目录在 /pub/2011/11/21/脚本部署CentOS 6.0的PXE+DHCP+TFTP+kickstart安装环境/


先看看脚本的内容:


#!/bin/bash


yum -y install tftp-server system-config-kickstart dhcp syslinux 


echo “/mnt *(ro)” >> /etc/exports


service nfs restart


chkconfig nfs on


setenforce 0


service iptables stop


先安装相应的dhcp,tftp等软件包,并且把CentOS的安装文件设置成NFS共享,并且关闭防火墙和selinux


 


cat >> /etc/dhcp/dhcpd.conf << EOF


option domain-name-servers 192.168.0.254;


max-lease-time 7200;


authoritative;


 


subnet 192.168.0.0 netmask 255.255.255.0 {


  range 192.168.0.1 192.168.0.253;


  next-server 192.168.0.254;


  filename “pxelinux.0”;


}


EOF


#sed -i ‘s/DHCPDARGS=/DHCPDARGS=eth1/’ /etc/sysconfig/dhcpd


service dhcpd restart


chkconfig dhcpd on


然后就是修改DHCP的配置文件了,注释掉的这行是对哪个网络接口提供DHCP服务,这个就看你个人需要了。


 


chkconfig iptables off


mkdir /var/lib/tftpboot/pxelinux.cfg/


cp /mnt/images/pxeboot/initrd.img /var/lib/tftpboot/


cp /mnt/images/pxeboot/vmlinuz /var/lib/tftpboot/


cp /usr/share/syslinux/pxelinux.0  /var/lib/tftpboot/


这几行就是把防火墙设置为开机不启动,并且创建相应的启动文件所需的目录,并且把相应的文件拷贝到相应的位置。


 


cat >>  /var/lib/tftpboot/pxelinux.cfg/default << EOF


default auto


prompt 1


timeout 10


 


label linux


  kernel vmlinuz


  append initrd=initrd.img


label auto


  menu default


  kernel vmlinuz


  append ks=http://192.168.0.254/ks.cfg initrd=initrd.img


label rescue


  kernel vmlinuz


  append initrd=initrd.img rescue


label local


  localboot 1


EOF


这几行就是创建默认的启动选项文件,default auto代表默认从auto启动,timeout 10代表默认停留十秒供你选择。


sed -i ‘/disable/c\\tdisable\t\t\t= no’ /etc/xinetd.d/tftp


service xinetd restart


chkconfig xinetd on


这几行就是把tftp设置为启动状态。


下面是执行脚本之后,启动另外一台没有系统的机器的情况: 


650) this.width=650;” border=0>


机器启动的时候,发现硬盘里面没有操作系统,光驱里面也没有引导光盘,这个时候,它开始用网卡的PXE功能启动,它先发送广播包,来获得IP地址,DHCP服务器会分配给他一个IP地址,并且告诉它去192.168.0.254上的TFTP服务器上下载pxelinux.0这个引导文件。

然后他就尝试查找pxelinux.cfg目录下,跟自己的MAC地址对应的文件,没有的话,把MAC地址减少一位,如果还没有,就继续减少,直到减少到0,最后实在没有了,就下载default这个文件,等了十秒,没有什么动静,就开始执行auto这个选项了。。。。


过了一会儿之后,


650) this.width=650;” border=0>


当然,我的脚本里面,没有生成ks.cfg这个文件,你可以用system-config-kickstart这个工具,生成你所需要的kickstart文件,然后放到apache的根目录下,启动apachef服务就可以了。。。。。


system-config-kickstart的效果如下:


 


650) this.width=650;” border=0>

赞(0) 打赏
转载请注明出处:服务器评测 » 脚本部署CentOS 6.0的PXE+DHCP+TFTP+kickstart安装环境
分享到: 更多 (0)

听说打赏我的人,都进福布斯排行榜啦!

支付宝扫一扫打赏

微信扫一扫打赏