linux之PXE架構無人值守安裝


PXE架構  無人值守安裝

1.TFTP簡介

1.)概述  簡單的文件傳輸協議  端口

簡單文件傳輸協議Trivial File Transfer Protocol)

網絡文件基於UDP傳輸的最簡單的協議    端口為UDP 69

數據庫端口  端口3306

DNS        端口53

DHCP       端口 服務端67    客戶端68

FTP         端口  21   20端口不確定

samba      端口 137   138   139    445

ssh          端口  22

 

2.)特點

1.同樣屬於C/S架構客戶端程序tftp服務端程序tftp-server,基於守護進程xinetd來運行。

2.xinetd配置文件/etc/xinetd.d/tftp    

tftp服務端提供客戶端文件訪問根目錄/var/lib/tftpboot

這個目錄是客戶端可以下載訪問的

 

 

TFTP部署 安裝tftp-server 和xinetd服務 修改配置,並啟動服務

TFFP服務

1.安裝     yum -y install tftp-server xinetd

xinetd配置文件/etc/xinetd.d/tftp    

Tftp服務交給  xinerd管理

 

這些都是  xinetd管理的服務

 

 

 

 

2.修改配置並啟動命令  vi /etc/xinetd.d/tftp

修改為:  wait      = no  (等待)         disable     = no    (使不能)

 

 

 

 

 

systemctl start xinetd

systemctl start tftp.socket    ---啟動服務  

netstat -antulp |grep :69         --查看端口

 

 

 

 

PXE網絡啟動

1.PXE概述   依賴的軟件DHCP VSFTP  

PXE:preboot execute environment(預引導啟動環境)

1.由Intel公司開發的網絡引導技術,工作於C/S架構,基於網絡引導啟動客戶端操作系統的安裝。

允許客戶端通過網絡從遠程服務器下載引導鏡像,並加載安裝整個文件或整個操作系統。

2.依賴dhcp,tftp,file server(vsftpd,httpd,nfs等),客戶端主機網卡也需支持BOOTROOM芯片,支持PXE相關協議。

dhcp分配IP地址及指定引導文件位置。

tftp提供引導鏡像文件的下載

file server提供操作系統安裝包的下載,將光盤的內容復制到file server中,如vsftpd。

3.網絡引導Linux的相關軟件由syslinux提供,安裝syslinux程序  

yum install syslinux  -y

2.優點:

PXE這種安裝系統的方式可以不受光驅光盤以及一些外部設備的限制還可以做到無人值守,

大大減輕了運維人員的工作負荷,像在一些主機數量龐大的機房進行批量安裝,PXE是不二的選擇。

3.工作過程示意圖

 

 

 

 

名詞解釋

pxelinux.0  pxe引導程序(由syslinux程序提供)

pxelinux.cfg/default 系統啟動時的啟動菜單,指出要加載內核鏡像和inird 鏡像,然后引導。

vmlinuz Linux內核

initrd.img  初始化鏡像文件,存放了引導時的一些驅動程序  解壓

tftp服務端 默認提供請求的文件目錄/var/lib/tftpboot內。

syslinux程序的相關文件目錄:/usr/share/syslinux之中。

4.工作過程文本解釋:

工作站開機后, PXE BootROM(自啟動芯片) 獲得控制權之前先做自我測試,然后以廣播形式發出一個請求 FIND 幀。如果服務器收到工作站所送出的要求, 就會送回 DHCP 回應, 內容包括分配的 IP 地址,及pxe引導程序名稱,以及下載的地址 否則, 服務器會忽略這個要求。

工作站收到服務器發回的響應后則會回應一個,以請求傳送啟動所需的文件 之后,將有更多的訊息在工作站與服務器之間作應答, 用以決定啟動參數。 

BootROM  TFTP 通訊協議從服務器下載開機映像, 這個映像就是系統的映象文件。工作站使用 TFTP 協議接收啟動文件后,將控制權轉交啟動引導程序,引導操作系統,完成遠程啟動

4.PXE架構 安裝xinetd  DHCP  vsftpd程序

首先安裝基於UDP協議的TFTP服務端,來進行后期的簡單文件的網絡傳輸。

服務器通過 TFTP(Trivial File Transfer Protocol)簡單文件傳輸協議提供引導鏡像文件的下載

1.安裝xinetd程序,為tftp服務提供支持,並進行配置

yum –y install xinetd

yum -y install tftp-server                      --前面已安裝過了

 

vim /etc/xinetd.d/tftp   ---編輯配置文件

修改為:  wait      = no  (等待)         disable     = no    (使不能)

 

 

 

 

啟動tftp服務

systemctl start xinetd

systemctl start tftp.socket    ---啟動服務

2.在tftp根路徑導入需要提供給工作站的引導文件和內核文件    進入目錄查看權限  改為644

cd /media/cdiso/isolinux/            

 

 

 

 

移動這三項到   /var/lib/tftpboot

cp initrd.img vmlinuz isolinux.cfg  /var/lib/tftpboot/

 

vmlinuz Linux內核

initrd.img       鏡像文件系統

isolinux.cf       啟動菜單

 

 

 

 

cd   /var/lib/tftpboot

查看權限  如果不是644則改為644權限       chmod  644  isolinux.cf  

 

 

 

 

 

##

對比鏡像中    initrd.img vmlinuz   文件內容的區別

cd /media/cdiso/images/pxeboot      -- 進入這個掛載

