Cobbler:是快速網絡安裝linux操做系統的服務,支持衆多的Linux發行版:Red Hat、 Fedora、CentOS、Debian、Ubuntu和SuSE,也能夠支持網絡安裝windows。cobbler是PXE的二次封裝,將多種安裝參數封裝到一個菜單 。
cobbler是由Python編寫而且提供了CLI和Web的管理形式,相對於pxe來講大量機械性工做被程序替代,整個部署流程來講簡潔明瞭,我的操做操做致使的沒法正常部署系統的機率有了明顯的下降。linux
工做流程:
1.client配置了網絡啓動以後(如今大多數主機默認支持無需手動設置),開機後會廣播報文請求DHCP服務器(cobbler serveer)提供一個ip地址。
2.DHCP服務器(cobbler server)收到請求以後會發送response,包括爲其分配的IP地址。
3.client在獲得IP地址以後再次向cobbler服務器發送請求OS引導文件的請求。
4.cobbler server告訴client機器OS引導文件的名字和TFTP server的IP和端口。
5.client用過獲得的IP和端口,進行訪問TFTP server,請求下載引導文件。
6.client執行提供的引導文件,肯定其加載的信息,選擇要安裝的os,期間會再次向cobbler server發送請求kickstart文件和os image文件。
7.cobbler server 發送client請求的kickstart和OS image文件。
8.client 加載kickstart文件。
9.client接收os image,安裝os imageweb
配置文件目錄 vim
/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 : 模塊的配置文件
數據目錄 windows
/var/lib/cobbler/config/: 用於存放distros,system,profiles 等信息配置文件 /var/lib/cobbler/triggers/: 用於存放用戶定義的cobbler命令 /var/lib/cobbler/kickstart/: 默認存放kickstart文件 /var/lib/cobbler/loaders/: 存放各類引導程序
鏡像目錄 centos
/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 check 覈對當前設置是否有問題
cobbler list 列出全部的cobbler元素
cobbler report 列出元素的詳細信息
cobbler sync 同步配置到數據目錄,更改配置最好都要執行下
cobbler reposync 同步yum倉庫
cobbler distro 查看導入的發行版系統信息
cobbler system 查看添加的系統信息
cobbler profile 查看配置信息網絡
1.安裝cobbler,設置開機啓動,啓動服務,cobbler依賴於epel源,所以在安裝以前要先配置epel源。ide
# 安裝官方自帶的epel源,不過速度比較慢 yum install epel-release -y # 安裝cobbler yum install cobbler -y systemctl enable cobblerd systemctl start cobblerd #安裝dhcp yum install dhcp -y
2.執行cobbler check檢查當前環境存在的問題。centos7
#執行cobbler check以前要先啓動httpd不然會報錯 systemctl enable httpd systemctl starthttpd cobbler check
未啓動httpd報錯顯示
cobbler check提示
3.依次修改提示的問題,根據提示更改完成後重啓cobbler
修改/etc/cobbler/settings文件中的server參數的值爲提供cobbler服務的主機相 應的IP地址或主機名 操作系統
vim /etc/cobbler/settings
4.修改/etc/cobbler/settings文件中的next_server參數的值爲提供PXE服務的主機 相應的IP地址
5.若是當前節點能夠訪問互聯網,執行「cobbler get-loaders」命令便可;不然, 須要安裝syslinux程序包,然後複製/usr/share/syslinux/{pxelinux.0,memu.c32} 等文件至/var/lib/cobbler/loaders/目錄中
6.執行「openssl passwd -1 生成密碼,並用其替換/etc/cobbler/settings文件中 default_password_crypted參數的值 (這裏爲了省事密碼設爲了123456)
7.在settings文件中查找manage_dhcp 設置字段爲1,使用cobbler管理dhcp
8.修改cobbler的dhcp配置模板
vim /etc/cobbler/dhcp.template
9.重啓cobbler服務,執行cobbler sync同步
systemctl restart cobblerd cobbler sync
10.導入包環境
#掛載光盤到media mount /dev/sr0 /media cobbler import --name=centos-7.5-x86_64 --path=/media --arch=x86_64 umount /dev/sr0 #更換6.9系統以後再次掛載 mount /dev/sr0 /media cobbler import --name=centos-6.9-x86_64 --path=/media --arch=x86_64
這裏的i386只是個空的菜單,cobbler默認是最小化安裝,它的模板文件在/var/lib/cobbler/kickstarts/sample_end.ks
11.若是想使用本身定義的ks文件也能夠將文件放入/var/lib/cobbler/kickstarts/目錄下以後使用指令添加(要注意自定義的ks文件中http路徑要改了$tree繼承cobbler的路徑便可)
cp centos6-mini.cfg centos7-mini.cfg /var/lib/cobbler/kickstarts/ #這裏的ks文件是以前生成的這裏僅僅作添加演示 cobbler profile add --name=centos6.9-mini --distro=centos-6.9-x86_64 --kickstart=/var/lib/cobbler/kickstarts/centos6-mini.cfg cobbler profile add --name=centos7.5-mini --distro=centos-7.5-x86_64 --kickstart=/var/lib/cobbler/kickstarts/centos7-mini.cfg #驗證 cobbler profile list
12.到這裏爲止基本構建完畢,接下來重啓各類服務
systemctl restart cobblerd cobbler sync #能夠選擇不一樣步也行 systemctl restart tftp #若是是6系統使用xinetd調用 systemctl restart httpd
驗證端口
ss -tunlp
將cobbler主機和2臺空白機器置於同一物理網絡中開啓空白機器等待
一臺選擇centos6一臺選擇centos7安裝,(後添加的ks選項也是最小安裝,這裏就不選了,就按照默認選項執行安裝)
開始安裝
等待安裝完成便可
centos6.9 部署完成
centos7 部署完成
安裝web界面
yum install cobbler-web
認證方式
認證方法配置文件:/etc/cobbler/modules.conf
支持多種認證方法:
authn_configfile authn_pam
vim /etc/cobbler/modules.conf [authentication] module=authn_configfile
建立其認證文件/etc/cobbler/users.digest,並添加所需的用戶
htdigest -c /etc/cobbler/users.digest Cobbler admin
重啓cobbler服務和httpd
經過https://cobblerserver/cobbler_web訪問
注意:添加第一個用戶時,使用「-c」選項,後續添加其餘用戶時不要再使 用,cobbler_web的realm只能爲Cobbler
vim /etc/cobbler/modules.conf [authentication] module = authn_pam
建立cobbler用戶:
useradd cobbler echo 123 | passwd --stdin cobbler vim /etc/cobbler/users.conf [admins] admin = "cobbler「
Web訪問cobbler
重啓cobblerd服務
經過https://cobblerserver/cobbler_web訪問