【Kickstart+Dhcp+Nfs+Tftp+Pxe 最實用的批量linux伺服器安裝】

火星人 @ 2014-03-03 , reply:0


【Kickstart+Dhcp+Nfs+Tftp+Pxe 最實用的批量linux伺服器安裝】

【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鏡像的目錄,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 參考,當初配置過程也遇到了好多問題,一點一點的解決,只有你真正做過,你才會有體會!不足之處歡迎提出,本文隨之更新!
《解決方案》

學習了,謝謝樓主分享:em03:
http://www.eshibo168.com
《解決方案》

學習了,謝謝樓主分享
《解決方案》

不錯,,收藏了!
《解決方案》

這個好啊,收藏了。




[火星人 via ] 【Kickstart+Dhcp+Nfs+Tftp+Pxe 最實用的批量linux伺服器安裝】已經有349次圍觀

http://www.coctec.com/docs/service/show-post-732.html