首頁 > 軟體

PXE kickstart自動化部署系統安裝

2022-03-19 19:00:13

準備環境

系統: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自動化部署的資料請關注it145.com其它相關文章!


IT145.com E-mail:sddin#qq.com