PXE實現無人值守批量安裝服務器

今天我們使用PXE+Kickstart+TFTP+DHCP+FTP實現無人值守安裝服務器。

一、無人值守所需服務介紹:

1)PXE

  1. PXE,遠程引導技術
  2. 功能:使計算機通過網絡啓動
  3. 硬件要求:客戶端的網卡必須支持PXE

2)Kickstart

  1. Kickstart,一種無人值守自動部署安裝操作系統的方式
  2. 核心技術:自動應答文件
  3. 功能:系統通過執行自動應答文件中的內容進行自動安裝系統

3)TFTP

  1. TFTP,用於服務器之間進行簡單文件傳輸的協議
  2. 端口號:69
  3. 默認共享路徑:/var/lib/tftpboot/
  4. 本次實驗作用:共享PXE相關文件,比如:系統引導文件(客戶端通過TFTP取這些文件)

4)DHCP

給客戶機分配IP地址

5)FTP

  1. FTP,文件傳輸協議
  2. 默認共享路徑:/var/ftp/
  3. 本次實驗作用:共享ISO鏡像文件及Kickstart自動應答文件

6)運行流程圖
(初學者可能目前不太理解這個圖,沒關係咱繼續往下看。隨着後續的學習您會理解以下流程圖的)
在這裏插入圖片描述

二、實驗介紹

本次實驗採用all-in-one模式,即 我們將FTP、DHCP、TFTP服務全部署在一臺服務器上。

1)服務器介紹:

  1. qll251,CentOS7系統雙網卡,192.168.1.251 和 192.168.2.251(2.251屬於LAN1 用於PXE網絡)
  2. qll252,CenOS7系統,網卡選擇LAN1

2)實驗要求

  1. 關閉服務器防火牆及禁用selinux
  2. 服務器能使用yum 安裝軟件,本地yum源或網絡yum源均可

三、開始部署環境

1)部署FTP服務

[root@qll251 ~]# yum -y install vsftpd    #安裝ftp服務
[root@qll251 ~]# systemctl start vsftpd   #啓動ftp服務
[root@qll251 ~]# systemctl enable vsftpd  #設置ftp服務開機自啓動
## 到此,ftp部署已完成。共享路徑:/var/ftp

2)部署DHCP服務

  1. 安裝dhcp服務
[root@qll251 ~]# yum -y install dhcp 
  1. 修改dhcpd.conf配置文件
[root@qll251 ~]# vim  /etc/dhcp/dhcpd.conf 

在這裏插入圖片描述

  1. 啓動dhcp服務並設置開機自啓動
[root@qll251 ~]# systemctl start dhcpd
[root@qll251 ~]# systemctl enable dhcpd

3)部署tftp-server服務

  1. 安裝tftp-server所需服務
[root@qll251 ~]# yum -y install tftp-server
[root@qll251 ~]# yum -y install xinetd  #Xinetd管理tftp工作
  1. 修改TFTP服務的配置文件
    在這裏插入圖片描述
  2. 啓動tftp服務,並設置開機自啓動
[root@qll251 ~]# systemctl start tftp && systemctl enable tftp
[root@qll251 ~]# systemctl start xinetd && systemctl enable xinetd

4)製作kickstart自動應答文件

  1. 安裝kickstart
[root@qll251 ~]# yum -y  install system-config-kickstart
  1. 在終端上執行system-config-kickstart
    在這裏插入圖片描述

注意:如果用終端軟件比如MobaXerm,執行上面命令無法彈出選擇框,需要您安裝gdm
yum -y install gdm
(您直接在帶有圖形化界面的機器上執行命令也是一樣的)

  1. 進入kickstart配置嚮導,先完成“基本配置”

在這裏插入圖片描述

  1. 選擇安裝方法

在這裏插入圖片描述
5. 進行分區
在這裏插入圖片描述
6. 網絡配置、驗證、防火牆配置、顯示配置。您按需選擇就行。我就不在此演示了
7. 軟件包選擇
在這裏插入圖片描述
8. 設置安裝後的腳本(可選項)
在這裏插入圖片描述
9. 保存自動應答文件
在這裏插入圖片描述

到目前爲止,FTP,DHCP,TFTP服務及kickstart應答文件都已準備完畢。接下來我們配置PXE啓動所需的相關文件

四、準備PXE啓動所需的文件

先掛載我們所需的光盤鏡像

[root@qll251 ~]# mount /dev/sr0 /media  #系統鏡像掛載至/media

1)ftp需要共享出去的文件

共享目錄:/var/ftp;需要共享兩個

  1. /var/ftp/ks.cfg (製作應答文件時,已保存該文件)
  2. 光盤啓動鏡像
#我們在製作自動應答文件的第四步中指定光盤文件目錄是:/var/ftp/pub
[root@qll251 ~]# cp -r  /media/* /var/ftp/pub 

2)tftp需要共享出去的文件

[root@qll251 ~]# yum -y install syslinux
[root@qll251 ~]# cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/  #拷貝的第一個文件
[root@qll251 ~]# cp /media/images/pxeboot/initrd.img /var/lib/tftpboot/ #拷貝的第二個文件
[root@qll251 ~]# cp /media/images/pxeboot/vmlinuz /var/lib/tftpboot/  #拷貝的第三個文件
[root@qll251 ~]# mkdir /var/lib/tftpboot/pxelinux.cfg 
[root@qll251 ~]# cp /media/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default #拷貝的第四個文件,拷貝時,命令爲default
[root@qll251 ~]# chmod 644 /var/lib/tftpboot/pxelinux.cfg/default #設置default文件權限:644

tftp共享目錄:/var/lib/tftpboot;需要共享4個文件

  1. pxelinux.0 #網絡裝機需要用到pxelinux.0;由yum install syslinux獲得的
  2. initrd.img:#其實就是ramdisk的映像文件(內存模擬磁盤)。舉個例子:主機系統壞掉了,我們使用win pe啓動,你會發現主機就算沒有硬盤也能正常運行
  3. vmlinuz:包含一個最小功能的內核,通常先執行vmlinuz,之後加載initrd.img文件,最後加載根分區。
  4. isolinux.cfg重命名爲default

3)修改default配置文件

[root@qll251 ~]# vim /var/lib/tftpboot/pxelinux.cfg/default 
1  default linux #將第一行的 default改成default linux
61 label linux
62   menu label ^Install CentOS 7
63   kernel vmlinuz
64   append initrd=initrd.img inst.repo=ftp://192.168.2.251/pub inst.ks=ftp://192.168.2.251/ks.cfg
##指定安裝程序通過FTP服務訪問系統鏡像及ks.cfg應答文件

五、執行批量安裝服務器

1)客戶機的BIOS啓動順序調整爲網絡優先。或者開機Log界面按F12選擇從網絡啓動

在這裏插入圖片描述

2)開始無人值守安裝

以下步驟全部爲系統自動執行,無需人爲干預,只需等待安裝完成即可

我們看下它都自動執行了哪些操作

在這裏插入圖片描述

在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述

最後我們通過預定義的root密碼登錄,可以看到事先寫的測試腳本“hello world”已生效。系統分配的IP是192.168.2.3
在這裏插入圖片描述
好了,以上便是今天分享的批量安裝服務器的內容。

更多IT技術,請微信搜索公衆號秦露露或者掃描下方二維碼關注
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章