日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
PXE+Kickstart無人值守安裝CentOS6

本文目錄:

創(chuàng)新互聯(lián)是一家集網(wǎng)站建設(shè),宜豐企業(yè)網(wǎng)站建設(shè),宜豐品牌網(wǎng)站建設(shè),網(wǎng)站定制,宜豐網(wǎng)站建設(shè)報(bào)價(jià),網(wǎng)絡(luò)營銷,網(wǎng)絡(luò)優(yōu)化,宜豐網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強(qiáng)企業(yè)競爭力。可充分滿足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時(shí)我們時(shí)刻保持專業(yè)、時(shí)尚、前沿,時(shí)刻以成就客戶成長自我,堅(jiān)持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實(shí)用型網(wǎng)站。

1.1 PXE說明

1.2 PXE流程

1.3 部署環(huán)境說明

1.4 部署DHCP

1.5 部署TFTP

1.6 提供pxe的bootloader和相關(guān)配置文件

1.7 利用原版安裝鏡像獲取linux內(nèi)核文件

1.8 選項(xiàng)設(shè)置

1.9 從網(wǎng)卡安裝系統(tǒng)-開機(jī)測試

1.10 通過http/ftp/nfs來提供系統(tǒng)安裝文件

1.11 kickstart+PXE無人值守大量部署Linux

 

1.1 PXE說明

所謂的PXE是Preboot Execution Environment的縮寫,字面上的意思是開機(jī)前的執(zhí)行環(huán)境。

要達(dá)成PXE必須要有兩個(gè)環(huán)節(jié):

(1)一個(gè)是客戶端的網(wǎng)卡必須要支持PXE用戶端功能,并且開機(jī)時(shí)選擇從網(wǎng)卡啟動(dòng),這樣系統(tǒng)才會(huì)以網(wǎng)卡進(jìn)入PXE客戶端的程序;

(2)一個(gè)是PXE服務(wù)器必須要提供至少含有DHCP以及TFTP的服務(wù)!

且其中:

    · DHCP服務(wù)必須要能夠提供客戶端的網(wǎng)絡(luò)參數(shù),還要告知客戶端TFTP所在的位置;

    · TFTP則提供客戶端的boot loader及kernel file下載路徑。

還要加上NFS/FTP/HTTP(選擇一樣即可)等提供安裝文件(安裝鏡像的解壓文件),才算是比較完整的PXE服務(wù)器。一般TFTP和DHCP服務(wù)都由同一臺(tái)服務(wù)器提供,且大多數(shù)時(shí)候還提供NFS/FTP/HTTP服務(wù),所以PXE服務(wù)器一般是提供3合一的服務(wù)。

 

1.2 PXE流程

(1).Client向PXE Server上的DHCP發(fā)送IP地址請(qǐng)求消息,DHCP檢測Client是否合法(主要是檢測Client的網(wǎng)卡MAC地址),如果合法則返回Client的IP地址,同時(shí)將pxe環(huán)境下的Boot loader文件pxelinux.0的位置信息傳送給Client。

(2).Client向PXE Server上的TFTP請(qǐng)求pxelinux.0,TFTP接收到消息之后再向Client發(fā)送pxelinux.0大小信息,試探Client是否滿意,當(dāng)TFTP收到Client發(fā)回的同意大小信息之后,正式向Client發(fā)送pxelinux.0。

(3).Client執(zhí)行接收到的pxelinux.0文件

(4).Client向TFTP請(qǐng)求pxelinux.cfg文件(其實(shí)它是目錄,里面放置的是是啟動(dòng)菜單,即grub的配置文件),TFTP將配置文件發(fā)回Client,繼而Client根據(jù)配置文件執(zhí)行后續(xù)操作。

(5).Client向TFTP發(fā)送Linux內(nèi)核請(qǐng)求信息,TFTP接收到消息之后將內(nèi)核文件發(fā)送給Client。

(6).Client向TFTP發(fā)送根文件請(qǐng)求信息,TFTP接收到消息之后返回Linux根文件系統(tǒng)。

