linux系統自動安裝之PXE

PXE(集成在網卡上的)
預啟動執行環境 (能夠通過網絡實現操作系統安裝)

PXE工作原理
1、Client向PXE Server上的DHCP發送IP地址請求消息,DHCP檢測Client是否合法(主要是檢測Client的網卡MAC地址),如果合法則返回Client的IP地址,同時將啟動文件pxelinux.0的位置信息一并傳送給Client
2、Client向PXE Server上的TFTP發送獲取pxelinux.0請求消息,TFTP接收到消息之后再向Client發送pxelinux.0大小信息,試探Client是否滿意,當TFTP收到Client發回的同意大小信息之后,正式向Client發送pxelinux.0
3、Client執行接收到的pxelinux.0文件
4、Client向TFTP Server發送針對本機的配置信息文件(在TFTP 服務的pxelinux.cfg目錄下),TFTP將配置文件發回Client,繼而Client根據配置文件執行后續操作。
5、Client向TFTP發送Linux內核請求信息,TFTP接收到消息之后將內核文件發送給Client
6、Client向TFTP發送根文件請求信息,TFTP接收到消息之后返回Linux根文件系統
7、Client啟動Linux內核
8、Client下載安裝源文件,讀取自動化安裝腳本

下面以centos7的安裝為例說明實現步驟:

此例子中dhcp服務端ip為192.168.27.128

安裝前準備:
1、關閉防火墻和SELINUX
2、DHCP服務器靜態IP

安裝軟件包
httpd ??tftp-server ??dhcp ??syslinux ? ?system-config-kickstart

配置文件共享服務:
systemctl enable httpd
systemctl start httpd
mkdir /var/www/html/centos/7
mount /dev/sr0/var/www/html/centos/7

準備kickstart文件
/var/www/html/ksdir/ks7-mini.cfg ?#注意文件權限,權限不足,會導致安裝過程中無法獲取文件
cdrom更改為 url –url=http://192.168.27.128/centos/7
firewall –disabled
selinux –disabled
把安裝方式更改為文本
text
reboot
把網絡設為on
zerombr
更改clearpart –all –initlabel

配置tftp服務
客戶端連接時,默認訪問的就是/var/lib/tftpboot/目錄
systemctl enable tftp.socket
systemctl start tftp.socket
配置DHCP服務
vim /etc/dhcp/dhcpd.conf
option domain-name “example.com”;
default-lease-time 600;
max-lease-time 7200;
subnet 192.168.27.0 netmask 255.255.255.0 {
range 192.168.27.100 192.168.27.200;
filename “pxelinux.0”;
next-server 192.168.27.128;
}
systemctl enable dhcpd
systemctl start dhcpd

準備相關文件
mkdir /var/lib/tftpboot/pxelinux.cfg/
cp /usr/share/syslinux/{pxelinux.0,menu.c32} /var/lib/tftpboot/
#也可以用vesamenu.c32,不同的菜單風格
cp /misc/cd/isolinux/{vmlinuz,initrd.img} /var/lib/tftpboot/
cp /misc/cd/isolinux/isolinux.cfg
/var/lib/tftpboot/pxelinux.cfg/default

準備啟動菜單
Vim /var/lib/tftpboot/pxelinux.cfg/default
default menu.c32
timeout 600
menu title PXE INSTALL MENU
label auto
menu label Install ^Mini CentOS 7
kernel vmlinuz
append initrd=initrd.img ks=http://192.168.27.128/ksdir/ks7-mini.cfg
label manual
menu label Install ^Desktop CentOS 7
kernel vmlinuz
append initrd=initrd.img ks=http://192.168.27.128/ksdir/ks7-desktop.cfg
label local
menu default
menu label ^Boot from local drive
localboot 0xffff

至此所有步驟完成,在安裝系統的時候就可以選擇從網絡引導自動安裝系統了

本文來自投稿,不代表Linux運維部落立場,如若轉載,請注明出處:http://www.www58058.com/91154

(0)
oranixoranix
上一篇 2018-01-16 13:04
下一篇 2018-01-16 20:20

相關推薦

  • 網絡管理3

    七、網絡接口配置-bonding     Bonding         就是將多塊網卡綁定同一IP地址對外提供服務,可以實現高可用或者負載均衡。當然,直接給兩塊網卡設置同一IP地址是不可能的。通過bonding,虛擬一塊網卡對外提供連接,…

    Linux干貨 2016-09-10
  • 0805作業

    課堂練習 1.找出ifconfig 命令結果中本機的所有IPv4 地址   ifconfig|tr -cs '[0-9].' '\n'|sort -ut '.' -k3 2.查出分區空間使用率的最大百分比值   df|tr -s ' '|cut -d&quot…

    Linux干貨 2016-08-07
  • 7.22_Linux入門和幫助文件的使用

    Linux系統登錄的兩種方式 GUI:圖形界面 Graphic User Interface 默認在Linux下面有三種可用的圖形界面程序可選,分別為 1.gnome(c,圖形庫gtk) 2.kde(c++,圖形庫qt) 3.xface(輕量級桌面) 每一種圖形界面下面開發的軟件并不兼容,因為它們開發時候所用的開發語言也各不相同 啟動方式:cli模…

    Linux干貨 2016-08-04
  • 淺析linux軟、硬鏈接

    軟鏈接 硬鏈接 不同點 創建時會占用新的inode號, 不會占用 可以跨分區 不可以跨分區 與源文件是兩個不同的文件,不會增加文件鏈接數 與源文件數據相同,會增加文件鏈接數 依賴于鏈接的文件名,當刪除或移動源文件后,連接可能失效 不依賴于源文件名,刪除或移動源文件后,硬鏈接依然使用 對文件,目錄都可以執行鏈接操作 只能對文件執行鏈接操作 大小為指向源文件路徑…

    Linux干貨 2016-12-05
  • Linux系統的軟鏈接和硬鏈接

    Linux的鏈接是一種共享文件和訪問它的用戶的若干目錄項之間建立聯系的一種方法。一共分為兩種鏈接,分別是軟鏈接和硬鏈接。 一、硬鏈接 1、硬鏈接的本質上是一個文件,它們除了名字不一樣,其他都一樣,占用的空間是一個。硬鏈接會增加文件的鏈接數。如下圖 (1)建立硬鏈集之前     (2)建立硬鏈接之后 2、刪去一個鏈接名,鏈接數減一…

    Linux干貨 2016-10-22
  • HAProxy基于Keepalived做高可用并簡單實現Web站點的動靜分離

    HAProxy簡介   HAProxy 是一個免費的,非常快速和可靠的解決方案,提供 高可用性, 負載均衡和代理對TCP和HTTP的應用程序。它特別適用于非常大流量網站。多年來,它已成為標準開源的負載均衡,現在隨最主流的Linux發行版,并且通常默認的云平臺部署。 實驗描述 1、本實驗主要是在前端放置兩臺通過Keepalived做了高可用的HAProxy反向…

    Linux干貨 2016-04-16
欧美性久久久久