您的位置:首页 > 运维架构 > Linux

【Kickstart+Dhcp+Nfs+Tftp+Pxe 批量linux服务器安装】

2011-06-17 23:30 633 查看
【Kickstart+Dhcp+Nfs+Tftp+Pxe 最实用的批量linux服务器安装】
一、实用环境,随着公司业务不断增加,经常需要采购新服务器,并要求安装Linux系统,并且要求Linux版本要一致,方便以后的维护和管理,每次人工安装linux系统会浪费掉更多时间,如果我们有办法能节省一次一次的时间岂不更好呢?下面就让我们开始进入自动安装linux系统学习!
前言* 虽然网上有成千上万的kickstart安装配置文档,但是在这些文章中,有好多配置,我们可能看不懂,好多地方模糊,所以根据亲身实践并在生产环境使用自动安装linux过程写给大家,希望对刚接触Linux自动安装系统的朋友一些点滴的帮助!

二、正式安装:【实践环境 64位Centos 5.3 】
(1)、看标题我们需要配置这些步骤:Kickstart+Dhcp+Nfs+Tftp+Pxe,我们从最简单的dhcp、tftp、nfs开始配置:
yum install -y dhcp* tftp* 即可!nfs系统默认已经安装,稍后会配置;
vi /etc/xinetd.d/tftp

service tftp

{
disable = no

socket_type = dgram

protocol = udp

wait = yes

user = root

server = /usr/sbin/in.tftpd

server_args = -u nobody -s /tftpboot

per_source = 11

cps = 100 2

flags = IPv4

}

需要修改1个地方

disable = yes 修改为no 即可!

(2)、配置tftp+pxe:
安装linux系统,首先需要挂载linux安装镜像,可以是iso,可以是linux光盘:
mount /dev/cdrom /mnt 即可!然后执行如下步骤:
mkdir -p /tftpboot &&cd /tftpboot &&cp /usr/lib/syslinux/pxelinux.0 ./ &&cp /mnt/images/pxeboot/{vmlinuz,initrd.img} ./ && mkdir -p pxelinux.cfg &&cp /mnt/isolinux/isolinux.cfg pxelinux.cfg/default 完毕!
然后编辑defalut配置文件:【还是在 /tftpboot 目录下】

vi 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 ks=nfs:192.168.2.79:/centosinstall/ks.cfg ksdevice=eth0 initrd=initrd.img
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 -

修改如上两个红色地方即可:【设置timeout 10 /*超时时间为10S */;ksdevice=etho代表当我们有多块网卡的时候,要实现自动化需要设置从eth0安装,不指定的话,安装的时候系统会让你选择,那就不叫全自动化了,192.168.2.79是kickstart服务器,/centosinstall 是nfs共享linux镜像的目录,也是linux存放安装文件的路径,ks.cfg是kickstart主配置文件,稍后会详细配置】

自此tftp配置完毕! 我们可以启动它,它是非独立服务,需要借助xinetd启动如下:
chkconfig tftp --level 35 on && service xinetd restart 即可!

(3)、接下来安装nfs+kickstart:
创建nfs共享目录,也是存放linux镜像的目录:
mkdir -p /centosinstall && cp -rf /mnt/* /centosinstall 拷贝完后,设置nfs共享

vi /etc/exports

/centosinstall *(rw,sync) 保存退出即可!【可根据实际控制权限访问*代表所有】

nfs配置完毕,接着配置kickstart主配文件:
在/centosinstall/下创建ks.cfg文件,输入以下内容:
【这是我的实际使用的配置文件,当然你可以根据需要修改】有下载地址:http://blog.mgcrazy.com/download/ks.cfg
# Kickstart file automatically generated by anaconda.

install
text
nfs --server=192.168.2.79 --dir=/centosinstall
key --skip
lang zh_CN.UTF-8
keyboard us
network --device eth0 --bootproto=dhcp --noipv6
rootpw linux@passwd
firewall --disabled
authconfig --enableshadow --enablemd5
selinux --disabled
timezone Asia/Shanghai
bootloader --location=mbr --driveorder=sda --append="rhgb quiet"
# 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 --all --initlabel
part /boot --fstype ext3 --size=200
part swap --size=4000
part /www/logs --fstype ext3 --size=20000
part / --fstype ext3 --size=20000
part /home --fstype ext3 --size=10000
part /www --fstype ext3 --size=1 --grow

%packages
@admin-tools
@base
@core
@development-libs
@development-tools
@editors
@system-tools
@base-x
@chinese-support
keyutils
kexec-tools
trousers
fipscheck
device-mapper-multipath
imake
audit
xorg-x11-server-Xnest
xorg-x11-server-Xvfb


如上ks.cfg配置完毕,并设置其权限:这里设置为:chmod 777 /centosinstall/ks.cfg
具体配置参数可以参考该文章:http://wenku.baidu.com/view/ab012dfb770bf78a65295420.html kickstart参数详解!
(4)、最后我们来配置dhcp服务:
dhcp配置下载地址:http://blog.mgcrazy.com/download/dhcpd.conf :【精简版配置,如果需要大批量安装linux服务器,可以设置dhcp段】
ddns-update-style interim;
ignore client-updates;
next-server 192.168.2.79;
filename "pxelinux.0";
allow booting;
allow bootp;

subnet 192.168.0.0 netmask 255.255.252.0 {

# --- default gateway
option routers			192.168.0.1;
option subnet-mask		255.255.252.0;

#	option nis-domain		"domain.org";
#	option domain-name		"192.168.0.10";
#	option domain-name-servers	192.168.0.10;

option time-offset		-18000;	# Eastern Standard Time
#	option ntp-servers		192.168.1.1;
#	option netbios-name-servers	192.168.1.1;
# --- Selects point-to-point node (default is hybrid). Don't change this unless
# -- you understand Netbios very well
#	option netbios-node-type 2;

host ns {
hardware ethernet  00:1a:a0:2b:38:81;
fixed-address 192.168.2.101;}

host ns1 {
hardware ethernet  00:0c:29:2b:90:67;
fixed-address 192.168.2.102;}
}

【*如上注释掉dns,是为了安装的时候,快速,不必在查找本地dns的时候等待时间,最注意的地方,你的本机ip一定要跟你的dhcpd里面配置一致,否则的话,无法启动dhcp,我这里只允许两个MAC地址如上的机器安装,也许你会说,为什么要限制呢?如果不限制的话,权限就太大了,所有已网卡启动机器都会安装成linux系统,想象一下,如果你公司的电脑,第二天同事们来上班的话,系统都变成linux啦,闯的祸就大了,或者你也可以把需要安装的机器和kickstart服务器放在单独的环境更安全!(*^__^*) 嘻嘻…… 】

三、整个环境部署完毕!接下来我们重启所有服务,并测试,注意这里安装完后重启登陆的密码为ks.cfg里面配置的rootpwd 后面的 linux@passwd

service xinetd restart && service nfs restart && service dhcpd restart 即可!

找一台需要安装linux系统机器,进入bios把第一启动项设置为LAN 也即是网卡启动!然后启动,系统会自动查找本地pxe 服务器然后,自动安装!

最后非常感谢:

http://wenku.baidu.com/view/ab012dfb770bf78a65295420.html 参考,当初配置过程也遇到了好多问题,一点一点的解决,只有你真正做过,你才会有体会!不足之处欢迎提出,本文随之更新!

本文出自 “【烟雨楼台】” 博客,请务必保留此出处/article/4132421.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: