cobbler:
快速安裝linux操做系統的服務,支持衆多的Linux發行版:Red Hat、Fedora、Centos、Debian、Ubuntu和SuSE,同時也支持網絡安裝windows
PXE的二次封裝,將多種安裝參數封裝到一個菜單,使用Python編寫,提供了CLI和Web管理形式 python
系統:centos7.10 1810
cobbler 基於epel源,先打開epel源,使用1804版本的epel,較新版本會有問題(本次實驗進行的時候) linux
yum install cobbler 安裝cobbler時會自動安裝tftp,http這兩個服務以及相關的其餘工具包,但不會安裝dhcp服務,實現cobbler還須要dhcp服務,手動安裝
yum install dhcp git
開啓除了dhcp外的全部服務並設置爲開機啓動(實際工做中)。tftp、http、cobbler
systemctl start tftp httpd cobblerd
systemctl enable tftp httpd dhcpd cobblerd
使用cobbler check命令檢查cobbler的相關配置,並根據提示逐個修改成正確配置 github
修改/etc/cobbler/settings進行配置 web
第101行「default_password_crypted:」爲cobbler密碼,默認爲cobbler(此密碼爲系統密碼),用MD5加密,將新密碼加密後覆蓋原來的加密密碼
第242行 「manage_dhcp: 0」 將0改成1 自動配置dhcp
第272行「next_server: 127.0.0.1」爲tftp服務器地址,修改成正確的tftp服務器地址。能夠是本機地址,也能夠是同網絡中的tftp服務器地址
第384行「server: 127.0.0.1」爲cobbler服務器的地址,修改成本機地址 shell
運行cobbler get-loader自動安裝cobbler須要的文件,如pxelinux,syslinux等 vim
[root@CentOS7 yum.repos.d]#cobbler get-loaders task started: 2019-04-21_175857_get_loaders task started (id=Download Bootloader Content, time=Sun Apr 21 17:58:57 2019) downloading https://cobbler.github.io/loaders/README to /var/lib/cobbler/loaders/README downloading https://cobbler.github.io/loaders/COPYING.elilo to /var/lib/cobbler/loaders/COPYING.elilo downloading https://cobbler.github.io/loaders/COPYING.yaboot to /var/lib/cobbler/loaders/COPYING.yaboot downloading https://cobbler.github.io/loaders/COPYING.syslinux to /var/lib/cobbler/loaders/COPYING.sysl downloading https://cobbler.github.io/loaders/elilo-3.8-ia64.efi to /var/lib/cobbler/loaders/elilo-ia64 downloading https://cobbler.github.io/loaders/yaboot-1.3.17 to /var/lib/cobbler/loaders/yaboot downloading https://cobbler.github.io/loaders/pxelinux.0-3.86 to /var/lib/cobbler/loaders/pxelinux.0 downloading https://cobbler.github.io/loaders/menu.c32-3.86 to /var/lib/cobbler/loaders/menu.c32 downloading https://cobbler.github.io/loaders/grub-0.97-x86.efi to /var/lib/cobbler/loaders/grub-x86.ef downloading https://cobbler.github.io/loaders/grub-0.97-x86_64.efi to /var/lib/cobbler/loaders/grub-x86 *** TASK COMPLETE ***
修改完成後運行cobbler sync更新配置 windows
[root@CentOS7 yum.repos.d]#cobbler sync task started: 2019-04-21_181905_sync task started (id=Sync, time=Sun Apr 21 18:19:05 2019) running pre-sync triggers cleaning trees removing: /var/lib/tftpboot/grub/images copying bootloaders trying hardlink /var/lib/cobbler/loaders/pxelinux.0 -> /var/lib/tftpboot/pxelinux.0 trying hardlink /var/lib/cobbler/loaders/menu.c32 -> /var/lib/tftpboot/menu.c32 trying hardlink /var/lib/cobbler/loaders/yaboot -> /var/lib/tftpboot/yaboot trying hardlink /usr/share/syslinux/memdisk -> /var/lib/tftpboot/memdisk trying hardlink /var/lib/cobbler/loaders/grub-x86.efi -> /var/lib/tftpboot/grub/grub-x86.efi trying hardlink /var/lib/cobbler/loaders/grub-x86_64.efi -> /var/lib/tftpboot/grub/grub-x86_64.efi copying distros to tftpboot copying images generating PXE configuration files generating PXE menu structure rendering TFTPD files generating /etc/xinetd.d/tftp cleaning link caches running post-sync triggers running python triggers from /var/lib/cobbler/triggers/sync/post/* running python trigger cobbler.modules.sync_post_restart_services running shell triggers from /var/lib/cobbler/triggers/sync/post/* running python triggers from /var/lib/cobbler/triggers/change/* running python trigger cobbler.modules.scm_track running shell triggers from /var/lib/cobbler/triggers/change/* *** TASK COMPLETE ***
重啓cobbler服務,再次運行cobbler check檢查,如提示以下三行,能夠不用管了 centos
[root@CentOS7 yum.repos.d]#cobbler check The following are potential configuration items that you may want to fix: 1 : enable and start rsyncd.service with systemctl 2 : debmirror package is not installed, it will be required to manage debian deployments and repositories 3 : fencing tools were not found, and are required to use the (optional) power management features. install cman or fence-agents to use them Restart cobblerd and then run 'cobbler sync' to apply changes.
運行vim /etc/cobbler/dhcp.template 編輯DHCP模板文件,設置DHCP服務
根據實際狀況設置圖片中的幾項就能夠
運行 cobbler sync 更新配置,由於前面將配置文件第242行 「manage_dhcp: 0」 的0改成1,因此會自動更新dhcp服務的配置文件 瀏覽器
將安裝源文件拷貝到相應的目錄(/var/www/cobbler/ks_mirror/)中。實驗中用的光盤iso文件,已將光盤掛載到/mnt目錄下
運行cobbler improt --path=/mnt --name=Centos-7.6 --arch=x86_64(CPU架構) 開始自動拷貝文件,時間長短看拷貝文件的大小
拷貝完成後運行下面的命令可查看不一樣的信息:
cobbler profile list 查看啓動菜單項(ks文件和源文件的關聯) cobbler distro list 查看安裝源文件
關聯自定義ks文件,修改ks文件中的設置
將自定義的應答文件拷貝到/var/lib/cobbler/kickstarts目錄下,並將文件權限修改成644
cobbler profile add --name=Centos-7.6-x86_64_mini --distro=Centos7.6_mini-x86_64 --kickstart=/var/lib/cobbler/kickstarts/ks7_mini.cfg
--name爲顯示在啓動菜單中的名字
--distro爲安裝源文件名字(使用cobbler distro list查看)
--kickstart爲與源文件關聯的ks文件路徑
刪除不符合要求的菜單
cobbler profile remove --name=Centos7.6_mini-x86_64
到此已經完成cobbler的設置,測試用一臺機器經過網卡啓動找到服務器,選擇想要安裝的系統
若是有什麼服務不能用,重啓後測試
cobbler 能夠經過web界面設置
yum install cobbler-web
從新啓動HTTPD服務
systemctl restart httpd
經過瀏覽器訪問:https://ip/cobbler_web 來管理cobbler服務
用戶名cobbler,默認密碼爲cobbler
用戶名密碼保存在/etc/cobbler/users.digest 中經過cat命令能夠查看
按照下面格式添用戶名:其中cobbler1爲新添加的用戶名,輸入兩次新密碼
[root@CentOS7 ~]#htdigest -c /etc/cobbler/users.digest Cobbler cobbler1 Adding user cobbler1 in realm Cobbler New password: Re-type new password:
參數 -c 表示刪除已有的第一個用戶並新建cobbler1 用於第一次設置用戶時使用,後續添加能夠不用「-c」
vim /etc/cobbler/modules.conf
修改23行
將module = authn_configfile 修改成moudle = authn_pam
建立cobbler 用戶: useradd cobbler2 並設置密碼 echo xxx | passwd --stdin cobbler2
能夠將cobbler2用戶的shell 設置爲/sbin/nologin
vim /etc/cobbler/users.conf
修改admin = "" 爲admin = "cobbler2"
重啓cobbler服務,用cobbler2訪問web頁面
兩種方式在用戶不能同時使用,一種生效,別一種就沒法登陸web頁面