可以通過光碟人工安裝幾十台linux系統,但是如果上百臺甚至更多呢?所以下面將進行通過網絡卡引導基於pxe的自動化安裝linux系統的實驗。
實驗前提:網絡卡功能需帶有dhcp和tftp客戶端功能
實驗原理:
(1)通過dhcp功能向dhcp伺服器獲取ip位址以及tftp伺服器位址和啟動的引導程式pxelinux.0
(功能相當於grub)
(2)繼續向tftp伺服器獲取啟動時的必要檔案:選單頁面isolinux.cfg(在tftp路徑下的選單命名為default
)和啟動核心vmlinuz以及initrd等
(3)在isolinux.cfg(default
)中提前配置好的kickstart檔案位址(此處通過配置本地http獲取)
(4)kickstart中定義啟動時安裝軟體安裝包的yum源路徑此(處通過配置本地http獲取)
(5)依賴啟動安裝嚮導和yum源路徑即可自動安裝所選擇的作業系統版本
實驗步驟:
(1)yum -y install dhcp tftp-server httpd
安裝所需要的服務,並設定為開機啟動systemctl enable --now httpd dhcpd tftp
,但是提示報錯
原因:這是因為dhcp配置檔案/etc/dhcp/dhcpd.conf
中的配置是空的,可以通過複製摸板進行修改即可
其中:range
:表示dhcp的ip範圍
option routers
:指定閘道器
next-server
:指向tftp伺服器位址
filename
:獲取tftp下的檔案
[root@route2/var/lib/tftpboot]$cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf
cp: overwrite 『/etc/dhcp/dhcpd.conf』? y
[root@route2/var/lib/tftpboot]$vim /etc/dhcp/dhcpd.conf
option domain-name "thomas.org";
option domain-name-servers 114.114.114.114,8.8.8.8;
default-lease-time 10000;
max-lease-time 120000;
log-facility local7;
subnet 192.168.7.0 netmask 255.255.255.0
.
├── 6
│ ├── initrd.img
│ └── vmlinuz
├── 7
│ ├── initrd.img
│ └── vmlinuz
├── 8
│ ├── initrd.img
│ └── vmlinuz
├── ldlinux.c32
├── libcom32.c32
├── libutil.c32
├── menu.c32
├── pxelinux.0
└── pxelinux.cfg
└── default
pxelinxu.0
:網絡卡引導驅動程式,也是第乙個需要執行的程式
6、7、8
:三個目錄分別存放的是對應作業系統版本的啟動核心
pxelinux.cfg
:這是乙個目錄
default
:該檔案在pxelinux.cfg目錄下,相當於grub中stage2階段的配置檔案,分別建立對應6、7、8、三個版本的選單
menu.c32
:啟動時的選單驅動程式,用來顯示default中定義的選單選項
ldlinux.c32 、libutil.c32、libcom32.c32
:centos8啟動menu.c32前必須先載入的檔案,centos6和7啟動時則不需要這三個檔案
default menu.c32
timeout 600
menu title autuinstall
label linux centos 8 mini
menu label install centos ^8 mini
kernel 8/vmlinuz
label linux centos7 mini
menu label install centos ^7 mini
kernel 7/vmlinuz
label linux centos6 mini
menu label install centos ^6 mini
kernel 6/vmlinuz
label local
menu default
menu label boot from ^local driv
localboot 0xffff
(3)配置ks路徑:上述已經安裝好httpd服務,httpd的服務路徑為/var/www/html/
,在此路徑下建立ksdir目錄,並將三個版本的ks啟動檔案放入
kickstart檔案中指定了安裝時的源,而yum源也是根據http方式配置的epel源。
利用system-config-kickstart配置ks檔案:
kickstart配置解釋:
(5)在此基於pxe的自動化安裝部署實驗已經完成,只要在電腦啟動時選擇網絡卡引導啟動即可,根據選單選項安裝所需的作業系統版本。
PXE自動化安裝系統
關閉防火牆 關閉selinux dhcp服務設定為靜態ip 安裝軟體包 http 充當yum源安裝包倉庫 tftp server 在它的工作目錄存在引導主機的工作檔案 dhcp 位址分配 syslinx 輔助檔案其中pxelinux.0引導系統,可以理解為grup的作用 system config ...
運維自動化之系統安裝(基於PXE)
三 yum安裝system config kickstart圖形化軟體製作 在這裡筆者用第二種 注意 裡為筆者注釋 配置dhcp伺服器 service dhcpd start 此時可以啟動dhcp服務了,注意dhcp伺服器的ip必須是靜態ip!配置tftp vim pxelinux.cfg defa...
Linux自動化之基於http的pxe安裝服務
大致的流程如下圖 pxe 記憶體要大,2g,記憶體不夠會導致啟動故障。配合tftp dhcp ftp http,僅主機模式。設定成開機啟動!網絡卡內建pxe晶元。1 禁止iptabels,selinux 安裝三個服務並開機啟動 關掉vmware的dhcp服務 準備httpd的yum源倉庫 掛載需要寫...