(7).Client加載Linux內(nèi)核(啟動(dòng)參數(shù)已經(jīng)在4中的配置文件中設(shè)置好了)。

(8).Client通過nfs/ftp/http下載系統(tǒng)安裝文件進(jìn)行安裝。如果在4中的配置文件指定了kickstart路徑,則會(huì)根據(jù)此文件自動(dòng)應(yīng)答安裝系統(tǒng)。

 

1.3 部署環(huán)境說明

 

1.4 部署DHCP

首先安裝dhcp服務(wù)端程序。

yum -y install dhcp

DHCP主要是提供客戶端網(wǎng)絡(luò)參數(shù)與TFTP的位置,以及boot loader的文件名。同時(shí),我們僅針對(duì)內(nèi)網(wǎng)來告知TFTP的相關(guān)位置,所以可以編輯/etc/dhcp/dhcpd.conf在subnet的區(qū)塊內(nèi)加入兩個(gè)參數(shù)即可。其中PXE上專門為PXE客戶端下載的boot loader文件名稱為pxelinux.0。

vim /etc/dhcp/dhcpd.conf
ddns-update-style none;
default-lease-time 259200;
max-lease-time 518400;    
option routers 172.16.10.10;
option domain-name-servers 172.16.10.10;
subnet 172.16.10.0 netmask 255.255.255.0 {
        range 172.16.10.11 172.16.10.100;
        option subnet-mask 255.255.255.0;
        next-server 172.16.10.10;            # 就是TFTP的位置
        filename "pxelinux.0";               # 告知得從TFTP根目錄下載的boot loader文件名
}

重啟dhcp。

service dhcpd restart

1.5 部署TFTP

從流程圖中可以看出,boot loader文件pxelinux.0以及內(nèi)核相關(guān)的配置文件(目錄pxelinux.cfg下)主要都是由TFTP來提供的!

TFTP的安裝很簡單,直接使用yum即可。不過要告訴客戶端TFTP的根目錄在哪里,這樣客戶端才能找到相關(guān)文件。另外要注意,TFTP是由xinetd這個(gè)super daemon所管理的,因此設(shè)定好TFTP之后,要啟動(dòng)的是xinetd。

yum install tftp-server

默認(rèn)TFTP服務(wù)的根目錄是/var/lib/tftpboot/,為了少寫些字母,將tftp的根目錄修改為/tftpboot/。修改tftp的配置文件,主要是TFTP的根目錄。

vim /etc/xinetd.d/tftp

service tftp
{
socket_type = dgram
protocol = udp
wait = yes
user = root
server = /usr/sbin/in.tftpd
server_args = -s /tftpboot #重點(diǎn)在這里!修改tftp的根目錄 disable = no
per_source = 11
cps = 100 2
flags = IPv4
}

創(chuàng)建tftp的根目錄。

mkdir /tftpboot

啟動(dòng)TFTP并觀察之:

/etc/init.d/xinetd restart
chkconfig xinetd on
chkconfig tftp on
netstat -tulnp | grep xinetd

Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
udp 0 0 0.0.0.0: 69 0.0.0.0:* 2238/ xinetd

接下來的文件必須要放置于/tftpboot/目錄下。

1.6 提供pxe的bootloader和相關(guān)配置文件

如果要使用PXE的開機(jī)引導(dǎo)的話,需要使用CentOS提供的syslinux包,從中copy兩個(gè)文件到tftp的根目錄/tftpboot下即可。整個(gè)過程如下:

yum -y install syslinux 
cp -a /usr/share/syslinux/{menu.c32,vesamenu.c32,pxelinux.0}  /tftpboot/
mkdir /tftpboot/pxelinux.cfg 
ls -l /tftpboot/ -rw-r--r-- 1 root root 61796 Oct 16 2014 menu.c32 # 提供圖形化菜單功能 -rw-r--r-- 1 root root 26759 Oct 16 2014 pxelinux.0 # boot loader文件 drwxr-xr-x 2 root root 4096 Feb 24 20:02 pxelinux.cfg # 開機(jī)的菜單設(shè)定在這里 -rw-r--r-- 1 root root 163728 Oct 16 2014 vesamenu.c32 # 也是提供圖形化菜單功能,但界面和menu.c32不同

