當(dāng)前位置:
首頁 >
Linux Kickstart无人值守安装(上)
發(fā)布時(shí)間:2023/12/9
40
豆豆
生活随笔
收集整理的這篇文章主要介紹了
Linux Kickstart无人值守安装(上)
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
Linux Kickstart無人值守安裝 ?????? 在我們的網(wǎng)絡(luò)維護(hù)生涯中,有不少朋友,感覺到自己在機(jī)械的做一件事情,在無聊、無趣和無奈中工作。尤其一些簡(jiǎn)單重復(fù)的操作更容易讓大家感到工作的無趣。今天將給大家介紹如何大規(guī)模的部署RedHat Linux操作系統(tǒng),避免了手工安裝的繁瑣。當(dāng)然本方法也使用于一些特殊場(chǎng)合,譬如沒有光驅(qū)或光驅(qū)壞掉的計(jì)算機(jī)、手中沒有安裝光盤等情況。 在安裝RedHat Linux企業(yè)版的過程中,我們都知道它允許通過NFS、HTTP或FTP協(xié)議來進(jìn)行網(wǎng)絡(luò)安裝。但是在一般情況下我們需要有一個(gè)安裝引導(dǎo)介質(zhì)(引導(dǎo)光盤、引導(dǎo)軟盤、U盤等),有沒有一種方法不通過引導(dǎo)光盤方式來安裝呢,而直接通過網(wǎng)絡(luò)來進(jìn)行安裝?答案是有,即通過PXE技術(shù)實(shí)現(xiàn)。
一、基本原理
????? PXE到底是什么東東? PXE(Pre-boot Execution Environment)是由Intel設(shè)計(jì)的協(xié)議,它可以使計(jì)算機(jī)通過網(wǎng)絡(luò)啟動(dòng)。協(xié)議分為client和server兩端,PXE client在網(wǎng)卡的ROM中,當(dāng)計(jì)算機(jī)引導(dǎo)時(shí),BIOS把PXE client調(diào)入內(nèi)存執(zhí)行,并顯示出命令菜單,經(jīng)用戶選擇后,PXE client將放置在遠(yuǎn)端的操作系統(tǒng)通過網(wǎng)絡(luò)下載到本地運(yùn)行。 既然是通過網(wǎng)絡(luò)傳輸,就需要IP地址;也就是說在其啟動(dòng)過程中,客戶端請(qǐng)求服務(wù)器分配IP地址,之后PXE Client使用TFTP Client 通過TFTP(Trivial File Transfer Protocol)協(xié)議下載啟動(dòng)安裝程序所需的文件。 簡(jiǎn)單地說PXE網(wǎng)絡(luò)安裝,客戶機(jī)通過支持PXE的網(wǎng)卡向網(wǎng)絡(luò)中發(fā)送請(qǐng)求DHCP信息的廣播請(qǐng)求IP地址等信息,DHCP服務(wù)器給客戶端提供IP地址和其它信息(TFTP服務(wù)器、啟動(dòng)文件等),之后請(qǐng)求并下載安裝需要的文件。在這個(gè)過程中需要一臺(tái)服務(wù)器來提供啟動(dòng)文件、安裝文件、以及安裝過程中的自動(dòng)應(yīng)答文件等。下圖中介紹了Linux中自動(dòng)安裝系統(tǒng)的詳細(xì)工作過程: 第一步:PXE Client向DHCP發(fā)送請(qǐng)求<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /> 首先,將支持PXE的網(wǎng)絡(luò)接口卡(NIC)的客戶端的BIOS設(shè)置成為網(wǎng)絡(luò)啟動(dòng),通過PXE BootROM(自啟動(dòng)芯片)會(huì)以UDP(簡(jiǎn)單用戶數(shù)據(jù)報(bào)協(xié)議)發(fā)送一個(gè)廣播請(qǐng)求,向網(wǎng)絡(luò)中的DHCP服務(wù)器索取IP地址等信息。 第二步:DHCP服務(wù)器提供信息 DHCP服務(wù)器收到客戶端的請(qǐng)求,驗(yàn)證是否來至合法的PXE Client的請(qǐng)求,驗(yàn)證通過它將給客戶端一個(gè)“提供”響應(yīng),這個(gè)“提供”響應(yīng)中包含了為客戶端分配的IP地址、pxelinux啟動(dòng)程序(TFTP)位置,以及配置文件所在位置。 第三步:PXE客戶端請(qǐng)求下載啟動(dòng)文件 客戶端收到服務(wù)器的“回應(yīng)”后,會(huì)回應(yīng)一個(gè)幀,以請(qǐng)求傳送啟動(dòng)所需文件。這些啟動(dòng)文件包括:pxelinux.0、pxelinux.cfg/default、vmlinuz、initrd.img等文件。 第四步:Boot Server響應(yīng)客戶端請(qǐng)求并傳送文件 當(dāng)服務(wù)器收到客戶端的請(qǐng)求后,他們之間之后將有更多的信息在客戶端與服務(wù)器之間作應(yīng)答, 用以決定啟動(dòng)參數(shù)。BootROM 由 TFTP 通訊協(xié)議從Boot Server下載啟動(dòng)安裝程序所必須的文件(pxelinux.0、pxelinux.cfg/default)。default文件下載完成后,會(huì)根據(jù)該文件中定義的引導(dǎo)順序,啟動(dòng)Linux安裝程序的引導(dǎo)內(nèi)核。 第五步:請(qǐng)求下載自動(dòng)應(yīng)答文件 客戶端通過pxelinux.cfg/default文件成功的引導(dǎo)Linux安裝內(nèi)核后,安裝程序首先必須確定你通過什么安裝介質(zhì)來安裝linux,如果是通過網(wǎng)絡(luò)安裝(NFS, FTP, HTTP),則會(huì)在這個(gè)時(shí)候初始化網(wǎng)絡(luò),并定位安裝源位置?;蛟S你會(huì)說,剛才PXE不是已經(jīng)獲取過IP地址了嗎?為什么現(xiàn)在還需要一次?這是由于PXE獲取的是安裝用的內(nèi)核以及安裝程序等,而安裝程序要獲取的是安裝系統(tǒng)所需的二進(jìn)制包以及配置文件。由于它們需要的內(nèi)容不同造成PXE模塊和安裝程序是相對(duì)獨(dú)立的,PXE的網(wǎng)絡(luò)配置并不能傳遞給安裝程序。從而進(jìn)行兩次獲取IP地址過程。 接著會(huì)讀取該文件中指定的自動(dòng)應(yīng)答文件ks.cfg所在位置,根據(jù)該位置請(qǐng)求下載該文件。 第六步:客戶端安裝操作系統(tǒng) 將ks.cfg文件下載回來后,通過該文件找到OS Server,并按照該文件的配置請(qǐng)求下載安裝過程需要的軟件包。 OS Server和客戶端建立連接后,將開始傳輸軟件包,客戶端將開始安裝操作系統(tǒng)。安裝完成后,將提示重新引導(dǎo)計(jì)算機(jī)。這個(gè)時(shí)候注意,在重新引導(dǎo)的過程中一定要將BIOS修改回從硬盤啟動(dòng),不然的話又會(huì)重復(fù)的自動(dòng)安裝操作系統(tǒng)。 在上面介紹中PXE client是需要安裝Linux的計(jì)算機(jī),TFTP Server、DHCP Server和NFS Server運(yùn)行在另外一臺(tái)Linux Server上。Bootstrap文件、配置文件、Linux內(nèi)核都放置在Linux Server上TFTP服務(wù)器的根目錄下。而Linux根文件系統(tǒng)存放于NFS Server的共享目錄中。 PXE client在工作過程中,需要三個(gè)二進(jìn)制文件:bootstrap、Linux 內(nèi)核和Linux根文件系統(tǒng)。Bootstrap文件是可執(zhí)行程序,它向用戶提供簡(jiǎn)單的控制界面,并根據(jù)用戶的選擇,下載合適的Linux內(nèi)核以及Linux根文件系統(tǒng)。?二、配置過程
?配置PXE安裝,要進(jìn)行如下步驟: ?①?配置DHCP,用于給客戶端提供IP地址及其它信息 ?②?配置TFTP服務(wù)器,用于提供客戶端PXE引導(dǎo)所必須的文件 ?③?配置NFS服務(wù)器,用于存放安裝樹 ?④?配置Kickstart,用于自動(dòng)應(yīng)答安裝 ?⑤?使用PXE功能引導(dǎo)客戶機(jī) ?? 1、DHCP的安裝與配置 在PXE引導(dǎo)安裝過程中,PXE客戶端通過DHCP獲取PXE服務(wù)器地址,PXE引導(dǎo)文件名稱;然后客戶機(jī)在使用TFTP協(xié)議從TFTP服務(wù)器下載引導(dǎo)文件并執(zhí)行,從而啟動(dòng)計(jì)算機(jī)安裝程序。引導(dǎo)文件執(zhí)行后,接著下載安裝程序啟動(dòng)安裝。RedHat Linux使用了ISC的dhcpd軟件,完成它的安裝與配置。 1)安裝DHCP軟件包[???[root@qiuri Server]# rpm -ivh dhcp-3.0.5-13.el5.i386.rpm Preparing...??????????????? ########################################### [100%] ?? 1:dhcp??????????????? ????? ########################################### [100%] [root@qiuri Server]# 2)配置DHCP 安裝完成后,復(fù)制DHCPD配置文件模版替換原配置文件/etc/dhcpd.conf。 [root@qiuri Server]# cp /usr/share/doc/dhcp-3.0.5/dhcpd.conf.sample???? ?/etc/dhcpd.conf 接下來我們需要配置相關(guān)信息。為了滿足我們的安裝需求,假設(shè)PXE服務(wù)器、DHCP服務(wù)器、TFTP服務(wù)器全部安裝在一臺(tái)為192.168.1.1的計(jì)算機(jī)上。我們需要進(jìn)行如下操作: (1)修改 /etc/dhcpd.conf 文件,指定 IP 地址等信息。 (2)在 '''/etc/dhcpd.conf''' 中增加 tftp-server 需要推送給客戶端的啟動(dòng)文件(bootstrap):filename "pxelinux.0";因?yàn)?/span> tftp 的默認(rèn)目錄是 /tftpboot,所以文件的絕對(duì)路徑就是: /tftpboot/pxelinux.0";當(dāng)然也可以指定為其它的路徑。 另外需要指定 next-server 參數(shù),告訴客戶端在獲取到 pxelinux.0 文件之后去哪里獲取其余的啟動(dòng)文件: next-server 192.168.1.1; 最終的配置文件結(jié)果如下所示: [root@qiuri Server]# vi /etc/dhcpd.conf ? ddns-update-style interim; ignore client-updates; allow booting; #定義能夠PXE啟動(dòng) allow bootp;? #定義支持bootp subnet 192.168.1.0 netmask 255.255.255.0 { ??????? range? 192.168.1.10 192.168.1.80; ??????? option routers????????????????? 192.168.1.1; ??????? option subnet-mask????????????? 255.255.255.0; ??????? default-lease-time 21600; ??????? max-lease-time 43200; ??????? next-server 192.168.1.1; #TFTP Server的IP地址 ??????? filename "pxelinux.0";?? #pxelinux啟動(dòng)文件位置 } 配置完成后,重啟DHCP服務(wù),并將它設(shè)為開機(jī)自啟動(dòng)。 [root@qiuri Server]# /etc/init.d/dhcpd start 啟動(dòng) dhcpd:?????????????????????????????????????????????? [確定] [root@qiuri Server]# chkconfig --level 35 dhcpd on ?
2、安裝配置TFTP服務(wù)器
在PXE安裝過程中,客戶機(jī)在使用TFTP協(xié)議從TFTP服務(wù)器下載引導(dǎo)文件并執(zhí)行。我們主要通過配置TFTP服務(wù)器和PXE的引導(dǎo)配置完成這個(gè)過程。 1)安裝配置TFTP服務(wù)器 首先,安裝TFTP服務(wù)器軟件包,RedHat提供了如下兩個(gè)軟件包: l?tftp-server:服務(wù)端程序 l tftp :客戶端程序 [root@qiuri Server]# rpm -ivh tftp-server-0.42-3.1.i386.rpm Preparing...??????????? ????########################################### [100%] ?? 1:tftp-server??????????? ########################################### [100%][root@qiuri Server]#? 配置tftp服務(wù) tftp 服務(wù)由xinetd服務(wù)管理。編輯 '''/etc/xinetd.d/tftp''' 文件,將 '''disable = yes''' 改為:disable = no。 [root@qiuri Server]# vi /etc/xinetd.d/tftp # default: off # description: The tftp server serves files using the trivial file transfer \ #?????? protocol.? The tftp protocol is often used to boot diskless \ #?????? workstations, download configuration files to network-aware printers, \ #?????? and to start the installation process for some operating systems. service tftp { ??????? socket_type???????????? = dgram ??????? protocol??????????????? = udp ??????? wait??????????????????? = yes ??????? user??????? ????????????= root ??????? server????????????????? = /usr/sbin/in.tftpd ??????? server_args???????????? = -s /tftpboot ??????? disable???????????????? = no ??????? per_source????????????? = 11 ??????? cps???????????????????? = 100 2 ??????? flags?????????????????? = IPv4 }從這里看出,默認(rèn)選擇/tftpboot為TFTP服務(wù)器的根目錄位置,配置完成后重啟xinetd服務(wù),使TFTP服務(wù)器生效。 [root@qiuri Server]# /etc/init.d/xinetd restart 2)PXE引導(dǎo)配置(bootstrap) PXE啟動(dòng)映像文件由syslinux軟件包提供,RedHat Enterprise Linux光盤中已提供,如果沒有此軟件包可以到syslinux 主頁:http://syslinux.zytor.com/下載rpm來安裝。 我們只要安裝了syslinux,就會(huì)生成一個(gè)pxelinux.0,將 pxelinux.0 這個(gè)文件復(fù)制到 '''/tftpboot''' 目錄即可: [root@qiuri Server]# rpm -ql syslinux |grep "pxelinux.0" /usr/lib/syslinux/pxelinux.0 [root@qiuri Server]# cp /usr/lib/syslinux/pxelinux.0 /tftpboot/轉(zhuǎn)載于:https://blog.51cto.com/sgh211314/281546
總結(jié)
以上是生活随笔為你收集整理的Linux Kickstart无人值守安装(上)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 使用mysql_fetch_array(
- 下一篇: 红帽(redhat linux) 初级认