Linux Kickstart无人值守安装(上)
生活随笔
收集整理的這篇文章主要介紹了
Linux Kickstart无人值守安装(上)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
Linux Kickstart無人值守安裝 ?????? 在我們的網絡維護生涯中,有不少朋友,感覺到自己在機械的做一件事情,在無聊、無趣和無奈中工作。尤其一些簡單重復的操作更容易讓大家感到工作的無趣。今天將給大家介紹如何大規模的部署RedHat Linux操作系統,避免了手工安裝的繁瑣。當然本方法也使用于一些特殊場合,譬如沒有光驅或光驅壞掉的計算機、手中沒有安裝光盤等情況。 在安裝RedHat Linux企業版的過程中,我們都知道它允許通過NFS、HTTP或FTP協議來進行網絡安裝。但是在一般情況下我們需要有一個安裝引導介質(引導光盤、引導軟盤、U盤等),有沒有一種方法不通過引導光盤方式來安裝呢,而直接通過網絡來進行安裝?答案是有,即通過PXE技術實現。
一、基本原理
????? PXE到底是什么東東? PXE(Pre-boot Execution Environment)是由Intel設計的協議,它可以使計算機通過網絡啟動。協議分為client和server兩端,PXE client在網卡的ROM中,當計算機引導時,BIOS把PXE client調入內存執行,并顯示出命令菜單,經用戶選擇后,PXE client將放置在遠端的操作系統通過網絡下載到本地運行。 既然是通過網絡傳輸,就需要IP地址;也就是說在其啟動過程中,客戶端請求服務器分配IP地址,之后PXE Client使用TFTP Client 通過TFTP(Trivial File Transfer Protocol)協議下載啟動安裝程序所需的文件。 簡單地說PXE網絡安裝,客戶機通過支持PXE的網卡向網絡中發送請求DHCP信息的廣播請求IP地址等信息,DHCP服務器給客戶端提供IP地址和其它信息(TFTP服務器、啟動文件等),之后請求并下載安裝需要的文件。在這個過程中需要一臺服務器來提供啟動文件、安裝文件、以及安裝過程中的自動應答文件等。下圖中介紹了Linux中自動安裝系統的詳細工作過程: 第一步:PXE Client向DHCP發送請求<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /> 首先,將支持PXE的網絡接口卡(NIC)的客戶端的BIOS設置成為網絡啟動,通過PXE BootROM(自啟動芯片)會以UDP(簡單用戶數據報協議)發送一個廣播請求,向網絡中的DHCP服務器索取IP地址等信息。 第二步:DHCP服務器提供信息 DHCP服務器收到客戶端的請求,驗證是否來至合法的PXE Client的請求,驗證通過它將給客戶端一個“提供”響應,這個“提供”響應中包含了為客戶端分配的IP地址、pxelinux啟動程序(TFTP)位置,以及配置文件所在位置。 第三步:PXE客戶端請求下載啟動文件 客戶端收到服務器的“回應”后,會回應一個幀,以請求傳送啟動所需文件。這些啟動文件包括:pxelinux.0、pxelinux.cfg/default、vmlinuz、initrd.img等文件。 第四步:Boot Server響應客戶端請求并傳送文件 當服務器收到客戶端的請求后,他們之間之后將有更多的信息在客戶端與服務器之間作應答, 用以決定啟動參數。BootROM 由 TFTP 通訊協議從Boot Server下載啟動安裝程序所必須的文件(pxelinux.0、pxelinux.cfg/default)。default文件下載完成后,會根據該文件中定義的引導順序,啟動Linux安裝程序的引導內核。 第五步:請求下載自動應答文件 客戶端通過pxelinux.cfg/default文件成功的引導Linux安裝內核后,安裝程序首先必須確定你通過什么安裝介質來安裝linux,如果是通過網絡安裝(NFS, FTP, HTTP),則會在這個時候初始化網絡,并定位安裝源位置。或許你會說,剛才PXE不是已經獲取過IP地址了嗎?為什么現在還需要一次?這是由于PXE獲取的是安裝用的內核以及安裝程序等,而安裝程序要獲取的是安裝系統所需的二進制包以及配置文件。由于它們需要的內容不同造成PXE模塊和安裝程序是相對獨立的,PXE的網絡配置并不能傳遞給安裝程序。從而進行兩次獲取IP地址過程。 接著會讀取該文件中指定的自動應答文件ks.cfg所在位置,根據該位置請求下載該文件。 第六步:客戶端安裝操作系統 將ks.cfg文件下載回來后,通過該文件找到OS Server,并按照該文件的配置請求下載安裝過程需要的軟件包。 OS Server和客戶端建立連接后,將開始傳輸軟件包,客戶端將開始安裝操作系統。安裝完成后,將提示重新引導計算機。這個時候注意,在重新引導的過程中一定要將BIOS修改回從硬盤啟動,不然的話又會重復的自動安裝操作系統。 在上面介紹中PXE client是需要安裝Linux的計算機,TFTP Server、DHCP Server和NFS Server運行在另外一臺Linux Server上。Bootstrap文件、配置文件、Linux內核都放置在Linux Server上TFTP服務器的根目錄下。而Linux根文件系統存放于NFS Server的共享目錄中。 PXE client在工作過程中,需要三個二進制文件:bootstrap、Linux 內核和Linux根文件系統。Bootstrap文件是可執行程序,它向用戶提供簡單的控制界面,并根據用戶的選擇,下載合適的Linux內核以及Linux根文件系統。?二、配置過程
?配置PXE安裝,要進行如下步驟: ?①?配置DHCP,用于給客戶端提供IP地址及其它信息 ?②?配置TFTP服務器,用于提供客戶端PXE引導所必須的文件 ?③?配置NFS服務器,用于存放安裝樹 ?④?配置Kickstart,用于自動應答安裝 ?⑤?使用PXE功能引導客戶機 ?? 1、DHCP的安裝與配置 在PXE引導安裝過程中,PXE客戶端通過DHCP獲取PXE服務器地址,PXE引導文件名稱;然后客戶機在使用TFTP協議從TFTP服務器下載引導文件并執行,從而啟動計算機安裝程序。引導文件執行后,接著下載安裝程序啟動安裝。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 安裝完成后,復制DHCPD配置文件模版替換原配置文件/etc/dhcpd.conf。 [root@qiuri Server]# cp /usr/share/doc/dhcp-3.0.5/dhcpd.conf.sample???? ?/etc/dhcpd.conf 接下來我們需要配置相關信息。為了滿足我們的安裝需求,假設PXE服務器、DHCP服務器、TFTP服務器全部安裝在一臺為192.168.1.1的計算機上。我們需要進行如下操作: (1)修改 /etc/dhcpd.conf 文件,指定 IP 地址等信息。 (2)在 '''/etc/dhcpd.conf''' 中增加 tftp-server 需要推送給客戶端的啟動文件(bootstrap):filename "pxelinux.0";因為 tftp 的默認目錄是 /tftpboot,所以文件的絕對路徑就是: /tftpboot/pxelinux.0";當然也可以指定為其它的路徑。 另外需要指定 next-server 參數,告訴客戶端在獲取到 pxelinux.0 文件之后去哪里獲取其余的啟動文件: next-server 192.168.1.1; 最終的配置文件結果如下所示: [root@qiuri Server]# vi /etc/dhcpd.conf ? ddns-update-style interim; ignore client-updates; allow booting; #定義能夠PXE啟動 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啟動文件位置 } 配置完成后,重啟DHCP服務,并將它設為開機自啟動。 [root@qiuri Server]# /etc/init.d/dhcpd start 啟動 dhcpd:?????????????????????????????????????????????? [確定] [root@qiuri Server]# chkconfig --level 35 dhcpd on ?
2、安裝配置TFTP服務器
在PXE安裝過程中,客戶機在使用TFTP協議從TFTP服務器下載引導文件并執行。我們主要通過配置TFTP服務器和PXE的引導配置完成這個過程。 1)安裝配置TFTP服務器 首先,安裝TFTP服務器軟件包,RedHat提供了如下兩個軟件包: l?tftp-server:服務端程序 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服務 tftp 服務由xinetd服務管理。編輯 '''/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 }從這里看出,默認選擇/tftpboot為TFTP服務器的根目錄位置,配置完成后重啟xinetd服務,使TFTP服務器生效。 [root@qiuri Server]# /etc/init.d/xinetd restart 2)PXE引導配置(bootstrap) PXE啟動映像文件由syslinux軟件包提供,RedHat Enterprise Linux光盤中已提供,如果沒有此軟件包可以到syslinux 主頁:http://syslinux.zytor.com/下載rpm來安裝。 我們只要安裝了syslinux,就會生成一個pxelinux.0,將 pxelinux.0 這個文件復制到 '''/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/轉載于:https://blog.51cto.com/sgh211314/281546
總結
以上是生活随笔為你收集整理的Linux Kickstart无人值守安装(上)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 使用mysql_fetch_array(
- 下一篇: java new数组_Java如何使用n