本節索引:
一、cobbler簡介
二、實驗:模擬搭建cobbler服務器,實現cobbler自動化安裝系統
三、實驗:實現基于web的cobbler
一、cobbler簡介:
cobbler
功能:用來快速建立 Linux 網絡安裝環境
特性:
1.基于PXE的二次封裝,將多種安裝參數封裝到一個菜單,更加方便,自動化
2.Python編寫
3.支持UEFI+GPT
cobbler工作流程:
1.client裸機配置了從網絡啟動后,開機后會廣播包請求DHCP服務器(cobbler server)
發送其分配好的一個IP
2.DHCP服務器(cobbler server)收到請求后發送responese,包括其ip地址
3.client裸機拿到ip后再向cobbler server發送請求OS引導文件的請求
4.cobbler server告訴裸機OS引導文件的名字和TFTP server的ip和port
5.client裸機通過上面告知的TFTP server地址通信,下載引導文件
6.client裸機執行執行該引導文件,確定加載信息,選擇要安裝的os,期間會再向
cobbler server請求kickstart文件和os image
7.cobbler server發送請求的kickstart和os iamge
8.client裸機加載kickstart文件
9.client裸機接收os image,安裝該os image
cobbler介紹:
安裝包:
系統默認未安裝,需手動安裝(epel源)
cobbler服務集成:
PXE
???????? DHCP
???????? rsync
???????? Http
???????? DNS
???????? Kickstart
???????? IPMI 電源管理
檢查cobbler環境:
cobbler check
1)指定server地址
2)指定tftp服務器地址
3)需要關閉SELinux
4)使用cobbler get-loaders下載必要文件
5)rsync服務,忽略不做
6)忽略不做
7)要求debian框架下安裝debmirror包,忽略不做
8)要求加密口令
9)集群與電源相關
cobbler相關術語:
發行版:
表示一個操作系統版本,它承載了內核和 initrd 的信息,以及內核參數等其他數據
配置文件:
包含一個發行版、一個 kickstart 文件以及可能的存儲庫,還包含更多特定的內核參
數等其他數據
系統:
表示要配置的主機,它包含一個配置文件或一個鏡像,還包含 IP 和 MAC 地址、電源
管理(地址、憑據、類型)以及更為專業的數據等信息
存儲庫:
保存一個 yum 或 rsync 存儲庫的鏡像信息
鏡像:
可替換一個包含不屬于此類別的文件的發行版對象(例如,無法分為內核和 initrd 的
對象)
相關配置文件:
配置文件目錄 /etc/cobbler
/etc/cobbler/settings : cobbler 主配置文件
/etc/cobbler/iso/: iso模板配置文件
/etc/cobbler/pxe: pxe模板文件
/etc/cobbler/power: 電源配置文件
/etc/cobbler/user.conf: web服務授權配置文件
/etc/cobbler/users.digest: web訪問的用戶名密碼配置文件
/etc/cobbler/dhcp.template : dhcp服務器的的配置末班
/etc/cobbler/dnsmasq.template : dns服務器的配置模板
/etc/cobbler/tftpd.template : tftp服務的配置模板
/etc/cobbler/modules.conf : 模塊的配置文件
數據目錄
/var/lib/cobbler/config/: 用于存放distros,system,profiles 等信息配置文件
/var/lib/cobbler/triggers/: 用于存放用戶定義的cobbler命令
/var/lib/cobbler/kickstart/: 默認存放kickstart文件
/var/lib/cobbler/loaders/: 存放各種引導程序
鏡像目錄
/var/www/cobbler/ks_mirror/: 導入的發行版系統的所有數據
/var/www/cobbler/images/ : 導入發行版的kernel和initrd鏡像用于遠程網絡啟動
/var/www/cobbler/repo_mirror/: yum 倉庫存儲目錄
日志目錄
/var/log/cobbler/installing: 客戶端安裝日志
/var/log/cobbler/cobbler.log : cobbler日志
cobbler命令:
cobbler commands???????? 介紹
cobbler check ??????????????? 核對當前設置是否有問題
cobbler list ???????????? 列出所有的cobbler元素
cobbler report ?????????????? 列出元素的詳細信息
cobbler sync ????????? 同步配置到數據目錄,更改配置最好都要執行下
cobbler reposync ? 同步yum倉庫
cobbler distro ??????????????? 查看導入的發行版系統信息
cobbler system ????????????? 查看添加的系統信息
cobbler profile ????? 查看配置信息
二、實驗:模擬搭建cobbler服務器,實現cobbler自動化安裝系統
1.開啟各類服務
systemctl enable cobblerd dhcpd httpd tftp
systemctl start cobblerd httpd tftp
2.檢查
cobbler check
3.指定cobbler服務器地址:
養成好習慣,記得備份
vim /etc/cobbler/settings(備份)
server:192.168.30.10????????????? line384
4.重啟服務
systemctl restart cobblerd
5.指定tftp服務器
next_server:192.168.30.10??? line272
6.關閉SELinux
7.下載必要文件
cobbler get-loaders
8.同步必要文件到/var/lib/tftpboot目錄
cobbler sync
同步后的目錄結構如下:
9.加密口令替換setting文件中的默認口令
#openssl passwd -1??????????????????????????????????????????? 交互式生成加密口令
default_password_crytped??? line101
10.使用cobbler自動配置dhcp服務器
manage_dhcp:1?????????????????????? line242
11.重啟cobbler服務
systemctl restart cobblerd
12.修改DHCP默認配置文件
vim /etc/cobbler/dhcp.template
subnet 192.168.30.0 netmask 255.255.255.0
range dynamic-bootp 192.168.30.10 192.168.30.200;???????????????? 按需修改
13.同步dhcp設置
cobbler sync
14.確保dhcp服務已啟動(67端口)
ss -ntlu
15.重啟httpd cobbler服務
systemctl restart httpd cobblerd
16.掛載6,7磁盤
mount /dev/sr0 /mnt/cdrom0
mount /dev/sr1 /mnt/cdrom1
17.光盤導入
cobbler import –path=/mnt/cdrom0/? –name=CentOS-6.9-x86_64 –arch=x86_64
cobbler import –path=/mnt/cdrom1/? –name=CentOS-7.4-x86_64 –arch=x86_64
18.光盤導入完成后會自動生成對應版本最小化安裝應答文件
cobbler distro list?????????????????????????????????????? 列出有幾套系統
CentOS-6.9-x86_64
CentOS-7.4-x86_64
cobbler profile list???????????????????????????????????? 列出有幾套應答文件配置
CentOS-6.9-i386
CentOS-6.9-x86_64
CentOS-7.4-x86_6
19.可以刪除不需要的應答文件
cobbler profile remove –name=CentOS-6.9-i386?
cobbler distro remove –name=CentOS-6.9-i386
20.關聯自己的應答文件
修改應答文件路徑:
vim ks.cfg
url? –url=$tree?????????????? 修改路徑(必要)
放置對應目錄下:
cp ks6_mini.cfg? /var/lib/cobbler/kickstarts/
cp ks7_desktop.cfg? /var/lib/cobbler/kickstarts/
cobbler profile add? –name=CentOS-6.9-x86_64_Mini? –distro=CentOS-6.9-x86_64
–kickstart=/var/lib/cobbler/kickstarts/ks6_mini.cfg
cobbler profile add? –name=CentOS-7.4-x86_64_Desktop? –distro=CentOS-7.4-x86_64
–kickstart=/var/lib/cobbler/kickstarts/ks7_desktop.cfg
21.安裝測試,新開一臺虛擬機,網卡設置為僅主機
三、實驗:實現基于web的cobbler
前期準備:cobbler-web安裝包,epel源
服務器:CentOS7:192.168.30.10
1.yum install cobbler-web
2.重啟httpd服務
systemctl restart httpd
3.測試cobbler網頁
https://192.168.30.10/cobbler_web/
4.添加cobbler管理員賬戶
/etc/cobbler/modules.conf?? 定義了管理員賬戶的添加方式
可以看到默認認證方式定義在/etc/cobbler/users.digest文件中
方法一:默認方式
創建用戶test1
htdigest -c /etc/cobbler.users.digest? Cobbler test1
要求輸入口令
使用test1賬戶登錄:登錄成功:
就可以在頁面上更改cobbler配置了
方法二:pam模塊驗證方法
module = authn_pam
cat /etc/cobbler/users.conf
useradd -s? /sbin/nologin? test2
echo magedu | passwd? –sdtin test2
vim /etc/cobbler/users.conf
[admins]
admin = test2
重啟cobbler服務
systemctl restart cobblerd
使用test2賬戶登錄:登錄成功
本文來自投稿,不代表Linux運維部落立場,如若轉載,請注明出處:http://www.www58058.com/99442