PXE安装部署
文章目錄
- PXE服務簡介
- 啟動環境
- 服務端
- 客戶端
- PXE需要的服務和文件
- 三個服務
- tftp四大文件
- 基本部署過程
- 詳細搭建步驟
PXE服務簡介
大家應該都會使用光盤鏡像或U盤進行安裝操作系統,但在生產環境中遇到上百臺的服務器時再使用人工一臺一臺安裝系統就不太現實了,這之后PXE服務就應運而生了。
啟動環境
服務端
運行DHCP服務,用來分配地址、定位引導程序
運行TFTP服務,提供引導程序下載
客戶端
網卡支持PXE協議
主板支持網絡引導
PXE需要的服務和文件
三個服務
1;DHCP服務:讓客戶端獲取IP地址,能主動聯網PXE服務器,配置指向TFTP服務
2;TFTP服務:簡單文件系統,UDP協議端口號69,快速加載引導程序,默認配置文件指向FTP鏡像位置
3;FTP服務:文件系統鏡像存放,TCP21端口連接服務UDP20端口數據傳輸
tftp四大文件
1:default:需要先創建pxelinux.cfg目錄,引導配置文件被加載
2:vmlinuz:壓縮內核,在default中被定義最先被加載
3:initrd.img:初始化鏡像文件,在default被定義第二個被加載
4:pxelinux.0:引導程序,需要安裝syslinux包才會有,在dhcp配置文件中被定義
基本部署過程
1:安裝并啟用TFTP服務
2:提供Linux內核、PXE引導程序等
3:安裝并啟用DHCP服務
4:配置啟動菜單
詳細搭建步驟
安裝dhcp服務
[root@localhost network-scripts]# yum -y install dhcp 16、編輯dhcp服務配置文件
## dhcp配置文件存放在:/etc/dhcp/dhcpd.conf中,但是打開會發現讓你去另一個目錄中找配置文件模板,所以要復制一份過來[root@localhost network-scripts]# cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf ## 復制模板并替換原配置文件 cp:是否覆蓋"/etc/dhcp/dhcpd.conf"? yes ## 輸入yes替換[root@localhost dhcp]# vi /etc/dhcp/dhcpd.conf ## 編輯配置文件修改以下內容:# No service will be given on this subnet, but declaring it helps the # DHCP server to understand the network topology.subnet 192.168.106.0 netmask 255.255.255.0 { ## 網段及子網掩碼range 192.168.106.150 192.168.106.200; ##分配IP地址池option routers 192.168.10.100; ## 網關option domain-name-servers 192.168.106.100; ##DNS服務器地址next-server 192.168.106.100; ## filename "pxelinux.0"; ## }7、dhcp配置完成,下面安裝tftp及引導程序
[root@localhost network-scripts]# yum -y install tftp-server [root@localhost network-scripts]# yum -y install syslinux8、編輯tftp服務配置文件
[root@localhost network-scripts]# vi /etc/xinetd.d/tftp 將disabled=yes改為no9、將pxelinux.0引導程序拷貝的TFTP站點目錄下
[root@localhost xinetd.d]# cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/10、安裝VSFTP服務
[root@localhost xinetd.d]# yum -y install vsftpd10、進入ftp站點目錄,新建掛載目錄,然后將光盤鏡像掛載到新建的目錄中
[root@localhost xinetd.d]# cd /var/ftp/ [root@localhost ftp]# mkdir centos7 [root@localhost ftp]# mount /dev/cdrom /var/ftp/centos7/ps:如果光盤之前已經掛載到其他地方,可以使用umount命令對其進行卸載后再掛載11、進入光盤鏡像中,將其中的壓縮內核與初始化鏡像文件拷貝到TFTP站點目錄中
[root@localhost ftp]# cd /var/ftp/centos7/images/pxeboot/ [root@localhost pxeboot]# cp vmlinuz initrd.img /var/lib/tftpboot/12、進入TFTP站點目錄,新建一個引導配置文件存放目錄,進入該目錄并新建一個名為default的配置文件,編輯該文件
[root@localhost pxeboot]# cd /var/lib/tftpboot/ [root@localhost tftpboot]# mkdir pxelinux.cfg [root@localhost tftpboot]# cd pxelinux.cfg/ [root@localhost pxelinux.cfg]# vi default## 下入以下內容:default auto prompt 1label autokernel vmlinuzappend initrd=initrd.img method=ftp://192.168.106.100/centos7label linux textkernel vmlinuzappend text initrd=initrd.img method=ftp://192.168.106.100/centos7label linux rescuekernel vmlinuzappend rescue initrd=initrd.img method=ftp://192.168.106.100/centos7## 編輯完成后保存退出13、開啟服務前關閉系統核心防護及防火墻
[root@localhost pxelinux.cfg]# setenforce 0 [root@localhost pxelinux.cfg]# systemctl stop firewalld14、啟動三項服務(DHCP、TFTP、FTP)
[root@localhost pxelinux.cfg]# systemctl start dhcpd [root@localhost pxelinux.cfg]# systemctl start tftp [root@localhost pxelinux.cfg]# systemctl start vsftpd15、返回需要安裝操作系統的客戶機,單擊“開啟此虛擬機”按鈕
機器客戶機首先會通過dhcp服務獲取IP,然后通過tftp與ftp加載內核與鏡像進行安裝,稍后就會彈出安裝界面了
如果幾臺機器還好,但如果是成百上千的機器根本不可能讓人工去手動操作安裝系統,所以這個時候需要用到Kickstart(無人值守)來自動部署
16、在服務器上安裝Kickstart服務軟件
[root@localhost pxelinux.cfg]# yum -y install system-config-kickstart17、在圖形化界面左上角點擊“應用程序”按鈕,選擇“系統工具”中的Kickstart打開軟件
18、軟件界面非常簡潔,只需要簡單配置即可
①基本配置(設置默認語言、時區,勾選給root密碼加密,與安裝后重啟)
②安裝方法(單擊FTP,配置FTP服務器IP并設置FTP目錄)
③引導裝載程序選項(單擊安裝新引導裝載程序、在主引導記錄中安裝引導裝載程序)
④分區信息(根據實際需求添加分區,點擊“添加“按鈕即可)
⑤網絡配置(單擊”添加網絡設備“按鈕,輸入”ens33“)
⑥防火墻配置(請選擇禁用SELinux,是否禁用防火墻根據實際情況而定)
⑦安裝后腳本(勾選使用解釋程序,并輸入/bin/bash)
配置完成后保存文件到桌面即可
19、編輯服務器系統家目錄下的配置文件:vi anaconda-ks.cfg ,將其中安裝的所有軟件包列表復制,粘貼到剛才生成的ks.cfg配置文件中
%packages @^gnome-desktop-environment @backup-client @base @compat-libraries @core @desktop-debugging @development @dial-up @directory-client @fonts @gnome-apps @gnome-desktop @guest-agents @guest-desktop-agents @input-methods @internet-applications @internet-browser @java-platform @legacy-x @multimedia @network-file-system-client @networkmanager-submodules @office-suite @print-client @security-tools @smart-card @system-admin-tools @x11 chrony kexec-tools%end [root@localhost ~]# vim ks.cfg19、因為我們創建了用戶配置文件,所以要修改default配置文件讓其識別到ks.cfg文件
編輯default文件,在其中添加以下內容
[root@localhost pxelinux.cfg]# vi /var/lib/tftpboot/pxelinux.cfg/default添加內容: append initrd=initrd.img method=ftp://192.168.106.100/centos7 ks=ftp://192.168.106.100/ks.cfg修改完后將之前生成的ks.cfg用戶配置文件移動到ftp目錄中
[root@localhost ~]# cd 桌面/ && mv ks.cfg /var/ftp/20、重新開啟客戶機,查看是否能實現自動安裝系統
總結
- 上一篇: ·MySQL数据库管理(SQL操作命令,
- 下一篇: msyql索引用法