運維自動化部署COBBLER
1.運維自動化發展歷程及技術應用
2.安裝程式 CentOS系統安裝 系統啟動流程: bootloader–>kernel(initramfs)–>rootfs–>/sbin/init anaconda: 系統安裝程式 gui:圖形視窗 tui: 基於圖形庫curses的文字視窗
3.安裝程式啟動過程 MBR:isolinux/boot.cat stage2: isolinux/isolinux.bin 配置檔案:isolinux/isolinux.cfg 每個對應的選單選項: 載入核心:isolinuz/vmlinuz 向核心傳遞引數:append initrd=initrd.img … 裝載根檔案系統,並啟動anaconda 預設啟動GUI介面 若是顯式指定使用TUI介面:向核心傳遞text引數即可 (1)按tab鍵,在後面增加text (2)按ESC鍵:boot: linux text
4.anaconda工作過程 Anaconda安裝系統分成三個階段: 安裝前配置階段 安裝過程使用的語言 鍵盤型別 安裝目標儲存裝置 Basic Storage:本地磁碟 特殊裝置:iSCSI 設定主機名 配置網路介面 時區 管理員密碼 設定分割槽方式及MBR的安裝位置 建立一個普通使用者 選定要安裝的程式包
anaconda工作過程 安裝階段 在目標磁碟建立分割槽,執行格式化操作等 將選定的程式包安裝至目標位置 安裝bootloader和initramfs 圖形模式首次啟動 iptables selinux core dump
5.系統安裝 啟動安裝過程一般應位於引導裝置;後續的anaconda及其安裝用到的程式包等可來自下面幾種方式: 本地光碟 本地硬碟 NFS URL: ftp server: yum repository http server: yum repostory 如果想手動指定安裝源:啟動的時候按ESC,然後輸入: boot: linux askmethod
指定安裝源
centos6
DVD drive repo=cdrom :device
Hard Drive repo=hd:device/path
HTTP Server repo=http://host/path
HTTPS Server repo=https://host/path
FTP Server repo=ftp://username:[email protected] host/path
NFS Server repo=nfs:server:/path
ISO images on an NFS Server repo=nfsiso:server:/path
centos7
Any CD/DVD drive inst.repo=cdrom
Hard Drive inst.repo=hd:device:/path
HTTP Server inst.repo=http://host/path
HTTPS Server inst.repo=https://host/path
FTP Server inst.repo=ftp://username:
anaconda的配置方式:(應答檔案的配置) (1) 互動式配置方式 (2) 通過讀取事先給定的配置檔案自動完成配置 按特定語法給出的配置選項 kickstart檔案
安裝boot引導選項:boot: text: 文字安裝方式 askmethod: 手動指定使用的安裝方法 與網路相關的引導選項: ip=IPADDR netmask=MASK gateway=GW dns=DNS_SERVER_IP ifname=NAME:MAC_ADDR 與遠端訪問功能相關的引導選項: vnc vncpassword=‘PASSWORD’
指明kickstart檔案的位置: ks= DVD drive: ks=cdrom:/PATH/TO/KICKSTART_FILE Hard drive: ks=hd:device:/directory/KICKSTART_FILE HTTP server: ks=http://host:port/path/to/KICKSTART_FILE FTP server: ks=ftp://host:port/path/to/KICKSTART_FILE HTTPS server: ks=https://host:port/path/to/KICKSTART_FILE NFS server:ks=nfs:host:/path/to/KICKSTART_FILE 啟動緊急救援模式: rescue 官方文件:《Installation Guide》
6.kickstart檔案的格式 命令段:指明各種安裝前配置,如鍵盤型別等 程式包段:指明要安裝的程式包組或程式包,不安裝的程式包等 %packages @group_name package -package %end 指令碼段: %pre: 安裝前指令碼 執行環境:運行於安裝介質上的微型Linux環境 %post: 安裝後腳本 執行環境:安裝完成的系統
命令段中的命令: 必備命令 authconfig: 認證方式配置 authconfig --useshadow --passalgo=sha512 bootloader:bootloader的安裝位置及相關配置 bootloader --location=mbr --driveorder=sda – append=“crashkernel=auto rhgb quiet” keyboard: 設定鍵盤型別 lang: 語言型別 part: 建立分割槽 rootpw: 指明root的密碼 timezone: 時區
可選命令 install OR upgrade text: 文字安裝介面 network firewall selinux halt poweroff reboot repo user:安裝完成後為系統建立新使用者 url: 指明安裝源 key –skip 跳過安裝號碼,適用於rhel版本
7.建立kickstart檔案的方式 直接手動編輯 依據某模板修改 可使用建立工具:system-config-kickstart 依據某模板修改並生成新配置 /root/anaconda-ks.cfg 檢查ks檔案的語法錯誤:ksvalidator ksvalidator /PATH/TO/KICKSTART_FILE
8.系統光碟中isolinux目錄列表 isolinux.bin:光碟載入程式,在mkisofs的選項中需要明確給出檔案路徑,這個檔案屬於SYSLINUX專案 isolinux.cfg:isolinux.bin的配置檔案,當光碟啟動後(即執行isolinux.bin),會自動去找isolinux.cfg檔案 vesamenu.c32:是光碟啟動後的安裝圖形介面,也屬於SYSLINUX專案,menu.c32版本是純文字的選單 Memtest:記憶體檢測,這是一個獨立的程式 splash.jgp:光碟啟動介面的背景圖 vmlinuz是核心映像 initrd.img是ramfs (先cpio,再gzip壓縮)
製作引導光碟和U盤 建立引導光碟: mkdir –pv /app/myiso cp -r /misc/cd/isolinux/ /app/myiso/ vim /app/myiso/isolinux/isolinux.cfg initrd=initrd.img text ks=cdrom:/myks.cfg cp /root/myks.cfg /app/myiso/ mkisofs -R -J -T -v --no-emul-boot --boot-load-size 4 --boot-info-table -V “CentOS 6.9 x86_64 boot” -b isolinux/isolinux.bin -c isolinux/boot.cat -o /root/boot.iso /app/myiso/ 注意:以上相對路徑都是相對於光碟的根,和工作目錄無關 建立U盤啟動盤 dd if=/dev/sr0 of=/dev/sdb
mkisofs選項 -o 指定映像檔案的名稱。 -b 指定在製作可開機光碟時所需的開機映像檔案。 -c 製作可開機光碟時,會將開機映像檔案中的 no-eltorito-catalog 全部內容作成一個檔案。 -no-emul-boot 非模擬模式啟動。 -boot-load-size 4 設定載入部分的數量 -boot-info-table 在啟動的影象中現實資訊 -R 或 -rock 使用 Rock RidgeExtensions -J 或 -joliet 使用 Joliet 格式的目錄與檔名稱 -v 或 -verbose 執行時顯示詳細的資訊 -T 或 -translation-table 建立檔名的轉換表,適用於不支援 Rock Ridge Extensions 的系統上
9.DHCP服務 網路配置 靜態指定 動態獲取: bootp:boot protocol MAC與IP一一靜態對應 dhcp:增強的bootp,動態 DHCP: (Dynamic Host Configuration Protocol) 動態主機配置協議 區域網協議,UDP協議 主要用途: 用於內部網路和網路服務供應商自動分配IP地址給使用者 用於內部網路管理員作為對所有電腦作集中管理的手段 使用場景 自動化安裝系統 解決IPV4資源不足問題
DHCP服務 DHCP共有八種報文 DHCP DISCOVER:客戶端到伺服器 DHCP OFFER :伺服器到客戶端 DHCP REQUEST:客戶端到伺服器 DHCP ACK :伺服器到客戶端 DHCP NAK:伺服器到客戶端,通知使用者無法分配合適的IP地址 DHCP DECLINE :客戶端到伺服器,指示地址已被使用 DHCP RELEASE:客戶端到伺服器,放棄網路地址和取消剩餘的租約時間 DHCP INFORM:客戶端到伺服器, 客戶端如果需要從DHCP伺服器端獲取更為詳細的配置資訊,則傳送Inform報文向伺服器進行請求,極少用到
DHCP服務 續租 50% :租賃時間達到50%時來續租,剛向DHCP伺服器發向新的DHCPREQUEST請求。如果dhcp服務沒有拒絕的理由,則迴應DHCPACK資訊。當DHCP客戶端收到該應答資訊後,就重新開始新的租用週期 87.5%:如果之前DHCP Server沒有迴應續租請求,等到租約期的7/8時,主機會再發送一次廣播請求
DHCP服務簡介 同網段多DHCP服務 DHCP服務必須基於本地 先到先得的原則 跨網段 RFC 1542 Compliant Routers dhcrelay: 中繼 相關協議 Arp rarp
DHCP實現 Linux DHCP協議的實現程式:dhcp, dnsmasq(dhcp,dns) Dhcp Server /usr/sbin/dhcpd /etc/dhcp/dhcpd.conf --> /etc/rc.d/init.d/dhcpd /etc/dhcp/dhcpd6.conf–> /etc/rc.d/init.d/dhcpd6 /usr/sbin/dhcrelay /etc/rc.d/init.d/dhcrelay dhcp server:67/udp dhcp client: 68/udp dhcpv6 client:546/udp Dhcp client dhclient 自動獲取的IP資訊: /var/lib/dhclient
DHCP配置檔案 dhcpd.conf: 幫助參考:man 5 dhcpd.conf 全域性配置 subnet { … } host { } 地址分配記錄 /var/lib/dhcpd/dhcpd.leases
dhcpd.conf示例 option domain-name “magedu.com”; option domain-name-servers 192.168.0.1,8.8.8.8; default-lease-time 86400; max-lease-time 86400; subnet 192.168.100.0 netmask 255.255.255.0 { range 192.168.100.1 192.168.100.200; option routers 192.168.100.1; }
示例:DHCP-relay ddns-update-style interim; ignore client-updates;
不論是否需要 10.10.10.0/24 的地址池(網口對應的網段),都必須配置subnet 10.10.10.0 netmask 255.255.255.0
,否則dhcpd會起不來。如果不需要10.10.10.0/24的地址池(網口對應的網段),則不配置subnet 10.10.10.0 netmask 255.255.255.0
裡面的內容即可,如:
不使用 10.10.10.0/24 的地址池(網口對應的網段)配置:
subnet 10.10.10.0 netmask 255.255.255.0 { }
使用 10.10.10.0/24 的地址池(網口對應的網段)配置:
subnet 10.10.10.0 netmask 255.255.255.0 { range dynamic-bootp 10.10.10.100 10.10.10.200; # 用於DHCP分配的地址池
host 1 { # IP-MAC繫結,1為名字(不能使用中文,會起不來),需要保證每個host不重名
hardware ethernet AA:BB:CC:DD:EE:AA;
fixed-address 10.10.10.101;
}
host 2 {
hardware ethernet AA:BB:CC:DD:EE:BB;
fixed-address 10.10.10.201;
}
option domain-name-servers 114.114.114.114,8.8.8.8; # DNS設定
option routers 10.10.10.1; # 閘道器
option subnet-mask 255.255.255.0; # 掩碼
# 以下為租約時間
default-lease-time -1;
max-lease-time -1;
}
subnet 10.10.20.0 netmask 255.255.255.0 { range dynamic-bootp 10.10.20.100 10.10.20.200;
host 3 {
hardware ethernet AA:BB:CC:DD:EE:CC;
fixed-address 10.10.20.201;
}
option domain-name-servers 114.114.114.114,8.8.8.8;
option routers 10.10.20.1;
option subnet-mask 255.255.255.0;
default-lease-time -1;
max-lease-time -1;
}
subnet 10.10.30.0 netmask 255.255.255.0 { range dynamic-bootp 10.10.30.100 10.10.30.200;
option domain-name-servers 114.114.114.114,8.8.8.8;
option routers 10.10.30.1;
option subnet-mask 255.255.255.0;
default-lease-time -1;
max-lease-time -1;
}
MAC地址繫結
arpping 命令測試網路中IP衝突的
DHCP配置檔案 其它配置選項: filename: 指明引導檔名稱 next-server:提供引導檔案的伺服器IP地址 示例: filename “pxelinux.0”; next-server 192.168.100.100; 檢查語法 service dhcpd configtest
PXE介紹 PXE: Preboot Excution Environment 預啟動執行環境 Intel公司研發 基於Client/Server的網路模式,支援遠端主機通過網路從遠端伺服器下載映像,並由此支援通過網路啟動作業系統 PXE可以引導和安裝Windows,linux等多種作業系統
PXE工作原理
Client向PXE Server上的DHCP傳送IP地址請求訊息,DHCP檢測Client是否合法(主要是檢測Client的網絡卡MAC地址),如果合法則返回Client的IP地址,同時將啟動檔案pxelinux.0的位置資訊一併傳送給Client Client向PXE Server上的TFTP傳送獲取pxelinux.0請求訊息,TFTP接收到訊息之後再向Client傳送pxelinux.0大小資訊,試探Client是否滿意,當TFTP收到Client發回的同意大小資訊之後,正式向Client傳送pxelinux.0 Client執行接收到的pxelinux.0檔案 Client向TFTP Server傳送針對本機的配置資訊檔案(在TFTP 服務的pxelinux.cfg目錄下),TFTP將配置檔案發回Client,繼而Client根據配置檔案執行後續操作。 Client向TFTP傳送Linux核心請求資訊,TFTP接收到訊息之後將核心檔案傳送給Client Client向TFTP傳送根檔案請求資訊,TFTP接收到訊息之後返回Linux根檔案系統 Client啟動Linux核心 Client下載安裝原始檔,讀取自動化安裝指令碼
PXE自動化安裝CentOS 7 安裝前準備:關閉防火牆和SELINUX,DHCP伺服器靜態IP 安裝軟體包 httpd tftp-server dhcp syslinux system-config-kickstart 配置檔案共享服務: systemctl enable httpd systemctl start httpd mkdir /var/www/html/centos/7 mount /dev/sr0 /var/www/html/centos/7 準備kickstart檔案 /var/www/html/ks/centos7.cfg 注意:許可權 配置tftp服務 systemctl enable tftp.socket systemctl start tftp.socket
配置DHCP服務 vim /etc/dhcp/dhcpd.conf option domain-name “example.com”; default-lease-time 600; max-lease-time 7200; subnet 192.168.100.0 netmask 255.255.255.0 { range 192.168.100.1 192.168.100.200; filename “pxelinux.0”; next-server 192.168.100.100; } systemctl enable dhcpd systemctl start dhcpd
準備相關檔案 mkdir /var/lib/tftpboot/pxelinux.cfg/ cp /usr/share/syslinux/{pxelinux.0,menu.c32} /var/lib/tftpboot/ cp /misc/cd/isolinux/{vmlinuz,initrd.img} /var/lib/tftpboot/ cp /misc/cd/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default 檔案列表如下: /var/lib/tftpboot/ ├── initrd.img ├── menu.c32 ├── pxelinux.0 ├── pxelinux.cfg │ └── default └── vmlinuz
準備啟動選單 Vim /var/lib/tftpboot/pxelinux.cfg/default default menu.c32 timeout 600 menu title PXE INSTALL MENU label auto menu label Auto Install CentOS 7 kernel vmlinuz append initrd=initrd.img ks=http://192.168.100.100/ks/centos7.cfg label manual menu label Manual Install CentOS 7 kernel vmlinuz append initrd=initrd.img inst.repo=http://192.168.100.100/centos/7 label local menu default menu label ^Boot from local drive localboot 0xffff
PXE自動化安裝CentOS 6 安裝前準備:關閉防火牆和SELINUX,DHCP伺服器靜態IP 關閉SElinux vim /etc/sysconfig/selinux 修改 SELINUX=enforcing 改為 SELINUX=disiabled 1 安裝相應軟體包 yum install dhcp httpd tftp-server syslinux chkconfig tftp on chkconfig xinetd on chkconfig httpd on chkconfig dhcpd on service httpd start service xinetd start
2 準備Yum 源和相關目錄 mkdir -pv /var/www/html/centos/{6,ks} mount /dev/sr0 /var/www/html/centos/6
3 準備kickstart檔案 /var/www/html/centos/ks/centos6.cfg 注意許可權: chmod 644 /var/www/html/centos/ks/centos6.cfg
4 準備相關的啟動檔案 mkdir /var/lib/tftpboot/pxelinux.cfg/ cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/ cd /misc/cd/images/pxeboot/ cp vmlinuz initrd.img /var/lib/tftpboot Cd /misc/cd/isolinux/ cp boot.msg vesamenu.c32 splash.jpg /var/lib/tftpboot
5 準備啟動選單檔案 cp /misc/cd/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default vim /var/lib/tftpboot/pxelinux.cfg/default default vesamenu.c32 指定選單風格 #prompt 1 timeout 600 display boot.msg menu background splash.jpg menu title Welcome to wang CentOS 6 menu color border 0 #ffffffff #00000000 menu color sel 7 #ffffffff #ff000000 menu color title 0 #ffffffff #00000000 menu color tabmsg 0 #ffffffff #00000000 menu color unsel 0 #ffffffff #00000000 menu color hotsel 0 #ff000000 #ffffffff menu color hotkey 7 #ffffffff #ff000000 menu color scrollbar 0 #ffffffff #00000000
label auto menu label ^Automatic Install Centos6 kernel vmlinuz append initrd=initrd.img ks=http://192.168.100.100/centos/ks/centos6.cfg label manual menu label ^Manual Install Centos kernel vmlinuz append initrd=initrd.img inst.repo=http://192.168.100.100/centos/6 label local menu default menu label Boot from ^local drive localboot 0xffff
目錄結構如下: tree /var/lib/tftpboot/ /var/lib/tftpboot/ ├── boot.msg ├── initrd.img ├── pxelinux.0 ├── pxelinux.cfg │ └── default ├── splash.jpg ├── vesamenu.c32 └── vmlinuz 1 directory, 7 files
6 配置dhcp服務 cp /usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample /etc/dhcp/dhcpd.conf vim /etc/dhcp/dhcpd.conf option domain-name “magedu.com”; option domain-name-servers 192.168.100.1; subnet 192.168.100.0 netmask 255.255.255.0 { range 192.168.100.1 192.168.100.200; option routers 192.168.100.1; filename “pxelinux.0”; next-server 192.168.100.100; } service dhcpd start
cobbler 介紹 Cobbler: 快速網路安裝linux作業系統的服務,支援眾多的Linux發行版:Red Hat、Fedora、CentOS、Debian、Ubuntu和SuSE,也可以支援網路安裝windows PXE的二次封裝,將多種安裝引數封裝到一個選單 Python編寫 提供了CLI和Web的管理形式
cobbler 工作流程
client裸機配置了從網路啟動後,開機後會廣播包請求DHCP伺服器(cobbler server)傳送其分配好的一個IP DHCP伺服器(cobbler server)收到請求後傳送responese,包括其ip地址 client裸機拿到ip後再向cobbler server傳送請求OS引導檔案的請求 cobbler server告訴裸機OS引導檔案的名字和TFTP server的ip和port client裸機通過上面告知的TFTP server地址通訊,下載引導檔案 client裸機執行執行該引導檔案,確定載入資訊,選擇要安裝的os,期間會再向cobbler server請求kickstart檔案和os image cobbler server傳送請求的kickstart和os iamge client裸機載入kickstart檔案 client裸機接收os image,安裝該os image
安裝包 cobbler 基於EPEL源 cobbler 服務整合 PXE DHCP (手工裝) rsync Http DNS Kickstart IPMI 電源管理 檢查cobbler環境 cobbler check
cobbler 相關術語 發行版: 表示一個作業系統版本,它承載了核心和 initrd 的資訊,以及核心引數等其他資料 配置檔案: 包含一個發行版、一個 kickstart 檔案以及可能的儲存庫,還包含更多特定的核心引數等其他資料 系統: 表示要配置的主機,它包含一個配置檔案或一個映象,還包含 IP 和 MAC 地址、電源管理(地址、憑據、型別)以及更為專業的資料等資訊 儲存庫: 儲存一個 yum 或 rsync 儲存庫的映象資訊 映象: 可替換一個包含不屬於此類別的檔案的發行版物件(例如,無法分為核心和 initrd 的物件)
cobbler 各種配置目錄說明 安裝:yum install cobbler dhcp 啟動服務 systemctl start cobblerd.service
配置檔案目錄 /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 : 模組的配置檔案
cobbler 目錄介紹 資料目錄 /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 get-loaders 聯網下載需要的boor-loaders相關檔案
cobbler 重要的引數 /etc/cobbler/settings中重要的引數設定
default_password_crypted: “gEc7ilpP$pg5iSOj/mlxTxEslhRvyp/” manage_dhcp:1 manage_tftpd:1 pxe_just_once:1 next_server:< tftp伺服器的 IP 地址> server:<cobbler伺服器的 IP 地址> manage_dhcp 1讓cobbler接管DHCP,不用再手工配置DHCP
cobbler 環境檢查 執行Cobbler check命令會報如下異常 1 : The ‘server’ field in /etc/cobbler/settings must be set to something other than localhost, or kickstarting features will not work. This should be a resolvable hostname or IP for the boot server as reachable by all machines that will use it. 2 : For PXE to be functional, the ‘next_server’ field in /etc/cobbler/settings must be set to something other than 127.0.0.1, and should match the IP of the boot server on the PXE network. 3 : some network boot-loaders are missing from /var/lib/cobbler/loaders, you may run ‘cobbler get-loaders’ to download them, or, if you only want to handle x86/x86_64 netbooting, you may ensure that you have installed a recent version of the syslinux package installed and can ignore this message entirely. Files in this directory, should you want to support all architectures, should include pxelinux.0, menu.c32, elilo.efi, and yaboot. The ‘cobbler get-loaders’ command is the easiest way to resolve these requirements. 4 : change ‘disable’ to ‘no’ in /etc/xinetd.d/rsync 5 : comment ‘dists’ on /etc/debmirror.conf for proper debian support 6 : comment ‘arches’ on /etc/debmirror.conf for proper debian support 7 : The default password used by the sample templates for newly installed machines (default_password_crypted in /etc/cobbler/settings) is still set to ‘cobbler’ and should be changed, try: “openssl passwd -1 -salt ‘random-phrase-here’ ‘your-password-here’” to generate new one 8 : fencing tools were not found, and are required to use the (optional) power management features. install cman or fence-agents to use them
cobbler 報錯解決 一.執行Cobbler check報錯解決方式 修改/etc/cobbler/settings檔案中的server引數的值為提供cobbler服務的主機相應的IP地址或主機名 修改/etc/cobbler/settings檔案中的next_server引數的值為提供PXE服務的主機相應的IP地址 如果當前節點可以訪問網際網路,執行“cobbler get-loaders”命令即可;否則,需要安裝syslinux程式包,而後複製/usr/share/syslinux/{pxelinux.0,memu.c32}等檔案至/var/lib/cobbler/loaders/目錄中 執行“chkconfig rsync on”命令即可 執行“openssl passwd -1 生成密碼,並用其替換/etc/cobbler/settings檔案中default_password_crypted引數的值
二.當我們執行cobbler check時,出現這種錯誤:httpd does not appear to be running and proxying cobbler, or SELinux is in the way 解決方法:關閉SELINUX,並重啟httpd.service [[email protected] ~]# getenforce Enforcing [[email protected] ~]# setenforce 0 [[email protected] ~]# getenforce Permissive [[email protected] ~]# systemctl restart httpd.service #重啟http服務 [[email protected] ~]# cobbler check 出現下面說明可以了,修改相關配置檔案即可
cobbler 相關管理 下載啟動選單: 聯網:cobbler get-loaders 不聯網:cp /usr/share/syslinux/{pxelinux.0,menu.c32} /var/lib/tftpboot 管理distro cobbler import --name=centos-6.9-x86_64 --path=/media/cdrom --arch=x86_64 管理profile cobbler profile add --name=centos-6.9-x86_64-basic –distro=centos-6.9-x86_64 --kickstart= /var/lib/cobbler/kickstarts/centos-6.9-x86_64.cfg
cobbler 命令 檢視profiles cobbler profile list 檢視引導檔案 cat /var/lib/tftpboot/pxelinux.cfg/default 同步cobbler配置 cobbler sync 多系統引導方案 cobbler import --name=CentOS-7-x86_64 --path=/media/cdrom 示例: cobbler import --name=CentOS-7.5-x86_64 --path=/misc/cd --arch=x86_64 映象被匯入到了 /var/www/cobbler/ks_mirror cobbler distro list cobbler profile list cobbler sync
cobbler 實現步驟 安裝包,並設定服務 檢查配置 根據上面提示修改配置 下載啟動相關檔案選單 配置DHCP服務 分別匯入centos的安裝源,並檢視 準備kickstart檔案並匯入cobbler 測試
cobbler的web管理實現 cobbler-web 提供cobbler的基於web管理介面,epel源 yum install cobbler-web 認證方式 認證方法配置檔案:/etc/cobbler/modules.conf 支援多種認證方法: authn_configfile authn_pam