Kickstart服务器系统:CentOS 5.10 64位
IP地址:192.168.21.128
需要安装部署的Linux系统:CentOS 5.10 64位
eth0(第一块网卡,用于外网)IP地址段:192.168.21.160-192.168.21.200
eth1(第二块网卡,用于内网)IP地址段:10.0.0.160-10.0.0.200
子网掩码:255.255.255.0
网关:192.168.21.2
DNS:8.8.8.8 8.8.4.4
所有服务器均支持PXE网络启动
实现目的:通过配置Kickstart服务器,全自动批量安装部署Linux系统
具体操作:
第一部分:在Kickstart服务器系统操作
一、关闭SELINUX
vi /etc/selinux/config
#SELINUX=enforcing #注释掉
#SELINUXTYPE=targeted #注释掉
SELINUX=disabled #增加
:wq! #保存退出
setenforce 0 #使配置立即生效
二、配置防火墙,开启TCP:80端口、UDP:69端口
vi /etc/sysconfig/iptables #编辑
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT #http服务需要此端口
-A RH-Firewall-1-INPUT -m state --state NEW -m udp -p udp --dport 69 -j ACCEPT #tftp服务需要此端口
/etc/init.d/iptables restart #最后重启防火墙使配置生效
三、安装http服务器
yum install httpd #安装
chkconfig httpd on #设置开机启动
service httpd start #启动
四、挂载系统安装镜像到http服务器站点目录
上传系统安装镜像文件CentOS-5.10-x86_64-bin-DVD-1of2.iso到/usr/local/src/目录
mkdir -p /var/www/html/os #创建挂载目录
mount -t iso9660 -o loop /usr/local/src/CentOS-5.10-x86_64-bin-DVD-1of2.iso /var/www/html/os #挂载系统镜像
vi /etc/fstab #添加以下代码。实现开机自动挂载
/usr/local/src/CentOS-5.10-x86_64-bin-DVD-1of2.iso /var/www/html/os iso9660 defaults,ro,loop 0 0
:wq! #保存退出
备注:iso9660使用df -T 查看设备 卸载:umount /var/www/html/os
五、安装tftp服务器
yum install tftp tftp-server #安装
vi /etc/xinetd.d/tftp #编辑
service tftp
{
socket_type = dgram
protocol = udp
wait = yes
user = root
server = /usr/sbin/in.tftpd
server_args = -s /var/lib/tftpboot
disable = no
per_source = 11
cps = 100 2
flags = IPv4
}
:wq! #保存退出
service xinetd start #启动
mkdir -p /var/lib/tftpboot
cp /var/www/html/os/p_w_picpaths/pxeboot/vmlinuz /var/lib/tftpboot
cp /var/www/html/os/p_w_picpaths/pxeboot/initrd.img /var/lib/tftpboot
mkdir -p /var/lib/tftpboot/pxelinux.cfg
cp /var/www/html/os/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default#拷贝启动菜单
vi /var/lib/tftpboot/pxelinux.cfg/default #编辑修改
default linux
prompt 0
timeout 600
display boot.msg
F1 boot.msg
F2 options.msg
F3 general.msg
F4 param.msg
F5 rescue.msg
label linux
kernel vmlinuz
append initrd=initrd.img ks=http://192.168.21.128/ks.cfg ksdevice=eth0 ip=dhcp
label text
kernel vmlinuz
append initrd=initrd.img text
label ks
kernel vmlinuz
append ks initrd=initrd.img
label local
localboot 1
label memtest86
kernel memtest
append -
:wq! #保存退出
chmod 644 /var/lib/tftpboot/pxelinux.cfg/default #设置文件权限
yum install syslinux #安装引导程序
cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/ #拷贝引导文件到tftp服务器根目录
六、安装DHCP服务器
yum install dhcp #安装
cp /usr/share/doc/dhcp-3.0.5/dhcpd.conf.sample /etc/dhcpd.conf #复制配置文件模板
vi /etc/dhcpd.conf #编辑配置文件
ddns-update-style interim; #设置DHCP服务器模式
ignore client-updates; #禁止客户端更新
subnet 192.168.21.0 netmask 255.255.255.0 { #设置网段
option routers 192.168.21.2; #设置网关
option subnet-mask 255.255.255.0; #设置子网掩码
option domain-name-servers 8.8.8.8,8.8.4.4; #设置dns服务器地址
range dynamic-bootp 192.168.21.160 192.168.21.200; #设置dhcp服务器IP地址租用的范围
default-lease-time 21600; #默认租约时间
max-lease-time 43200; #最大租约时间
next-server 192.168.21.128; #tftp服务器地址
filename "pxelinux.0"; #tftp服务器根目录下面的文件名
}
:wq! #保存退出
vi /etc/sysconfig/dhcpd #指定DHCP服务的网络接口
DHCPDARGS=eth0
:wq! #保存退出
dhcpd #测试dhcp服务器配置是否正确
service dhcpd start #启动dhcp服务
chkconfig dhcpd on #设置开机启动
系统运维 www.osyunwei.com 温馨提醒:qihang01原创内容版权所有,转载请注明出处及原文链接
七、配置kickstart自动安装文件
yum install system-config-kickstart #安装工具包
cd /var/www/html
vi ks.cfg #编辑
# Kickstart file automatically generated by anaconda.
install
url --url=http://192.168.21.128/os/
lang en_US.UTF-8
zerombr yes
key --skip
keyboard us
network --device eth0 --bootproto dhcp --onboot on
#network --device eth0 --bootproto static --ip 192.168.21.250 --netmask 255.255.255.0 --gateway 192.168.21.2 --nameserver 8.8.8.8 --hostname CentOS5.10
rootpw --iscrypted $1$QqobZZ1g$rYnrawi9kYlEeUuq1vcRS/
firewall --enabled --port=22:tcp
authconfig --enableshadow --enablemd5
selinux --disabled
timezone Asia/Shanghai
bootloader --location=mbr --driveorder=sda
# The following is the partition information you requested
# Note that any partitions you deleted are not expressed
# here so unless you clear all partitions first, this is
# not guaranteed to work
#clearpart --linux
clearpart --all --initlabel
part / --bytes-per-inode=4096 --fstype="ext3" --size=2048
part /boot --bytes-per-inode=4096 --fstype="ext3" --size=128
part swap --bytes-per-inode=4096 --fstype="swap" --size=500
part /data --bytes-per-inode=4096 --fstype="ext3" --grow --size=1
reboot
%packages