pxelinux.cfg是個(gè)目錄,可以放置默認(rèn)的開機(jī)選項(xiàng),也可以針對(duì)不同的客戶端主機(jī)提供不同的開機(jī)選項(xiàng)。一般來說,可以在pxelinux.cfg目錄內(nèi)建立一個(gè)名為default的文件來提供默認(rèn)選項(xiàng)。

如果沒有menu.c32或vesamenu.c32時(shí),菜單會(huì)以純文字模式一行一行顯示。如果使用menu.c32或vesamenu.c32,就會(huì)有類似反白效果出現(xiàn),此時(shí)可以使用上下鍵來選擇選項(xiàng),而不需要看著屏幕去輸入數(shù)字鍵來選擇開機(jī)選項(xiàng)。經(jīng)過測試,使用vesamenu.c32比menu.c32更加好看些。

這部分設(shè)定完畢后,就是內(nèi)核相關(guān)的設(shè)定了。

1.7 從安裝鏡像獲取Linux內(nèi)核文件

要安裝Linux系統(tǒng),必須提供內(nèi)核文件,這里以64位版本的CentOS 6.6為例。

這里計(jì)劃將內(nèi)核相關(guān)文件放在/tftpboot/centos6.6/目錄下。

既然要從安裝鏡像中獲取內(nèi)核相關(guān)文件,首先得要掛載鏡像。

mount /dev/cdrom /test
mkdir /tftpboot/CentOS6.6
cp /test/isolinux/{vmlinuz,initrd.img} /tftpboot/CentOS6.6 
cp /test/isolinux/isolinux.cfg /tftpboot/pxelinux.cfg/default

其實(shí)僅需要vmlinuz和initrd.img兩個(gè)文件即可,不過這里還將isolinux.cfg這個(gè)文件拷貝出來了,這個(gè)文件里提供了開機(jī)選項(xiàng),可以以它作為修改開機(jī)選項(xiàng)和菜單的模板,這樣修改起來比較容易,也更便捷!

1.8 選項(xiàng)設(shè)置

修改開機(jī)配置文件isolinux.cfg。由于拷貝它的時(shí)候重命名為default,所以修改default即可。修改的地方標(biāo)紅色了。

vim /tftpboot/default  
default vesamenu.c32
 #這是必須項(xiàng),或者改為menu.c32

#prompt 1

timeout 10

display ./centos6.6/boot.msg
 #這是為選項(xiàng)提供一些說明的文件
menu background splash.jpg
menu title Welcome to CentOS 6.6!
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 your Linux
 menu default #設(shè)置默認(rèn)的光標(biāo)停留在此label上
 kernel ./centos6.6/vmlinuz
 #設(shè)置內(nèi)核文件,注意相對(duì)路徑是從tftp的根路徑/tftpboot開始的
append initrd=./centos6.6/initrd.img quiet #設(shè)置init ramdom disk文件,并設(shè)置啟動(dòng)時(shí)文本方式啟動(dòng)
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 -

1.9 從網(wǎng)卡安裝系統(tǒng)——開機(jī)測試

設(shè)置Bios從網(wǎng)卡啟動(dòng)。

由于到這里我還沒有提供Linux的安裝文件,所以選擇URL從互聯(lián)網(wǎng)來獲取系統(tǒng)安裝。

由于要從互聯(lián)網(wǎng)上獲取系統(tǒng)安裝文件,所以需要設(shè)置IP等網(wǎng)絡(luò)參數(shù),但要注意,這里的網(wǎng)絡(luò)參數(shù)和前面設(shè)置的PXE網(wǎng)絡(luò)參數(shù)是無關(guān)的,這里設(shè)置的IP僅是為了聯(lián)上互聯(lián)網(wǎng)。由于已經(jīng)配置了DHCP,所以這里選擇DHCP。

