Linux+PXE+DHCP+TFTP+NFS實現無人值守安裝
一、實驗環境:
OS:Redhat6.4
軟件:DHCP服務、TFTP服務、NFS服務
硬件:Dell R630服務器兩臺
物理連接圖:
em1 em1
二、工作原理:
服務器通過PXE網卡啟動,從dhcp服務器獲取IP,通過tftp下載pxelinux.0文件找到pxelinux.cfg里的配置文件,按配置文件找著vmlinuz引導OS進入安裝界面,之后選擇NFS方式安裝系統。
PXE:需要網卡支持,并且服務器BIOS需要修改網卡為支持PXE啟動。
三、服務搭建
1、服務端安裝Redhat6.4操作系統
2、服務器端DHCP服務安裝、配置
#rpm -ivh dhcp-4.1.1-34.P1.el6.x86_64.rpm 安裝dhcp
#vim /etc/dhcp/dhcpd.conf 修改配置文件
ddns-update-style none;
option routers 192.168.0.1; ##網絡dhcp服務路由、局域網中可以直接指向服務器ip
option subnet-mask 255.255.255.0;
option domain-name-servers 192.168.0.1;##dhcp服務器域名(本機用ip表示)
default-lease-time 21600;
max-lease-time 43200;
subnet 192.168.0.0 netmask 255.255.255.0 {
range 192.168.0.10 192.168.0.100;##dhcp地址池范圍定義(192.168.0.0/24 xxx.10-xxx.100 )
# TFTP Server
filename "pxelinux.0";##TFTP服務傳送到內存中的文件
next-server 192.168.0.1; ##dhcp服務器ip地址
}
#service dhcpd start 啟動服務
3、服務端TFPT安裝、配置
#rpm -ivh /install/Packages/tftp-server-0.49-7.el6.x86_64.rpm 安裝tftp服務
#vim /etc/xinetd.d/tftp 修改tftp配置文件
service tftp
{
socket_type = dgram
protocol = udp
wait = yes
user = root
server = /usr/sbin/in.tftpd
server_args = -s /var/lib/tftpboot ##tftp服務目錄
disable = no ##no表示開啟 yes表示關閉
per_source = 11
cps = 100 2
flags = IPv4
}
#mkdir -p /var/lib/tftpboot 根據tfpt配置文件 server_args對應的目錄創建
# cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/ 將啟動文件拷貝到tftp目錄
# cp /install/images/pxeboot/{vmlinuz,initrd.img} /var/lib/tftpboot/ 將內核文件拷貝到tftp目錄
#cd /var/lib/tftpboot;mkdir –p pxelinux.cfg 加載pxelinux.0文件后 客戶端會搜索服務端pxelinux.cfg目錄
#vim default 在新建的pxelinux.cfg目錄下創建default文件,來告知內存加載tftp目錄中安裝文件
default linux
#prompt 1
timeout 600
display boot.msg
menu background splash.jpg
menu title Welcome to Red Hat Enterprise Linux 6.4!
menu color border 0 #ffffffff #00000000
menu color sel 7 #ffffffff #ff000000
menu color title 0 #ffffffff #00000000
menu color tabmsg 0 #ffffffff #00000000
menu color unsel 0 #ffffffff #00000000
menu color hotsel 0 #ff000000 #ffffffff
menu color hotkey 7 #ffffffff #ff000000
menu color scrollbar 0 #ffffffff #00000000
label linux
menu label ^Install or upgrade an existing system
menu default
kernel vmlinuz
append ks=nfs:192.168.0.1:/install/ks.cfg ksdevice=em1 initrd=initrd.img
#service xinetd start 啟動tftp服務
4、NFS服務安裝、配置
# rpm -ivh nfs-utils-1.2.3-36.el6.x86_64.rpm
# rpm -ivh nfs-utils-lib-1.1.5-6.el6.x86_64.rpm
#vim /etc/exports 配置共享目錄
/install *(ro,sync) ## 將/install 目錄下所有內容共享出去
#service nfs start 啟動nfs服務
#exportfs 啟用共享 正常情況顯示 /install <word>
#showmount -e 查看當前共享的文件 正常情況顯示 /install *
5、創建ks.cfg無人值守配置文件
有兩種方式獲取ks.cfg文件,1、可以通過終端運行:system-config-kickstart指令來啟動kickstart的圖形化界面配置程序來生成一個安裝配置文件,這種方式需要自己在ks.cfg配置文件中輸入要安裝的RPM包的名稱(推薦使用)2、可以直接通過修改/root/ naconda-ks.cfg文件來獲取。
6、系統安裝介質拷貝到服務端共享目錄
#mount /dev/cdrom /media 將系統光盤mount到/media目錄下
#cp -r /media/* /install 將所有文件拷貝到共享目錄中
#cp /root/naconda-ks.cfg /install/ks.cfg 將生成的ks.cfg文件也拷貝到共享目錄
四、客戶端操作系統安裝
客戶端設置BIOS啟動順序:必須保證硬盤啟動在網卡啟動前面否則會重復安裝過程
Cdrom
硬盤
NIC
開啟網卡PXE功能,(只需要開啟插網線的哪塊網卡)
保存配置重啟服務器,機器自動從網卡啟動進行系統安裝
五、總結后續計劃
本次實驗實現了服務器操作系統的自動安裝,在批量機器上架的時候可以執行開機就可以完成自動化的操作系統安裝,但是服務器的ip配置還不能做到定制化,后續實驗看是否可以通過改進ks.cfg文件,添加安裝后執行腳本,對服務器的ip進行定制化安裝。

浙公網安備 33010602011771號