pxe+kickstart無人值守安裝

一、戰前理論

什麼是PXE?


PXE(preboot execute environment,預啓動執行環境)是由Intel公司開發的最新技術, 工作於Client/Server的網絡模式, 只想hi工作站通過網絡從遠程服務器下載鏡像, 並由此支持通過網絡啓動操作系統, 在啓動過程中, 終端要求服務器分配IP地址, 在用TFTP(Trivial file transfer protocol)或MTFTP(Multicast Trivial File Transfer Protocol)協議卸載一個啓動軟件包到本機內存中執行, 這個啓動軟件包完成終端基本軟件設置, 從而引導預先安裝服務器中的操作系統. PXE可以引導多種操作系統, 如: Windows 95/98/2000/windows 2008/xp/win 7/win8;


Kickstart技術

Kickstart技術的核心是:自動應答文件(Kickstart文件),就是將本來在安裝過程中需要我們手動設置的語言、密碼、網絡參數等通過讀取讀取自動應答文件實現自動設置。也就是說,我們需要事先將對操作系統的設置寫入自動應答文件,開始安裝操作系統時,指定安裝程序讀取自動應答文件實現自動安裝及部署操作系統


二、安裝部署

以下配置文件中的IP等內容需根據實際環境填寫,不可原樣複製

切勿注意內網中是否有別的DHCP服務器


1、安裝服務器的IP:192.168.0.70


2、具體實現步驟如下

(1)安裝DHCP服務

[root@c6 ~]# yum install -y dhcp
[root@c6 ~]# vim /etc/dhcp/dhcpd.conf
log-facility local7;
   subnet 192.168.0.0 netmask 255.255.255.0 {
       range 192.168.0.150 192.168.0.200;
       option domain-name-servers 114.114.114.114;
       option routers 192.168.0.1;
       default-lease-time 600;
       max-lease-time 7200;
       next-server 192.168.0.70;
       filename "pxelinux.0";
   }



配置說明:指定爲192.168.0.0/24網絡分配動態IP地址,動態地址池從192.168.0.150至192.168.0.200;客戶端獲取的網關地址爲192.168.0.1;TFTP地址爲192.168.0.70,啓動文件名稱爲pxelinux.0


(2)安裝部署TFTP服務

[root@c6 ~]# yum install  tftp-server -y
[root@c6 ~]# vim /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
}



配置說明:共享路徑爲/var/lib/tftpboot


(3) 將客戶端所需啓動文件複製到TFTP服務器

[root@c6 ~]# yum install -y syslinux
[root@c6 ~]# cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/
#將光盤或ISO掛載到/media中,將安裝鏡像中的啓動鏡像文件和啓動配置文件複製到TFTP共享目錄下
[root@c6 ~]# mount /dev/cdrom /mnt
[root@c6 ~]# cp /mnt/isolinux/{vmlinuz,initrd.img} /var/lib/tftpboot/
[root@c6 ~]# mkdir /var/lib/tftpboot/pxelinux.cfg
[root@c6 ~]# vim /var/lib/tftpboot/pxelinux.cfg/default
default linux
   #prompt 1
   timeout 600
   display boot.msg
   menu background splash.jpg
   menu title Welcome to CentOS 6.8!
   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 initrd=initrd.img ks=nfs:192.168.0.70:/ks/ks.cfg
   label vesa
     menu label Install system with ^basic video driver
     kernel vmlinuz
     append initrd=initrd.img xdriver=vesa nomodeset
   label rescue
     menu label ^Rescue installed system
     kernel vmlinuz
     append initrd=initrd.img rescue
   label local
     menu label Boot from ^local drive
     localboot 0xffff
   label memtest86
     menu label ^Memory test
     kernel memtest
     append -
[root@c6 ~]# /etc/init.d/xinetd restart

配置說明:default指定默認引導方式,即下面的以label開頭的各種引導方式;kernel指定的是系統內核文件;後面的ks參數可以指定自動應答文件的位置,本例設置爲通過訪問192.168.0.70的NFS共享方式讀取kickstart文件。


(4)創建kickstart自動應答文件

[root@c6 ~]# mkdir /ks
[root@c6 ~]# vim /ks/ks.cfg
#platform=x86, AMD64, 或 Intel EM64T
#version=DEVEL
# 禁用防火牆規則iptables
firewall --disabled
# 安裝系統
install
# nfs服務器地址ip,及nfs上的系統鏡像路徑
nfs --server=192.168.0.70 --dir=/mnt
# Root 密碼(加密的123456)
rootpw --iscrypted $1$16PXgd.m$C4vE6OJCMGfQVadgm0DSe.
# System authorization information
auth  --useshadow  --passalgo=sha512
# 使用字符界面安裝
text
firstboot --disable
# 美式鍵盤
keyboard us
# 系統語言
lang en_US
# 關閉Selinux
selinux --disabled
# 不配置圖形界面
skipx
# 安裝日誌記錄級別爲 info
logging --level=info
# 安裝完成後重啓
reboot
# 系統時區
timezone  Asia/Shanghai
# 網絡配置:動態獲取ip、網卡名稱eth0,開機自動啓動網絡服務,不開啓ipv6,主機名(自定義,可以不寫,默認localdomain:localhost)
network  --bootproto=dhcp --device=eth0 --onboot=on --noipv6 --hostname=CentOS04
# 系統啓動引導配置:mbr引導
bootloader --location=mbr
# 磁盤分區,zerombr:一定要有,不然安裝的時候會停在格式化分區界面
zerombr
clearpart --all --initlabel
# 磁盤分區方式
part /boot --fstype="ext4" --size=200
part swap --fstype="swap" --size=2000
part / --fstype="ext4" --grow --size=1
# 安裝完成後要執行的腳本
%post
/sbin/chkconfig --level 2345 atd off
/sbin/chkconfig --level 2345 httpd off
/sbin/chkconfig --level 2345 cups off
/sbin/chkconfig --level 2345 smartd off
/sbin/chkconfig --level 2345 bluetooth off
/sbin/chkconfig --level 2345 sshd on
/sbin/chkconfig --level 2345 snmpd on
/usr/sbin/useradd tomcat
mkdir /root/.ssh/
chmod -R 600 /root/.ssh/
%end
# 自定義一些軟件包,比如vim、開發工具
%packages
@additional-devel
@development
@core
vim-common
vim-enhanced
vim-minimal
wget
lrzsz
%end



(5)部署NFS服務:

[root@c6 ~]# yum install  nfs-utils rpcbind -y
[root@c6 ~]# vim /etc/exports
/ks   192.168.0.0/255.255.255.0(ro)
/mnt  192.168.0.0/255.255.255.0(ro)
[root@c6 ~]# /etc/init.d/rpcbind start; /etc/init.d/nfs start


(6)開啓客戶機

 對於首次安裝的客戶機來說,不需要進入BIOS更改啓動順序,從CD-ROM或硬盤找不到自然會從網絡尋找安裝源

wKioL1hwa8zQfJoeAAApDr7Exb8853.png-wh_50


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章