2025-04-23
目錄
  • 準備環境
    • 第一步:安裝DHCP服務
    • 第二步:安裝tftp服務
    • 第三步:安裝Apache網站服務
    • 第四步:編寫ks档案
    • 第五步:創建客戶機,測試安裝

準備環境

系統:centos7.4.1708

ip地址:eth0:192.168.10.31;eth1:172.16.1.31(可以使用單網卡)

防火墻:關閉

selinux:關閉

工具需求:dhcp;tftp;syslinux;apache;pykickstart

第一步:安裝DHCP服務

安裝服務:

[root@kickstart ~]# yum -y install dhcp

查看服務是否存在:

[root@kickstart ~]# rpm -qa dhcp
dhcp-4.2.5-68.el7.centos.1.x86_64

配置dhcp配置档案:

[root@kickstart ~]# cat >>/etc/dhcp/dhcpd.conf <<EOF
> subnet 192.168.10.0 netmask 255.255.255.0 {
> range 192.168.10.50 192.168.10.100;
> option subnet-mask 255.255.255.0;
> default-lease-time 21600;
> max-lease-time 43200;
> next-server 192.168.10.31;
> filename "/pxelinux.0";
> }
> EOF

啟動dhcp服務:

[root@kickstart ~]# systemctl start dhcpd.service

查看狀態:

[root@kickstart ~]# ss -utpln | grep dhcpd

udp    UNCONN     0      0         *:67                    *:*                   users:(("dhcpd",pid=1643,fd=7))

第二步:安裝tftp服務

安裝服務:

[root@kickstart ~]# yum -y install tftp-server

啟動tftp服務:

[root@kickstart ~]# systemctl start tftp.socket

安裝syslinux:不安裝則找不到啟動档案pxelinux.0

[root@kickstart ~]# yum -y install syslinux

查找pxelinux.0档案的位置:

[root@kickstart ~]# rpm -ql syslinux | grep pxelinux.0
/usr/share/syslinux/gpxelinux.0
/usr/share/syslinux/pxelinux.0

復制pxelinux.0档案到tftp根目錄

[root@kickstart ~]# cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/

創建光盤掛載目錄並掛載光盤:

[root@kickstart ~]# mkdir -p /var/www/html/centos7
[root@kickstart ~]# mount /dev/cdrom /var/www/html/centos7/
mount: /dev/sr0 is write-protected, mounting read-only

將光盤中isolinux下所有內容復制到tftp下:

[root@kickstart ~]# cp /var/www/html/centos7/isolinux/* /var/lib/tftpboot/

創建pxe配置档案存放目錄:

[root@kickstart ~]# mkdir -p /var/lib/tftpboot/pxelinux.cfg

並將光盤中的pxe配置档案復制到新創建的目錄中:

[root@kickstart ~]# cp /var/www/html/centos7/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default

進入到目錄中,將默認的配置档案進行備份:

[root@kickstart ~]# mkdir -p /var/www/html/centos7
[root@kickstart ~]# mount /dev/cdrom /var/www/html/centos7/
mount: /dev/sr0 is write-protected, mounting read-only

修改default档案:

[root@kickstart pxelinux.cfg]# vim default

(個人喜好,清空配置档案,編寫簡略版配置。清空光標後內容快捷鍵:dG)
配置档案如下:

[root@kickstart pxelinux.cfg]# cat default
#yyang centos7 ks install
default yyang-ks
timeout 5
prompt 0
label yyang-ks
  kernel vmlinuz
  append initrd=initrd.img inst.ks=http://192.168.10.31/ks_config/ks.cfg ksdevice=eth0 net.ifnames=0 biosdevname=0

(註:net.ifnames=0 biosdevname=0是把7版本的網卡換成eth名稱)

第三步:安裝Apache網站服務

安裝服務:

[root@kickstart ~]# yum -y install httpd

啟動服務;

[root@kickstart ~]# systemctl start httpd.service 

查看狀態:

[root@kickstart ~]# ss -utpln | grep httpd
tcp    LISTEN     0      128      :::80                   :::*                   users:(("httpd",pid=2396,fd=4),("httpd",pid=2395,fd=4),("httpd",pid=2394,fd=4),("httpd",pid=2393,fd=4),("httpd",pid=2392,fd=4),("httpd",pid=2391,fd=4))

登錄測試:http://192.168.10.31/centos7

看到以上內容說明網站服務配置成功

第四步:編寫ks档案

(ks档案內容可參考anaconda-ks.cfg档案)
創建ks档案存放目錄:

[root@kickstart ~]# mkdir -p /var/www/html/ks_config

進入目錄,編寫ks档案:

[root@kickstart ~]# cd /var/www/html/ks_config/
[root@kickstart ks_config]# vim ks.cfg

档案內容如下:(档案為參考anaconda-ks.cfg档案的簡略編寫版)

[root@kickstart ks_config]# cat ks.cfg 
#kickstart config for centos7 by yyang
lang en_US
keyboard us
timezone Asia/Shanghai
rootpw 123123
text
install
auth --enableshadow --passalgo=sha512
url --url="http://192.168.10.31/centos7"
bootloader --location=mbr
zerombr
clearpart --all --initlabel
part /boot --fstype xfs --size 1024 --ondisk sda
part swap --size 2048 --ondisk sda
part / --fstype xfs --size 1 --grow --ondisk sda
auth --useshadow --enablemd5
network --bootproto=dhcp --device=eth0 --onboot=on --ip=192.168.10.50 --netmask=255.255.255.0 --gateway=192.168.10.254 --nameserver=192.168.10.254 --hostname=yyang
network --bootproto=static --device=eth1 --onboot=on --ip=172.16.1.50 --netmask=255.255.255.0
reboot
firewall --disabled
selinux --disabled
skipx
%packages
@compat-libraries
@debugging
@development
vim
wget
tree
nmap
lrzsz
dos2unix
telnet
bash-completion
%end

安裝ks档案檢查工具:

[root@kickstart ks_config]# yum -y install pykickstart

檢查ks档案是否正確:

[root@kickstart ks_config]# ksvalidator ks.cfg

(不顯示任何內容代表正確)

第五步:創建客戶機,測試安裝

(註:新建虛擬機內存不低於2G)
(註:本人使用雙網卡,且內網網卡使用的LAN區段,實驗可隻用一塊網卡即可)

(出現這個頁面,基本安裝就不會出現什麼問題瞭)

在這裡插入圖片描述

出現登錄界面,安裝成功

以上就是PXE kickstart自動化部署系統安裝的詳細內容,更多關於PXE kickstart自動化部署的資料請關註其它相關文章!

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *