天天看點

理論+實驗·PXE高效批量網絡裝機理論+實驗·PXE高效批量網絡裝機

理論+實驗·PXE高效批量網絡裝機

文章目錄

  • 理論+實驗·PXE高效批量網絡裝機
    • PXE概述
        • PXE批量部署的優點
        • PXE(Preboot eXcution Environment)
        • 服務端
        • 用戶端
    • 配置PXE裝機伺服器
        • 基本部署過程
        • 準備CentOS 7 安裝源
        • 安裝并啟用TFTP服務
        • 準備Linux核心、PXE引導程式
        • 配置啟動菜單檔案
    • 驗證PXE網絡安裝
        • 為客戶機安裝系統
    • PXE高效批量網絡裝機實驗
        • 1:安裝DHCP服務
        • 2:安裝tftp服務
        • 3:安裝FTP服務
    • 關于kickstart
        • kickstart無人值守技術
    • 準備應答檔案
        • 應答檔案的來源
    • PXE+kickstart自動安裝
        • PXE于kickstart結合使用
        • 驗證自動安裝
    • kickstart無人值守安裝實驗
        • 1:安裝system-config-kickstart
        • 2:配置kickstart
        • 3:修改配置檔案

PXE概述

PXE批量部署的優點

規模化:同時裝配多台伺服器

自動化:安裝系統、配置各種服務

遠端實作:不需要CD光牒、U盤等安裝媒體

網絡帶寬是瓶頸 建議千兆口的帶寬

指定數量的一批裸金屬

PXE(Preboot eXcution Environment)

預啟動執行環境,在操作之前運作

服務端

運作DHCP服務,用來配置設定位址、定位引導程式

運作TFTP服務,提供引導程式下載下傳

用戶端

網卡支援PXE協定

主機闆支援網絡引導

配置PXE裝機伺服器

基本部署過程

1:準備CentOS 7 安裝源(YUM倉庫)

2:安裝并啟用TFTP服務

3:提供Linux核心、PXE引導程式等

4:安裝并啟用DHCP服務

5:配置啟動菜單

準備CentOS 7 安裝源

​ CentOS 7 安裝源支援HTTP、FTP、NFS等協定釋出

[[email protected] ~]# yum -y install vsftpd

[[email protected] ~]# mkdir /var/ftp/centos7/

[[email protected] ~]# cp -rf /dev/cdrom/* /var/ftp/centos7/

[[email protected] ~]# systemctl start vsftpd
           

安裝并啟用TFTP服務

​ 安裝tftp-server軟體包,啟用tftp服務

​ 配置檔案位于/etc/xinetd.d/tftp

[[email protected] ~]# yum -y install tftp-server ===>安裝tftp-server

[[email protected] ~]# vi /etc/xinetd.d/tftp  

disable	= no ===>修改配置值

[[email protected] ~]# systemctl start tftp

[[email protected] ~]# systemctl enable tftp
           

準備Linux核心、PXE引導程式

​ Linux核心、初始化鏡像檔案分别為vmlinuz和initrd.img

​ 引導程式為pxelinux.0,由軟體包syslinux提供

[[email protected] ~]# cd /dev/cdrom/images/pxeboot

[[email protected] pxeboot]# cp vmliunz initrd.img /var/lib/tftpboot

[[email protected] ~]# yum -y install syslinux

[[email protected] ~]# cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot ===>将核心拷貝到/vavr/lib/tftpboot目錄下
           

DHCP服務的PXE設定

[[email protected] ~]# yum -y install dhcpd

[[email protected] ~]# vi /etc/dhcp/dhcpd.conf

subnet 192.168.100.0 netmask 255.255.255.0{

​    ......

​    range 192.168.100.20 192.168.100.30;

​    option routers 192.168.100.100;

​    option domain-name-servers 8.8.8.8;

​    next-server 192.168.100.100; ===>指定TFTP伺服器位址

​    filename "pxelinux.0"; ===>指定要下載下傳的引導程式檔案

}

[[email protected] ~]# systemctl start dhcpd

[[email protected] ~]# systemctl enable dhcpd
           

配置啟動菜單檔案

[[email protected] ~]# vi /var/lib/tftpboot/pxelinux.cfg/default ===>確定pxelinux.cfg目錄已存在

default suto

prompt 1 ===>1s提示

