1、概念與原理html
什麼是PXElinux
嚴格來講,PXE 並非一種安裝方式,而是一種引導的方式。進行 PXE 安裝的必要條件是要安裝的計算機中包含一個 PXE 支持的網卡(NIC),即網卡中必需要有 PXE Client。PXE (Pre-boot Execution Environment,直譯爲啓動前的執行環境)協議使計算機能夠經過網絡啓動。協議分爲 client 和 server 端,PXE client 在網卡的 ROM 中,當計算機引導時,BIOS 把 PXE client 調入內存執行,由 PXE client 將放置在遠端的文件經過網絡下載到本地運行。運行 PXE 協議須要設置 DHCP 服務器和 TFTP 服務器。DHCP 服務器用來給 PXE client(將要安裝系統的主機)分配一個 IP 地址,因爲是給 PXE client 分配 IP 地址,因此在配置 DHCP 服務器時須要增長相應的 PXE 設置。此外,在 PXE client 的 ROM 中,已經存在了 TFTP Client。PXE Client 經過 TFTP 協議到 TFTP Server 上下載所需的文件。vim
什麼是KickStart服務器
KickStart是一種無人職守安裝方式。KickStart的工做原理是經過記錄典型的安裝過程當中所需人工干預填寫的各類參數,並生成一個名爲ks.cfg的文件;在其後的安裝過程當中(不僅侷限於生成KickStart安裝文件的機器)當出現要求填寫參數的狀況時,安裝程序會首先去查找KickStart生成的文件,當找到合適的參數時,就採用找到的參數,當沒有找到合適的參數時,才須要安裝者手工干預。這樣,若是KickStart文件涵蓋了安裝過程當中出現的全部須要填寫的參數時,安裝者徹底能夠只告訴安裝程序從何處取ks.cfg文件,而後去忙本身的事情。等安裝完畢,安裝程序會根據ks.cfg中設置的重啓選項來重啓系統,並結束安裝。網絡
2、環境說明dom
執行pxe+kickstart來批量安裝系統,須要的環境爲ide
1.DHCP服務器測試
2.TFTP服務器url
3.httpd服務器或者ftp服務器或nfs服務器等能提供文件訪問的服務器spa
4.ks.cfg文件
5.syslinux服務提供的pxelinux.0文件
6.一臺帶有支持pxe協議的網卡的主機
7.爲確保實驗可用性,請將防火牆和selinux關閉
3、安裝步驟
1)、系統版本
1
2
|
[root@station125 ~]# uname -r
2.6
.
32
-
431
.el6.x86_64
|
1
2
3
|
[root@station125 ~]# cat /etc/issue
CentOS release
6.5
(Final)
Kernel \r on an \m
|
2)、配置網絡環境以及yum源
本文使用的yum源爲本地光盤,設置ip地址192.168.1.20,子網掩碼爲255.255.255.0,網關爲192.168.1.253
1
2
3
4
5
6
7
|
yum源的配置文件
[root@station125 yum.repos.d]# cat media.repo
[base]
name=local media base
baseurl=file:
///mnt/cdrom
enabled=
1
gpgcheck=
0
|
1
2
3
4
5
6
7
8
9
|
[root@station125 ~]# ifconfig eth0
eth0 Link encap:Ethernet HWaddr
00
:0C:
29
:E4:A8:B0
inet addr:
192.168
.
1.20
Bcast:
192.168
.
1.255
Mask:
255.255
.
255.0
inet6 addr: fe80::20c:29ff:fee4:a8b0/
64
Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:
1500
Metric:
1
RX packets:
2519
errors:
0
dropped:
0
overruns:
0
frame:
0
TX packets:
398
errors:
0
dropped:
0
overruns:
0
carrier:
0
collisions:
0
txqueuelen:
1000
RX bytes:
227897
(
222.5
KiB) TX bytes:
49799
(
48.6
KiB)
|
3)、安裝DHCP服務
1
|
[root@station125 ~]# yum install -y dhcp
|
配置dhcp服務器,使其可以提供192.168.1.200-192.168.1.230的ip地址,子網掩碼爲255.255.255.0。
在/etc/dhcpd/dhcpd.conf中添加以下內容,請注意,每行後面必定要加分號,要不不會成功
4)、安裝httpd服務(本文經過http的方式提供服務)
1
|
[root@station125 ~]# yum install httpd -y
|
此處只是讓http可以提供服務,不作任何配置,關於httpd的相關配置,將在後續推出,敬請你們關注。
將httpd設置爲開機自動啓動
1
|
[root@station125 ~]# chkconfig httpd on
|
5)、安裝tftp-server服務端
1
|
root@station125 ~]# yum install tftp-server xinetd -y
|
其中xinetd是爲tftp提供守護進程的,將xieted和tftp都設置爲開機自啓動,並將服務啓動
1
2
|
[root@station125 ~]# chkconfig tftp on
[root@station125 ~]# chkconfig xinetd on
|
6)、準備所須要的rpm包
將光盤下從新掛載指至/var/www/html/wangfeng7399目錄下
1
2
|
[root@station125 ~]# mkdir /
var
/www/html/wangfeng7399
[root@station125 ~]# mount --bind /mnt/cdrom/ /
var
/www/html/wangfeng7399/
|
啓動httpd服務
1
2
3
4
|
[root@station125 ~]# service httpd start
Starting httpd: httpd: apr_sockaddr_info_get() failed
for
station125.magelinux.com
httpd: Could not reliably determine the server's fully qualified domain name, using
127.0
.
0.1
for
ServerName
[ OK ]
|
7)、準備tftpboot下的文件
安裝syslinux,此服務爲pxe提供pxelinux.0文件
1
|
[root@station125 ~]# yum install syslinux -y
|
複製pxe啓動所須要的文件到tftp目錄下
1
2
3
4
5
6
7
|
[root@station125 ~]# cp /
var
/www/html/wangfeng7399/p_w_picpaths/pxeboot/{vmlinuz,initrd.img} /
var
/lib/tftpboot/
[root@station125 ~]# cp /
var
/www/html/wangfeng7399/isolinux/boot.msg /
var
/lib/tftpboot/
[root@station125 ~]# cp /
var
/www/html/wangfeng7399/isolinux/vesamenu.c32 /
var
/lib/tftpboot/
[root@station125 ~]# cp /
var
/www/html/wangfeng7399/isolinux/splash.jpg /
var
/lib/tftpboot/
[root@station125 ~]# cp /usr/share/syslinux/pxelinux.
0
/
var
/lib/tftpboot/
[root@station125 ~]# mkdir /
var
/lib/tftpboot/pxelinux.cfg
[root@station125 ~]# cp /
var
/www/html/wangfeng7399/isolinux/isolinux.cfg /
var
/lib/tftpboot/pxelinux.cfg/
default
|
修改/var/lib/tftpboot/pxelinux.cfg/default
8)、第一次測試,測試是否能夠經過pxe安裝系統
9)、提供kictstart文件
kickstart文件生成方式有了兩種
1.複製模板/root/anaconda-ks.cfg。然後使用vim編輯配置
2.使用system-config-kiskstart來生成,建議使用/root/anaconda-ks.cfg 模板生成
本文以第一種方式生成,修改本身所須要的參數,關於ks.cfg的相關介紹請移步至本人的相關博文!連接地址爲http://wangfeng7399.blog.51cto.com/3518031/1369553
將生成的ks.cfg文件複製到/var/www/html下
10)、配置引導程序可以自動加載kictstart文件
修改/var/lib/tftpboot/pxelinux.cfg的default文件
爲/var/www/html下的ks.cfg文件加可讀權限
11)、測試安裝
測試成功!