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

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

附件脚本下载:

免费下载地址在

用户名与密码都是

具体下载目录在 /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设置为启动状态。

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

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

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

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/23127.html