label auto 

​	kernel	vmlinuz

​	append	initrd=initrd.img	method=ftp://192.168.100.100/centos7



label linux text ===>文本模式安裝

​	kernel	vmlinuz

​	append	text	initrd=initrd.img	method=ftp://192.168.100.100/centos7



label linux rescue ===>進入急救模式

​	kernel	vmlinuz

​	append	rescue	initrd=initrd.img	method=ftp://192.168.100.100/centos7
           

TFTP四大檔案:

1:default檔案 需要先建立pxelinux.cfg目錄 引導配置檔案預設被加載

2:vmlinuz 壓縮核心 在default中被定義最先被加載

3:initrd.img 初始化鏡像檔案 在default中被定義第二個被加載

4:PXElinux.0 引導程式 需要安裝syslinux包才會有,在DHCP配置檔案中被定義

三大服務:

1:DHCP 讓用戶端擷取IP位址,能主動聯網PXE伺服器 配置中指向TFTP

2:TFTP: 簡單檔案系統 UDP 69 端口快速加載引導程式,引導程式的容量較小

小容量的檔案 預設配置檔案指向FTP鏡像位置

3:FTP:檔案系統 TCP 21 連接配接服務 20 傳輸資料 系統鏡像存放

大容量的檔案

驗證PXE網絡安裝

為客戶機安裝系統

​ 調整BIOS設定,以便從網絡引導

​ 自動擷取IP位址,并指定CentOS 7 安裝源

​ 其餘過程與本地安裝相同

PXE高效批量網絡裝機實驗

1:安裝DHCP服務

安裝DHCP
[[email protected] ~]# yum -y install dhcp* ===>安裝dhcp

[[email protected] ~]# cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf 
cp:是否覆寫"/etc/dhcp/dhcpd.conf"? yes        ===>将模闆文檔直接拷貝到dhcp配置檔案裡面

[[email protected] ~]# vi /etc/dhcp/dhcpd.conf ===>修改配置檔案
subnet 192.168.100.0 netmask 255.255.255.0 {
  range 192.168.100.20 192.168.100.30;
  option routers 192.168.100.100;
  option domain-name-servers 8.8.8.8;
  next-server 192.168.100.100;
  filename "pxelinux.0";
}


           

2:安裝tftp服務

安裝tftp服務
[[email protected] ~]# yum -y install tftp-server ===>安裝tftp-server

[[email protected] ~]# vi /etc/xinetd.d/tftp ===>修改配置檔案
disable                 = no ===>這一行改成no

[[email protected] ~]# yum -y install syslinux ===>安裝syslinux

[[email protected] ~]# cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/ ===>将pxelinux.0拷貝到tftp的站點目錄下

[[email protected] tftpboot]# mount /dev/cdrom /mnt ===>挂載CD光牒
mount: /dev/sr0 寫保護,将以隻讀方式挂載

[[email protected] images]# cd /mnt/images/pxeboot/ ===>進入該目錄

[[email protected] pxeboot]# cp vmlinuz initrd.img /var/lib/tftpboot/ ===>将核心跟初始化鏡像檔案拷貝到tftp站點目錄下

           

3:安裝FTP服務

安裝ftp服務 
[[email protected] tftpboot]# yum -y install vsftpd ===>安裝vsftpd

[[email protected] tftpboot]# mkdir /var/ftp/centos7 ===>建立一個目錄存放CD光牒的鏡像

[[email protected] tftpboot]# mount /dev/cdrom /mnt ===>挂載CD光牒

[[email protected] tftpboot]# cp -rf /mnt/* /var/ftp/centos7/ ===>将CD光牒裡裡面的鏡像檔案拷貝到centos7目錄下

[[email protected] tftpboot]# setenforce 0 ===>關閉核心防護

[ro[email protected] tftpboot]# systemctl stop firewalld ===>關閉防火牆


           

關于kickstart

kickstart無人值守技術

​ 建立應答檔案,預先定義好各種安裝設定 ===>ks.cfg

​ 免去互動設定過程,進而實作全自動話安裝

準備應答檔案

應答檔案的來源

​ 編輯CentOS 7 系統中現有的應答檔案

​ /root/anaconda-ks.cfg ===>目前系統内都會有這個檔案

​ 使用system-config-kickstart工具建立新的應答檔案

​ 需要安裝system-config-kickstart軟體包

