PXE如何實現(xiàn)系統(tǒng)批量自動安裝,很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細(xì)講解,有這方面需求的人可以來學(xué)習(xí)下,希望你能有所收獲。
成都創(chuàng)新互聯(lián)是一家專業(yè)提供滎經(jīng)企業(yè)網(wǎng)站建設(shè),專注與成都網(wǎng)站建設(shè)、做網(wǎng)站、H5響應(yīng)式網(wǎng)站、小程序制作等業(yè)務(wù)。10年已為滎經(jīng)眾多企業(yè)、政府機(jī)構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)的建站公司優(yōu)惠進(jìn)行中。1 需求分析
隨著互聯(lián)網(wǎng)技術(shù)的不斷壯大,服務(wù)器數(shù)量也在不斷的增加,IT運(yùn)維已經(jīng)成為IT服務(wù)內(nèi)涵中重要的組成部分。面對越來越復(fù)雜的業(yè)務(wù),面對越來越多樣化的用戶需求,不斷擴(kuò)展的IT應(yīng)用需要越來越合理的模式來保障IT服務(wù)能靈活便捷、安全穩(wěn)定地持續(xù)保障,這種模式中的保障因素就是IT運(yùn)維。從初期的幾臺服務(wù)器發(fā)展到龐大的數(shù)據(jù)中心,單靠人工已經(jīng)無法滿足在技術(shù)、業(yè)務(wù)、管理等方面的要求,那么標(biāo)準(zhǔn)化、自動化、架構(gòu)優(yōu)化、過程優(yōu)化等降低IT服務(wù)成本的因素越來越被人們所重視。而如何自動化批量部署安裝一個穩(wěn)定的系統(tǒng)是實現(xiàn)自動化的第一步。
2 PXE簡介
PXE,就是預(yù)啟動執(zhí)行環(huán)境,是一種引導(dǎo)啟動的方式。這種協(xié)議一般由兩部分構(gòu)成,一部分是服務(wù)器端,一個是客戶端。簡單來說,我們通過這種方式可以自己創(chuàng)建一個“安裝源”,在安裝系統(tǒng)的時候只要能找到這個“源”便可以實現(xiàn)系統(tǒng)的安裝。在實現(xiàn)無人值守的安裝前,我們必須要搭建一些服務(wù),來實現(xiàn)“安裝源”的建立,例如ftp、http、tftp、dhcp等。當(dāng)一臺主機(jī)啟動時,標(biāo)準(zhǔn)輸入輸出會將PXE客戶端調(diào)入我們的內(nèi)存中進(jìn)行相關(guān)的操作,并提示相關(guān)的選項,在這里我們可以進(jìn)行選擇。PXE的客戶端通過網(wǎng)絡(luò)下載(download)啟動文件到本地運(yùn)行。具體過程是,PXE客戶端通過網(wǎng)卡向局域網(wǎng)內(nèi)發(fā)送ip請求,然后DHCP服務(wù)器會提供給給它一個ip地址和系統(tǒng)安裝所需要的文件,接下使用接收到的文件進(jìn)行系統(tǒng)安裝。而安裝的過程又需要其他服務(wù)器提供的資源,例如:yum源,內(nèi)核文件等,當(dāng)主機(jī)拿到這些資源,便可以順利的安裝了。最終結(jié)果是:任意一臺主機(jī)在選著網(wǎng)絡(luò)啟動時會獲取DHCP服務(wù)器分發(fā)的ip,通過通過獲取到的ip地址與局域網(wǎng)內(nèi)的TFTP服務(wù)器通信并獲取啟動文件,與FTP或者HTTP通信并獲取yum源文件及內(nèi)核文件等。之后開始自動安裝,而這個過程不需要人在做任何操作。
PXE安裝優(yōu)點,這種安裝系統(tǒng)的方式可以不受光驅(qū),光盤以及一些外部設(shè)備的限制,還可以做到無人值守,大大減輕了運(yùn)維人員的工作負(fù)荷,像在一些主機(jī)數(shù)量龐大的機(jī)房進(jìn)行批量安裝,PXE將是你不二的選擇。
3整體方案
這一小節(jié)我們主要介紹方案選擇,在說方案之前先來看看PXE部署思路。部署思路其實并不難,在實現(xiàn)PXE自動批量安裝系統(tǒng)時,首先我們需要有DHCP服務(wù)器為我們提供IP地址,如果在一個網(wǎng)絡(luò)中你連IP地址都獲取不到,何談自動化。其次我們要安裝一個系統(tǒng),那么需要的文件必須要有人為我們提供才可以,應(yīng)為是網(wǎng)絡(luò)自動安裝,本地是沒有任何資源的,我們可以使用HTTP,F(xiàn)TP服務(wù)來實現(xiàn)。最后就是獲取我們的安裝文件,這些文件會引導(dǎo)我們的計算機(jī)如何啟動,如何配置,我們選擇TFTP服務(wù)起來提供。整體框架如下圖:
方案1:選則一臺主機(jī)同時搭建HTTP、TFTP、DHCP服務(wù),為該子網(wǎng)內(nèi)的主機(jī)提供服務(wù)。
方案2:選擇一臺主機(jī)搭建HTTP、TFTP服務(wù),做提供資源的服務(wù)器,另為一臺主機(jī)單間DHCP服務(wù),提供IP地址。
上述提供了兩種方案,當(dāng)然了,如果你不怕資源浪費(fèi),你也可以選擇每種服務(wù)搭建在一臺主機(jī)上,做相應(yīng)服務(wù)的提供,不過個人并不建議??紤]到節(jié)約資源的目的,我們選擇方案一。
4 服務(wù)選型
4.1 DHCP服務(wù)
由于我們是實現(xiàn)自動化批量安裝部署,所以,能夠與其他主機(jī)通信是前提,而要想獲取IP并實現(xiàn)通信,我們必須要有DHCP服務(wù)器為大量的主機(jī)提供ip地址才行。
DHCP就是動態(tài)主機(jī)設(shè)置協(xié)議,主要是為客戶端分發(fā)IP,并且是自動分發(fā)IP的,一臺主機(jī)通過DHCP獲取的地址是動態(tài)的,每次獲取的地址都有可能不同,改地址是DHCP服務(wù)器暫時分配給用戶使用的,當(dāng)主機(jī)關(guān)機(jī)之后則會返回這個ip地址,此時如果有其他用戶請求,DHCP服務(wù)器則會將該IP地址分配給他。局域網(wǎng)中的每臺主機(jī)都可以充當(dāng)DHCP服務(wù)器,只要我們安裝DHCP服務(wù),并做相應(yīng)的配置即可,這里的配置主要是子網(wǎng)的配置,配置其他主機(jī)能使用IP地址的范圍,例如:配置子網(wǎng)為192.168.14.0,該子網(wǎng)內(nèi)主機(jī)獲取IP的范圍為192.168.14.1~192.168.14.100。那么我們就可以打開DHCP的配置文件/etc/dhcp/dhcpd.conf做如下配置:
subnet 192.168.14.0 netmask 255.255.255.0 {
range 192.168.25.50 192.168.25.100;
next-server 192.168.25.107;
# 指明tftp服務(wù)器的地址
filename
"pxelinux.0"
;
# 指定PXE文件
}
4.2 HTTP服務(wù)
由于我們要獲取安裝系統(tǒng)服務(wù)的yum源以及內(nèi)核文件,虛擬根文件,這些文件都是大文件,在傳輸時我們必須保證其能夠安全傳輸,所以我們選擇了HTTP服務(wù),當(dāng)然了,選擇FTP服務(wù)也是可以的。
HTTP是Hyper Text Transfer Protocol(超文本傳輸協(xié)議)的縮寫。是互聯(lián)網(wǎng)上廣泛試用的協(xié)議。是用于從WWW服務(wù)器傳輸超文本到本地瀏覽器的傳輸協(xié)議。它可以使瀏覽器更加高效,使網(wǎng)絡(luò)傳輸減少。它不僅保證計算機(jī)正確快速地傳輸超文本文檔,還確定傳輸文檔中的哪一部分等。HTTP包含命令和傳輸信息,不僅可用于Web訪問,也可以用于其他因特網(wǎng)/內(nèi)聯(lián)網(wǎng)應(yīng)用系統(tǒng)之間的通信,從而實現(xiàn)各類應(yīng)用資源超媒體訪問的集成。
4.3 TFTP服務(wù)
TFTP是一種文件傳輸服務(wù),用于服務(wù)器與客戶端進(jìn)行文件的傳輸,不過他只能進(jìn)行簡單的文件傳輸,這個服務(wù)開銷不大,所以并不能進(jìn)行大文件的傳輸,多用于小文件的傳輸。他沒有FTP那么強(qiáng)大,但是TFTP使用UDP協(xié)議傳輸數(shù)據(jù),有些時候比FTP更加方便,它所監(jiān)聽的端口為69。由于我們是在局域網(wǎng)中,系統(tǒng)相對安全,而提供的數(shù)據(jù)也不是很大,所以TFTP是實現(xiàn)PXE的不二選擇。
5 功能實現(xiàn)
5.1安裝前準(zhǔn)備
由于涉及到主機(jī)間不同基于不同協(xié)議的通信,所以為了避免不必要的麻煩,我們選擇關(guān)閉防火墻以及selinux。生產(chǎn)場景中不建議這樣做。
[ root@vinsent ~ ]
#iptables -F # 關(guān)閉防火墻
[ root@vinsent ~ ]
#setenforce 0 # 臨時關(guān)閉selinux
[ root@vinsent ~ ]
#vim /etc/selinux/config # 修改文件永久關(guān)閉selinux
...前面省略
SELINUX=disabled
# 設(shè)置SELINUX的值為disabled
...后面省略
5.2配置靜態(tài)IP地址
由于我們在前面方案分析中選擇了方案1,即將所有服務(wù)搭建在同一臺服務(wù)器上。由于做DHCP服務(wù)的主機(jī)的IP地址必須固定,所以我們要先配置服務(wù)器的IP地址。由于我是在 CentOS 7系統(tǒng)上搭建的服務(wù)器,所以有許多命令只有CentOS7才能使用。CentOS6及之前的版本請自行查閱相關(guān)文檔。
[ root@vinsent ~ ]
#vim /etc/sysconfig/network-scripts/ifcfg-ens33 # 設(shè)置靜態(tài)IP
DEVICE=ens33
BOOTPROTO=static
IPADDR=192.168.14.201
PREFIX=24
ONBOOT=
yes
[ root@vinsent ~ ]
#systemctl restart network.service #重啟網(wǎng)絡(luò)服務(wù)
[ root@vinsent ~ ]
#ip a # 查看自己的IP是否設(shè)置成功
5.3安裝服務(wù)
由于我們需要HTTP、TFTP、DHCP服務(wù)來提供相應(yīng)的服務(wù),所以我們必須要在系統(tǒng)中安裝,相應(yīng)的服務(wù)。這里需要注意,如果你的系統(tǒng)時最小化安裝,那么建議你先安裝一些包組,GCC等。如果安裝過程中出現(xiàn)包依賴問題,依次安裝相應(yīng)的包即可。
[ root@vinsent ~ ]
#yum -y install dhcp tftp-server httpd syslimux #安裝相應(yīng)的服務(wù)包
[ root@vinsent ~ ]
#yum -y install xinetd # 安裝超級守護(hù)進(jìn)程xinetd
[ root@vinsent ~ ]
#systemctl enable dhcp # 設(shè)置dhcp開機(jī)啟動
[ root@vinsent ~ ]
#systemctl enable tftp # 設(shè)置tftp開機(jī)啟動
[ root@vinsent ~ ]
#systemctl start tftp # 啟動tftp服務(wù)
[ root@vinsent ~ ]
#systemctl enable httpd
[ root@vinsent ~ ]
#systemctl start httpd # 啟動http服務(wù)
[ root@vinsent ~ ]
#chkconfig tftp on # 如果這天命令不能使用,請修改配置文件
[ root@vinsent ~ ]
#vim /etc/xinetd.d/tftp
service tftp
{
...
disable =
yes
# 修改這一項為"disable =no"
...
}
[ root@vinsent ~ ]
#systemctl restart xinetd # 修改之后,一定要重啟xinetd服務(wù)
5.4配置DHCP服務(wù)
DHCP服務(wù)是保證我們能夠自動化批量安裝的前提,上面已經(jīng)有提到過dhcp的配置,這里做補(bǔ)充,詳細(xì)說明。主要是配置子網(wǎng)范圍,用于ip地址分配。
[ root@vinsent ~ ]
#rpm -ql dhcp # 查詢dhcp相關(guān)的文件
...前面省略
/usr/share/doc/dhcp-4
.2.5
/dhcpd
.conf.example
/usr/share/doc/dhcp-4
.2.5
/dhcpd6
.conf.example
...后面省略
[ root@vinsent ~ ]
#cd /etc/dhcp/
[ root@vinsent ~ ]
#cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example . # 復(fù)制模板配置文件
[ root@vinsent ~ ]
#mv dhcpd.conf.example dhcpd.conf # 改名為dhcpd.conf,頂替以前的配置文件
[ root@vinsent ~ ]
#vim dhcpd.conf # 打開模板文件并添加一下內(nèi)容
...前面省略...
subnet 192.168.14.0 netmask 255.255.255.0{
# 這里寫的ip地址為子網(wǎng)的地址,故為192.168.14.0
range 192.168.14.10 192.168.14.200;
# 子網(wǎng)的范圍,之后主機(jī)請求獲取的ip地址就是這其中的一個
next-server 192.168.14.201;
# 指明tftp服務(wù)器的地址
filename
"pxelinux.0"
# 指明PXE文件位置,這個在申請ip的時候會發(fā)送給安裝主機(jī)
}
...后面省略...
[ root@vinsent ~ ]
#systemctl dhcpd start # 重啟服務(wù)
注意:如果你設(shè)置的子網(wǎng)有問題,那么你將不能重啟dhcp服務(wù),請檢查你配置的子網(wǎng)是否正確。dhcp服務(wù)器的地址必須固定,不能是自動獲取的ip。
5.5 準(zhǔn)備yum源文件及kickstart文件
yum源文件我們是放在http服務(wù)器上的,由http服務(wù)來提供,所以我們要把相應(yīng)的文件復(fù)制到http服務(wù)器上。并且我們安裝的主機(jī)系統(tǒng)可能是CentOS 6 也可能是CentOS7或者Ubantu等,所以我們在準(zhǔn)備yum文件時,需要準(zhǔn)備不同系統(tǒng)、不同版本的文件,我們這里只提供CentOS 6 與CentOS 7的兩種系統(tǒng)的安裝。向我們先規(guī)劃一下目錄文件,在進(jìn)行復(fù)制。如下所示。
我們規(guī)劃好了目錄結(jié)構(gòu),接下來便是創(chuàng)建這些目錄結(jié)構(gòu),并提供相應(yīng)的文件。
[ root@vinsent ~ ]
#cd /var/www/html
[ root@vinsent html ]
#mkdir -p centos/{6,7}
[ root@vinsent html ]
#mkdir ksdir
[ root@vinsent html ]
#
提供yum源文件,這里有兩種方案來實現(xiàn)yum源文件的提供,方案1:我們分別掛載CentOS 6和CentOS 7的關(guān)盤將光盤里的Packages目錄與repodata目錄復(fù)制到對應(yīng)的目錄下(如果復(fù)制,建議全部復(fù)制);方案2:我們創(chuàng)建兩個關(guān)盤驅(qū)動器,一個添加CentOS 6的ISO鏡像,一個添加CentOS 7的ISO鏡像,然后我們分別將對應(yīng)的關(guān)盤掛載到/var/www/html/centos下對應(yīng)的目錄上。綜上所述,我們選擇方案2。下面是一方案2為基礎(chǔ)來實現(xiàn)的。
[ root@vinsent html ]
#mount /dev/sr0 centos/6 # 掛載CentOS 6光盤值6目錄下
mount
:
/dev/sr0
is write-protected,mounting
read
-only
[ root@vinsent html ]
#mount /dev/sr1 centos/7 # 掛載CentOS 7光盤值7目錄下
mount
:
/dev/sr1
is write-protected,mounting
read
-only
接下來準(zhǔn)備ksdir目錄下的安裝引導(dǎo)文件ks#.cfg。ks#.cfg文件的獲取方法有兩種,一種是通過工具來生成。不過這個工具需要自己安裝:
[ root@vinsent ~ ]
#yum install -y system-config-kickstart
[ root@vinsent ~ ]
#system-config-kickstart
另外這一種是復(fù)制/root目錄下的anaconda-ks.cfg文件加以修改。我們選擇后者。
[ root@vinsent html ]
#cp /root/anaconda-ks.cfg ksdir/ks7.cfg
[ root@vinsent html ]
#vim ksdir/ks7.cfg
....
[ root@vinsent html ]
#chmod +r ksdir/ks7.cfg # "這里的文件需要加讀權(quán)限,非常重要"
[ root@vinsent html ]
#cat ksdir/ks7.cfg # centos 7的kickstart文件
#version=DEVEL
# System authorization information
auth --enableshadow --passalgo=sha512
# Use CDROM installation media
url --url=
# 指明yum源的路徑
# Use graphical install
text
# 將cdrom修改為text,我們不是基于光盤安裝的,我們是基于字符界面安裝
# Run the Setup Agent on first boot
firstboot --
enable
ignoredisk --only-use=sda
# Keyboard layouts
keyboard --vckeymap=us --xlayouts=
'us'
# System language
lang en_US.UTF-8
# Network information
network --bootproto=dhcp --device=ens33 --onboot=on --ipv6=auto --activate
# --bootproto必須是dhcp獲取,--onboot=on
network --
hostname
=centos7.magedu.com
# Root password
rootpw --iscrypted $6$Z7LBEUpwj3iQdYZ3$olYQ.Lj1xV2VAGS1UiNflKF0oMGip3b6tU9QFcp0i2JBjwKlY
/Yaexul57NHpIJc
.Y2V1hWAOueaqwjuWDGMk0
# System services
services --disabled=
"chronyd"
# System timezone
timezone Asia
/Shanghai
--isUtc --nontp
user --name=wang --password=$6$
v
.VphW
/puRblcrFB
$uaSrdEhGAwMXap27WIKTn5lyOOfoFyB
/SNxyyL3og6s9/VQoAKoL2KQjKmeYFmoYTuYkSNL7BBxgbJzeryKr9
. --iscrypted --gecos=
"wang"
# X Window System configuration information
xconfig --startxonboot
# System bootloader configuration
bootloader --append=
" crashkernel=auto"
--location=mbr --boot-drive=sda
# Partition clearing information
zerombr
# 添加zerombr ,表示清除舊磁盤上原有的mbr,新磁盤安裝可不寫
clearpart --all
# 清除所有分區(qū)信息,新磁盤安裝可不寫
# Disk partitioning information
part swap --fstype=
"swap"
--ondisk=sda --size=2048
# 分區(qū)表信息,如果你想添加分區(qū),可按照該格式添加
part
/app
--fstype=
"xfs"
--ondisk=sda --size=51200
part / --fstype=
"xfs"
--ondisk=sda --size=51200
part
/boot
--fstype=
"xfs"
--ondisk=sda --size=1024
reboot
# 安裝完成之后重啟
%packages
# 安裝軟件包
@^graphical-server-environment
@base
@core
@desktop-debugging
@dial-up
@fonts
@gnome-desktop
@guest-agents
@guest-desktop-agents
@hardware-monitoring
@input-methods
@internet-browser
@multimedia
@print-client
@x11
kexec-tools
autofs
# 安裝autofs服務(wù)包
%end
%addon com_
RedHat
_kdump --
enable
--reserve-mb=
'auto'
%end
%anaconda
pwpolicy root --minlen=6 --minquality=50 --notstrict --nochanges --notempty
pwpolicy user --minlen=6 --minquality=50 --notstrict --nochanges --notempty
pwpolicy luks --minlen=6 --minquality=50 --notstrict --nochanges --notempty
%end
%post
# 安裝后腳本,我們配置了yum源
systemctl
enable
autofs
rm
-rf
/etc/yum
.repos.d/*
cat
>
/etc/yum
.repos.d
/base
.repo <<eof
[base]
name=base
baseurl=
file
:
///misc/cd
gpgcheck=0
eof
%end
************下面是CentOS 6的kickstart文件*************
*******方法同上,這里你到別的主機(jī)上復(fù)制一份過來*******
[ root@vinsent html ]
#cat ksdir/ks6.cfg
#version=DEVEL
install
text
# 基于字符界面安裝
lang en_US.UTF-8
keyboard us
network --onboot
yes
--device eth0 --bootproto dhcp --noipv6
rootpw --iscrypted $6$hfb25YOYZDU3YZTl$VxTkHGGJGGBbr59OPnY5kTJzvJ9hb9NRwrh6FMHLIAlXh9VQ74PYoK7QzPWYN0zaJrm3mv
/IP0fDkHxFglNi6/
firewall --service=
ssh
authconfig --enableshadow --passalgo=sha512
url --url=
# yum源的路徑
selinux --disabled
# 關(guān)閉selinux
timezone Asia
/Shanghai
bootloader --location=mbr --driveorder=sda --append=
"crashkernel=auto 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
zerombr
# 清除mbr
clearpart --all
# 清除分區(qū)信息
reboot
# 安裝完成后重啟
part
/boot
--fstype=ext4 --size=1000
# 分區(qū)信息
part / --fstype=ext4 --size=50000
part
/app
--fstype=ext4 --size=40000
part swap --size=2048
#repo --name="CentOS" --baseurl=cdrom:sr0 --cost=100 # 注釋掉此行
%packages
@base
@core
@debugging
@basic-desktop
@desktop-debugging
@desktop-platform
@directory-client
@fonts
@general-desktop
@graphical-admin-tools
@input-methods
@internet-applications
@internet-browser
@java-platform
@kde-desktop
@legacy-x
@network-
file
-system-client
@office-suite
@print-client
@remote-desktop-clients
@server-platform
@server-policy
@workstation-policy
@x11
mtools
pax
python-dmidecode
oddjob
wodim
sgpio
genisoimage
device-mapper-persistent-data
abrt-gui
qt-mysql
samba-winbind
certmonger
pam_krb5
krb5-workstation
xterm
xorg-x11-xdm
libXmu
rdesktop
%end
%post
# 安裝后腳本,安裝完系統(tǒng)后向做什么配置,都可以寫在%post...%end中間
rm
-rf
/etc/yum
.repos.d/*
cat
>
/etc/yum
.repos.d
/base
.repo <<eof
[base]
name=base
baseurl=
file
:
///misc/cd
gpgcheck=0
eof
%end
5.6準(zhǔn)備內(nèi)核文件菜單文件
內(nèi)核文件、虛擬根文件以及菜單文件,我們都是通過tftp服務(wù)來提供的,由于系統(tǒng)及版本的不同,對于一個比較復(fù)制機(jī)群來說,我們需要準(zhǔn)備不同系統(tǒng),不同版本的內(nèi)核文件,initrd.img文件。菜單文件只需要一份即可。/var/lib/tftpboot/目錄規(guī)劃如下:
規(guī)劃好了目錄結(jié)構(gòu),接下來自只需要按照目錄內(nèi)容配置相關(guān)的文件即可。菜單風(fēng)格文件menu.c32、不同系統(tǒng)的內(nèi)核文件 vmlinuz 以及虛擬根文件系統(tǒng) initrd.img 我們可以從光盤中復(fù)制。菜單文件defaults需要手動寫
[ root@vinsent ~ ]
#cd /var/lib/tftpboot/
[ root@vinsent tftpboot ]
#mkdir -p centos{6,7} # 創(chuàng)建目錄文件
[ root@vinsent tftpboot ]
#cp /var/www/html/centos/6/{vmlinuz,initrd.img} centos6/ # 復(fù)制內(nèi)核,虛擬根文件
[ root@vinsent tftpboot ]
#cp /var/www/html/centos/7/{vmlinuz,initrd.img} centos7/ # 由于之前掛載了不同系統(tǒng),直接復(fù)制對應(yīng)文件即可
[ root@vinsent tftpboot ]
#cp /usr/share/syslinux/pxelinux.0 . # pxelinux文件來自syslinux包,直接復(fù)制即可
[ root@vinsent tftpboot ]
#mkdir pxelinux.cfg
[ root@vinsent tftpboot ]
#cp /var/www/html/centos/6/isolinux/isolinux.cfg pxelinux.cfg/default # 復(fù)制并改名
[ root@vinsent tftpboot ]
#vim pxelinux.cfg/default
...
# 修改過程省略,
[ root@vinsent tftpboot ]
#cat pxelinux.cfg/default # 查看修改過后的菜單文件內(nèi)容
default menu.c32
# 指定菜單風(fēng)格
timeout 600
# 安裝倒計時,1/10 s為單位
menu title Auto Install | www.vinsent.cn
label centos7
menu label Auto Install CentOS Linux ^7
kernel centos7
/vmlinuz
append initrd=centos7
/initrd
.img ks=
# 指明ks文件位置
label centos6
menu label Auto Install CentOS Linux ^6
kernel centos6
/vmlinuz
append initrd=centos6
/initrd
.img ks=http:
//192
.168.14.201
/ksdir/ks6
.cfg
label manual7
menu label ^Manual Install CentOS Linux 7
kernel centos7
/vmlinuz
append initrd=centos7
/initrd
.img inst.repo=http:
//192
.168.14.201
/centos/7
label manual6
menu label Manual ^Install CentOS Linux 6
kernel centos6
/vmlinuz
append initrd=centos6
/initrd
.img inst.repo=http:
//192
.168.14.201
/centos/6
label
local
menu default
# 默認(rèn)光標(biāo)停在這一行
menu label Boot from ^
local
drive
localboot 0xffff
menu end
到此所有的配置就完成了。
6 調(diào)試并安裝
新創(chuàng)建一臺虛擬機(jī),設(shè)置網(wǎng)絡(luò)段在上述DHCP服務(wù)所在的網(wǎng)絡(luò)段,選擇使用物理驅(qū)動器。
點擊啟動項開始安裝,選擇網(wǎng)絡(luò)安裝。
點擊網(wǎng)絡(luò)安裝后,我們就能看到我們的菜單了。
然后選擇你要啟動的項即可。
7 錯誤分析
最初還不是很熟悉PXE原理的時候,遇到了很多問題,在最后給處我與到的幾個問題,即解決方法。
問題1:ks.cfg文件出錯
解決方法:檢查tftp服務(wù)是否啟動,ks#.cfg文件路徑是否正確,ks#.cfg文件是否具有讀權(quán)限。出現(xiàn)這個問題大概就是這幾個地方出了問題
問題2:yum源文件路徑出錯
解決方法:尋找yum源出現(xiàn)錯誤,該錯誤是ks.cfg文件中url路徑寫錯了,修改該路徑為正確的yum源所在的地址即可。
問題3:iptables與selinux出問題
遺憾忘記截圖給大家了,見諒,安裝前檢查一下iptables與selinux是否關(guān)閉(實驗環(huán)境,生產(chǎn)中不建議這么粗暴?。?/p>
通過分析PXE實現(xiàn)批量自動化安裝的原理,再到一步步實現(xiàn)PXE的配置,再到后面的排錯思路。在這里總結(jié)幾個要點:關(guān)閉selinux,iptables很重要,ks文件讀權(quán)限不可少,服務(wù)千萬不能down掉,文件路徑不能亂抄。
看完上述內(nèi)容是否對您有幫助呢?如果還想對相關(guān)知識有進(jìn)一步的了解或閱讀更多相關(guān)文章,請關(guān)注創(chuàng)新互聯(lián)-成都網(wǎng)站建設(shè)公司行業(yè)資訊頻道,感謝您對創(chuàng)新互聯(lián)的支持。
當(dāng)前文章:PXE如何實現(xiàn)系統(tǒng)批量自動安裝-創(chuàng)新互聯(lián)
網(wǎng)站路徑:http://www.rwnh.cn/article46/doephg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站制作、網(wǎng)頁設(shè)計公司、品牌網(wǎng)站建設(shè)、定制網(wǎng)站、域名注冊、網(wǎng)站導(dǎo)航
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容