設(shè)置一個(gè)獲取Linux系統(tǒng)的站點(diǎn)。上圖設(shè)置的是163的站點(diǎn)。

如果沒什么問題,到這里就開始進(jìn)行安裝直到完成了。以下是進(jìn)度圖片。

1.10 通過http/ftp/nfs來提供系統(tǒng)安裝文件

現(xiàn)在在本地服務(wù)器上安裝http或ftp或nfs來作為系統(tǒng)文件的來源。

首先掛載Linux的鏡像光盤(前文已經(jīng)掛載過了),假設(shè)掛載到/mnt目錄上。

mount /dev/cdrom /mnt

注意,要提供的是鏡像中的所有文件,而不是簡單的提供一個(gè)鏡像。所以將/mnt中的所有文件復(fù)制出來,假設(shè)復(fù)制到目錄/install目錄下。

mkdir /install
cp -a /mnt/* /install

其實(shí)也可以不用復(fù)制出來的,只需要將鏡像掛載到某個(gè)目錄下,只要nfs/http/ftp能夠找到它就行了。

(1). 使用NFS提供安裝文件

yum -y install rpcbind nfs-utils

啟動(dòng)rpcbind和nfs。

service rpcbind start
service nfs start

然后導(dǎo)出/install目錄給需要安裝系統(tǒng)的客戶端,這里導(dǎo)出給整個(gè)網(wǎng)段。

exportfs -o ro,async,no_root_squash 192.168.100.0/24:/install
showmount -e

Export list for node1.longshuai.com:
/install 192.168.0.0/24

(2). 使用http提供安裝文件

安裝httpd。

yum -y install httpd
service httpd start

由于http的DocumentRoot "/var/www/html",所以系統(tǒng)的安裝文件需要在此目錄下或其子目錄才能找到,假設(shè)在/var/www/html/centos6.6目錄下,只需要簡單的將鏡像掛載到此目錄即可。

mkdir /var/www/html/centos6.6
mount /dev/cdrom /var/www/html/centos6.6

(3). 使用vsftpd來提供安裝文件

yum -y install vsftpd

由于這里僅用來提供下系統(tǒng)的安裝文件,所以就沒必要對(duì)vsftpd多多配置了,使用它最簡單的匿名用戶模式即可,但是匿名用戶的根目錄為/var/ftp,所以要將鏡像掛載到此目錄或此目錄下的子目錄下,假設(shè)放在/var/ftp/centos6.6。

mkdir /var/ftp/centos6.6
mount /dev/cdrom /var/ftp/centos6.6

(4). 測試并填寫安裝文件的路徑地址

到此,就可以啟動(dòng)虛擬機(jī)來測試了。和前面的一樣,直到下面這里。

對(duì)于ftp和http,直接填寫即可。

ftp://192.168.100.100/centos6.6

http://192.168.100.100/centos6.6

對(duì)于NFS寫這樣的路徑,因?yàn)樵谏厦鍺FS的設(shè)定上是導(dǎo)出了/install目錄,安裝文件也是復(fù)制到此文件中的。

然后就會(huì)進(jìn)入安裝畫面,但是這樣還是有些地方需要手動(dòng)指定的。無法實(shí)現(xiàn)非交互時(shí)無人值守的方式安裝。

所以下文就介紹kickstart實(shí)現(xiàn)無人值守的方式。

1.11 kickstart+PXE無人值守大量部署Linux

所謂的無人值守,就是自動(dòng)應(yīng)答,當(dāng)安裝過程中需要人機(jī)交互提供某些選項(xiàng)的答案時(shí)(如如何分區(qū)),自動(dòng)應(yīng)答文件可以根據(jù)對(duì)應(yīng)項(xiàng)自動(dòng)提供答案。但是,無人值守并不完全是無人值守,在設(shè)置bios從網(wǎng)卡啟動(dòng)是必須人為設(shè)置的,且安裝完系統(tǒng)后設(shè)置不從網(wǎng)卡啟動(dòng)也是需要人為設(shè)置的。此處之外,其他的都可以無人值守。

要配置無人值守的系統(tǒng)安裝,需要提供安裝過程中需要的各種選擇,這些選擇在kickstart的配置文件中,一般正常安裝完Linux系統(tǒng)在root用戶的家目錄下有一個(gè)anaconda-ks.cfg,該文件的配置說明見kickstart文件詳解。以下是該文件中的部分內(nèi)容。

不難發(fā)現(xiàn),裝系統(tǒng)時(shí)很多選項(xiàng)在這里面都記錄了。

那么,要使用kickstart來批量部署操作系統(tǒng),就需要提供該文件。以下是我提供的配置文件/install/ks.cfg(因?yàn)槲沂鞘褂肗FS作為文件提供源的,所以我將其放在nfs的導(dǎo)出目錄中,讓客戶端能夠找到)。其中rootpw的加密密碼要使用grub-crypt生成。

vim /install/ks.cfg

install
text

nfs --server=192.168.100.100 --dir=/install

#url --url=http://192.168.100.100/centos6.6
bootloader --location=mbr --driveorder=sda --append="crashkernel=auto quiet"
lang en_US.UTF-8
keyboard us
network --onboot no --device eth0 --bootproto dhcp --noipv6
rootpw --iscrypted 
$6$x4u9sIfSQsO7ddk5$/.0Xe6tFBY0uUmFFtyvAeY9YVPtcn8zl21fFNgmAoYtepQHRYDthQ4T1ZE12kDfAT6O3oXfRb7uv214t3Bb3K1
firewall --service=ssh
authconfig --enableshadow --passalgo=sha512
selinux --disabled
timezone Asia/Shanghai
reboot #安裝結(jié)束后重啟
#make partitions
zerombr
clearpart --all --initlabel
part /boot --fstype=ext4 --asprimary --size=250
part / --fstype=ext4 --asprimary --grow --size=2000
part swap --fstype=swap --size=2000
%packages
@base
@core
@debugging
@development
@dial-up
@hardware-monitoring
@performance
@server-policy
@workstation-policy
sgpio
device-mapper-persistent-data
systemtap-client
%post #結(jié)束后做的事
cat >>etc/yum.repos.d/base.repo<

然后修改defalut文件,讓客戶端能夠找到ks.cfg文件。

vim /tftpboot/pxelinux.cfg/default

label linux
menu label ^Install your Linux
menu default
kernel ./centos6.6/vmlinuz

append initrd=./centos6.6/initrd.img ks=nfs:192.168.100.100:/install/ks.cfg quiet

part /boot --fstype ext4 --size=100
part swap --fstype=swap --size=2048
part pv26 --size=100 --grow
volgroup VG00 --pesize=32768 pv26
logvol / --fstype ext4 --name=LVroot --vgname=VG00 --size=29984
logvol /data --fstype ext4 --name=LVdata --vgname=VG00 --size=100 --grow

如果覺得使用樣本的方式手工寫配置文件比較麻煩,也可以使用圖形化工具來制作ks.cfg文件。在linux中用yum安裝system-config-kickstart就行了(圖形化依賴于x-window),選項(xiàng)也有些限制(比如分區(qū)不能使用lvm)。

然后找臺(tái)機(jī)器從網(wǎng)卡啟動(dòng)就進(jìn)入安裝模式了。

因?yàn)樵趉s.cfg中設(shè)置了安裝完成后reboot,所以要手動(dòng)去修改bios不要再從網(wǎng)卡啟動(dòng),否則重啟后又再次從網(wǎng)卡啟動(dòng)然后又去自動(dòng)應(yīng)答裝系統(tǒng)了。當(dāng)然,可以將reboot換成shutdown或者poweroff,這樣裝完就只是關(guān)機(jī)了,等開機(jī)前人為設(shè)置不從網(wǎng)卡啟動(dòng)。


當(dāng)前標(biāo)題:PXE+Kickstart無人值守安裝CentOS6
分享URL:http://www.dlmjj.cn/article/cdhhosd.html