【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
[email protected] 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 後面的
[email protected] 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
《解決方案》
學習了,謝謝樓主分享
《解決方案》
不錯,,收藏了!
《解決方案》
這個好啊,收藏了。