首頁 > 軟體

PXE+Kickstart實現批次化無人值守安裝

2020-06-16 17:12:22

PXE+Kickstart工作概述

1、網絡卡上的pxe晶片有512位元組,存放了DHCP和TFTP的用戶端。
2、啟動計算機選擇網絡卡啟動。
3、pxe上的DHCP用戶端會向DHCP伺服器,申請IP
4、DHCP伺服器分配給它IP地址的同時通過以下欄位,告訴pxe,TFTP的地址和它要下載的檔案
如:next-server  xxx.xxx.xxx.xxx
filename "pxelinux.0"
5、pxelinux.0告訴pxe要下載的組態檔是pxelinux.cfg目錄下面的default
6、pxe下載並依據組態檔的內容下載啟動必須的檔案,並通過ks.cfg開始系統安裝。

----------------------------------------
cobbler功能
使用一個以前定義的模板來設定DHCP服務(如果啟用了管理DHCP)
將一個儲存庫(yum或rsync)建立映象或者解壓縮一個媒介,以註冊一個新作業系統
在DHCP組態檔中為需要安裝的機器建立一個條目,並 使用你指定的引數(IP和Mac地址)
在TFTP服務目錄下建立適當的pxe檔案
重新啟動DHCP服務以反映更改
重新啟動機器以開始安裝(如果電源管理已啟用)

1、安裝yum源
[root@localhost ~]# rpm -ivh http://mirrors.aliyun.com/epel/epel-release-latest-7.noarch.rpm

2、安裝對應的服務
[root@localhost yum.repos.d]# yum -y install ncurses-devel  gcc  gcc-c++
[root@localhost yum.repos.d]# yum install -y httpd dhcp tftp cobbler cobbler-web pykickstart
[root@localhost httpd]# yum install cobbler dhcp xinetd fence-agents pykickstart ed patch perl perl-Compress-Zlib perl-Digest-SHA perl-LockFile-Simple perl-libwww-perl

3、進入目錄
[root@localhost yum.repos.d]# cd /etc/httpd/conf.d/

4、啟動系統服務
[root@localhost httpd]# systemctl start httpd
[root@localhost httpd]# systemctl start cobblerd

5、檢視埠
[root@localhost httpd]# ss -ntlp

6、關閉防火牆
[root@localhost httpd]# iptables -F
[root@localhost httpd]# iptables -t nat -F
[root@localhost httpd]# systemctl stop firewalld

7、去掉提示
[root@localhost httpd]# echo "unset MAILCHECK">> /etc/profile


wKiom1lBXYXheMw9AAAh61GLx50937.png

8、修改防火牆

wKioL1lBXaSgIVMSAAB2gQNVLMA005.png-wh_50

9、執行命令cobbler check
根據提示修改組態檔
[root@localhost httpd]# vi /etc/cobbler/settings

wKioL1lBXgryjwWaAAA7IbBVexs769.png-wh_50
wKiom1lBXj7girqhAAAr22xMIvI918.png-wh_50

vi  小技巧
當前游標刪除到行尾 直接大 D
修改第二個組態檔
[root@localhost httpd]# vim /etc/xinetd.d/tftp

啟動rsyncd服務
[root@localhost httpd]# systemctl start rsyncd

10、執行命令下載網路安裝檔案
[root@localhost httpd]# cobbler get-loaders

11、設定密碼
[root@localhost httpd]# openssl passwd -1 -salt 'cobler' 'qq******'
會生成一串隨機密碼                                           

修改組態檔
[root@localhost httpd]# vi /etc/cobbler/settings
將密碼替換成隨機生成的密碼串,替換引號部分,注意隨機密碼串,生成的全部都是密碼

11、重新啟動服務
[root@localhost httpd]# systemctl restart cobblerd
[root@localhost httpd]# cobbler check

12、修改DHCP引數
[root@localhost httpd]# vi /etc/cobbler/settings

13、修改dhcp模板組態檔
[root@localhost httpd]# vim /etc/cobbler/dhcp.template

重新啟動服務
[root@localhost httpd]# systemctl restart cobblerd
[root@localhost httpd]# cobbler sync
系統自動生成DHCP

14、執行掛載映象
[root@localhost httpd]# mount /dev/cdrom /mnt/
mount: /dev/sr0 is write-protected, mounting read-only

15、自動匯入映象
[root@localhost httpd]# cobbler import --path=/mnt/ --name=CentOS-7-x86_64 --arch=x86_64
映象會匯入到這個目錄下
[root@localhost ~]# cd /var/www/cobbler/ks_mirror/
[root@localhost ks_mirror]# ls
Centos-7-x86_64  config
[root@localhost ks_mirror]#
匯入完成

執行解除安裝,切換映象,然後在匯入一個centos6的系統

檢視 cobbler命令
[root@localhost httpd]# cobbler profile
檢視映象列表
[root@localhost httpd]# cobbler profile list

自定義kickstart檔案
[root@localhost kickstarts]# cobbler profile edit --name=Centos-7-x86_64 --kickstart=/var/lib/cobbler/kickstarts/centos-7-x86_64.cfg
[root@localhost kickstarts]# vi centos-7-x86_64.cfg  ##組態檔內容


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