PXE+kickstart自動安裝

PXE于kickstart結合使用

[[email protected] ~]# vi /var/lib/pxelinux.cfg/default

default auto
prompt 1

label auto
        kernel  vmlinuz
        append  initrd=initrd.img       method=ftp://192.168.100.100/centos7    ks=ftp://192.168.100.100/ks.cfg

label linux text
        kernel  vmlinuz
        append  text    initrd=initrd.img       method=ftp://192.168.100.100/centos7

label linux rescue
        kernel  vmlinuz
        append  rescue  initrd=initrd.img       method=ftp://192.168.100.100/centos7
           

驗證自動安裝

​ 将客戶機以PXE方式引導

​ 系統會自動完成安裝,并配置好軟體倉庫

​ 整個安裝過程無需手動幹預

kickstart無人值守安裝實驗

1:安裝system-config-kickstart

[[email protected] ~]# yum -y install system-config-kickstart ===>安裝system-config-kickstart
           

2:配置kickstart

打開kickstart軟體

理論+實驗·PXE高效批量網絡裝機理論+實驗·PXE高效批量網絡裝機

1)基本配置

理論+實驗·PXE高效批量網絡裝機理論+實驗·PXE高效批量網絡裝機

2)安裝方法

理論+實驗·PXE高效批量網絡裝機理論+實驗·PXE高效批量網絡裝機

3)引導裝載程式選項

理論+實驗·PXE高效批量網絡裝機理論+實驗·PXE高效批量網絡裝機

4)分區資訊

理論+實驗·PXE高效批量網絡裝機理論+實驗·PXE高效批量網絡裝機

5)網絡配置

理論+實驗·PXE高效批量網絡裝機理論+實驗·PXE高效批量網絡裝機

6)防火牆配置

理論+實驗·PXE高效批量網絡裝機理論+實驗·PXE高效批量網絡裝機

7)安裝後腳本

理論+實驗·PXE高效批量網絡裝機理論+實驗·PXE高效批量網絡裝機

8)儲存到/var/ftp/目錄下

3:修改配置檔案

[[email protected] ~]# cd /root

[[email protected] ~]# ls
anaconda-ks.cfg       公共  視訊  文檔  音樂
initial-setup-ks.cfg  模闆  圖檔  下載下傳  桌面

[[email protected] ~]# vi anaconda-ks.cfg ===>複制配置檔案裡面的下面這些内容
%packages
@^gnome-desktop-environment
@base
@core
@desktop-debugging
@dial-up
@directory-client
@fonts
@gnome-desktop
@guest-agents
@guest-desktop-agents
@input-methods
@internet-browser
@java-platform
@multimedia
@network-file-system-client
@networkmanager-submodules
@print-client
@x11
chrony
kexec-tools
%end

[[email protected] ~]# cd /var/ftp/ ===>進入該目錄

[[email protected] ftp]# ls ===>檢視
centos7  ks.cfg  pub

[[email protected] ftp]# vi ks.cfg ===>修改配置檔案(把之前複制的全部粘貼到該檔案最後)

[[email protected] ftp]# cd /var/lib/tftpboot/ ===>進入該目錄

[[email protected] tftpboot]# ll ===>檢視
總用量 57872
-rw-r--r--. 1 root root 52584760 7月  13 17:29 initrd.img
-rw-r--r--. 1 root root    26759 7月  13 17:25 pxelinux.0
drwxr-xr-x. 2 root root       21 7月  13 18:56 pxelinux.cfg
-rwxr-xr-x. 1 root root  6639904 7月  13 17:29 vmlinuz

[[email protected] tftpboot]# cd pxelinux.cfg/ ===>進入該目錄

[[email protected] pxelinux.cfg]# ls ===>檢視
default

[[email protected] pxelinux.cfg]# vi default ===>修改配置檔案
default auto
prompt 1

label auto
  kernel  vmlinuz
  append initrd=initrd.img  method=ftp://192.168.100.100/centos7 ks=ftp://192.168.100.100/ks.cfg

label linux text
        kernel  vmlinuz
        append  text    initrd=initrd.img       method=ftp://192.168.100.100/centos7

label linux rescue
        kernel  vmlinuz
        append  rescue  initrd=initrd.img       method=ftp://192.168.100.100/centos7
           

繼續閱讀