ls -lh initrd.img vmlinuz /media/cdiso/isolinux/initrd.img /media/cdiso/isolinux/vmlinuz

 

 

 

 

安裝syslinux 在tftp根路徑導入  提供給客戶端的pxe引導程序文件pxelinux.0

yum  -y  install   syslinux        --安裝軟件

cp   /usr/share/syslinux/pxelinux.0  /var/lib/tftpboot/   --復制文件

 

 

 

 

 

 

 

 cd /var/lib/tftpboot/          -查看

 

 

 

 

 

4.啟動菜單配置  vim  /var/lib/tftpboot/isolinux.cfg

vim    isolinux.cfg

default linux        默認選擇的是linux lable

prompt 0  

timeout 30

 

 

 

 

5.創建pxelinux.cfg目錄,並將isolinux.cfg引導鏡像菜單文件進行重命名為默認名稱default

mkdir  pxelinux.cfg

mv   isolinux.cfg   ./pxelinux.cfg/default     移動到這個目錄下

 

 

 

 

 

6.安裝配置dhcp服務,動態為新的客戶機分配IP地址以及將pxe的引導程序文件基於UDP傳輸給客戶機

 yum -y install dhcp

 

 

 

 

cp  /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example  /etc/dhcp/dhcpd.conf

vim /etc/dhcp/dhcpd.conf          ---修改DHCP配置文件,增加地址池

 

# A slightly different configuration for an internal subnet.

subnet 192.168.10.0 netmask 255.255.255.0 {           分配的網段

  range 192.168.10.11 192.168.10.150;                 分配的ip范圍

  option domain-name-servers 8.8.8.8;                  dns

  option domain-name "ujiuye.com";         域名

  option routers 192.168.10.10;               網關

  default-lease-time 600;                  

  max-lease-time 7200;                      

  next-server 192.168.10.10;        支持tftp的ip需要到下一台某一天機器下載的文件

  filename "pxelinux.0" ;            網絡啟動的依賴程序下載的文件名稱

 

啟動服務systemctl start dhcpd

查看端口netstat -antulp | grep :67

 

 

 

 

7.安裝vsftpd服務,提供在客戶機pxe引導成功之后進行安裝操作系統的程序源包   掛載光盤之/var/ftp/centos/

yum -y install vsftpd          ---安裝vsftpd服務

cd   /var/ftp/   

mkdir   centos            ---創建掛載目錄

mount /dev/cdrom /var/ftp/centos       ---掛載光盤

或者將光盤內容復制到 /var/ftp/centos/

cp   -rfp   /media/cdrom/*    /var/ftp/centos/

 

 

 

 

 

 

啟動服務  systemctl start vsftpd

查看服務ftp://192.168.10.10/centos

 

 

 

 

 

5.kickstart無人值守安裝

1.示意圖

 

 

 

 

 

2.安裝kickstart程序

1.要實現kickstart無人值守安裝,源服務器可以使用圖形界面配置kickstart腳本。

2.安裝kickstart程序

yum -y install system-config-kickstart

3.修改yum配置環境修改標簽

會出現這樣錯誤, 所以去修改本地yum源  

 

 

 

 

cd /etc/yum.repos.d/

vim CentOS-Base.repo

標簽修改為    [development]          -這樣就會顯示 軟件包選擇

 

 

 

 

4.重啟服務system-config-kickstart完成配置 然后移動ks.cfg  

system-config-kickstart             --在虛擬機內,遠程終端不可以

 

執行完 啟動服務完成配置后 生成一個ks.cfg的文件  將其放在root下    然后復制到ftp分享的目錄

cp ks.cfg /var/ftp/              ---復制ks.cfg文件到  ftp分享目錄下

cd /var/ftp/                    ---ftp分享的目錄

 

 

 

 

 

修改默認的default文件中   指引向自動部署的腳本文件路徑

cd /var/lib/tftpboot/     --進入腳本

cd pxelinux.cfg/          --進入default 

vim default        -- 修改 添加inst.ks=ftp://192.168.10.10/ks.cfg

 

 

 

 

append initrd=initrd.img inst.ks=ftp://192.168.10.10/ks.cfg quiet

修改完  去創建新虛擬機測試

 

system-config-kickstart             --在虛擬機內,遠程終端不可以

1.基本配置 設置語言中文簡體 鍵盤英語美國 時區上海 設置密碼 安裝后重啟

 

 

 

 

 

安裝方法  執行全新安裝  FTP的ip和共享目錄

 

 

 

 

 

引導裝載程序選項  

 

 

 

 

 

分區設置

 

 

 

 

 

網絡配置  可不寫

 

 

 

 

 

驗證  可忽略

 

 

 

 

 

關閉防火牆

 

 

 

 

 

顯示設置

 

 

 

 

 

軟件包選擇  開發工具   圖形界面

 

 

 

 

 

 

 

 

預安裝腳本 是安裝之前  要執行的腳本

安裝后腳本  是安裝之后 要執行的腳本

 

保存  保存到root下  文件名為ks.cfg

 

 

 

 

 

 

 

 

 

5.安裝虛擬機   

重啟服務關閉防火牆保證網絡環境干凈

systemctl restart dhcpd

systemctl restart vsftpd

systemctl restart xinetd

systemctl restart tftp.socket

iptables -F

iptables -X

iptables -Z

systemctl stop firewalld

setenforce 0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

安裝完之后

1  回車

2  回車

C

C

 

 

 

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM