1. Cobbler常用命令
1.1 查看cobbler幫助
# cobbler --help
usage
=====
cobbler <distro|profile|system|repo|image|mgmtclass|package|file> ...
[add|edit|copy|getks*|list|remove|rename|report] [options|--help]
cobbler <aclsetup|buildiso|import|list|replicate|report|reposync|sync|validateks|version|signature|get-loaders|hardlink> [options|--help]
distro,profile,system是cobbler三大核心組件, 一 般情況下這三個部分配置好就可以實現自動化部署了。
Distro
主要用來定義和設置系統發行版本,里包含了系統的內核,引導文件,以及安裝包等內容,就相當於一個LINUX系統的ISO鏡像。如:多個發行版本,同一發行版不同版本號。
Profile
主要用來定義kickstart配置文件,安裝時依據配置文件進行定制化安裝,配置此項時要和distro進行關聯。
System
主要用來定義內核參數,電源管理,計算機名,網絡接口參數等(客戶機),如:根據mac地址配置IP地址,通過和profile,distro關聯實現自動化安裝。
Repo
主要用來配置yum鏡像信息。
Cobbler的幫助信息查看都是這個格式:cobbler 子命令 –help
如: 查看 distro的幫助信息
# cobbler distro --help usage ===== cobbler distro add cobbler distro copy cobbler distro edit cobbler distro find cobbler distro list cobbler distro remove cobbler distro rename cobbler distro report
1.2 Cobbler distro命令
該命令主要用於對distro進行增加,編輯,拷貝,查找,移除,重命名操作。
使用格式為(以add為例):
cobbler distro add --name=string --kernel=path --initrd=path
[--kopts=string] [--kopts-post=string] [--ksmeta=string]
[--arch=x86|x86_64|ia64] [--breed=redhat|debian|suse]
[--template-files=string]
其中:
Name |
用來指定系統的版本。如:RHEL7 |
Kernel |
用來指定一個內核鏡像文件的絕對路徑。 |
Initrd |
用來指定一個RAM鏡像文件的絕對路徑。 |
Kopts |
用來指定內核命令行參數 |
Kopts-post |
同上 |
Arch |
用來指定操作系統版本平台,如:X86_64 |
Ksmeta |
是用來替代kickstart變量的高級特性 |
Breed |
用來指定操作系統廠家,如:redhat Ubuntu,centos等 |
舉例:
# cobbler distro add --name=Centos6.6-x86_64 --kernel=/mnt/isolinux --initrd=/mnt/isolinux --arch=x86_64 --breed=redhat # cobbler distro list Centos6.6-x86_64 Centos7-dvd-x86_64 # cobbler distro rename –name=Centos6.6-x86_64 –newname=Centos6.9-x86_64 #cobbler distro list Centos6.9-x86_64 Centos7-dvd-x86_64
1.3 Cobbler profile命令
該命令主要用於對profile進行增加,編輯,拷貝,查找,移除,重命名等操作。
使用格式為(以add為例):
cobbler profile add --name=string --distro=string [--kickstart=path]
[--kopts=string] [--ksmeta=string] [--virt-file-size=gigabytes]
[--virt-ram=megabytes] [--virt-type=string] [--virt-cpus=integer]
[--virt-path=string] [--virt-bridge=string] [--server]
[--parent=profile]
Name |
用來指定一個配置文件的描述名稱 |
Distro |
用來關聯distro |
Kickstart |
用來指定kickstart文件路徑 |
Virt-* |
與虛擬化有關的設置 |
Server |
當客戶機所在子網無法訪問cobbler服務器的時候,這個設置才用得着。 |
Parent |
這是一個高級特性,用來指定上一級的配置文件,可以繼承父級指定的參數 |
舉例:
# cobbler profile add --name=Centos6.9-x86_64 --distro=Centos6.9-x86_64 --kickstart=/var/lib/cobbler/kickstarts/centos6.9-x86_64.cfg # cobbler profile list Centos6.9-x86_64 Centos7-dvd-x86_64
1.4 Cobbler system命令
此命令主要用於定義客戶機的網絡接口參數,如指定IP MASK GATEWAY等。
cobbler system add --name=string --profile=string [--mac=macaddress]
[--ip-address=ipaddress] [--hostname=hostname] [--kopts=string]
[--ksmeta=string] [--kickstart=path] [--netboot-enabled=Y/N]
[--server=string] [--gateway=string] [--dns-name=string]
[--static-routes=string] [--power-address=string]
[--power-type=string] [--power-user=string] [--power-pass=string]
[--power-id=string]
Name |
指定一個名字 |
Profile |
指定一個profile |
Mac |
指定客戶機的MAC地址,這是實現自動化安裝的必要參數,否則客戶機通過網絡引導后會停留在引導菜單那一步。 |
Ip-address |
配置客戶機的IP地址 |
Hostname |
配置客戶機的計算機名 |
Kickstart |
指定kickstart配置文件的路徑 |
Netboot-enable |
是否開啟網絡啟動 |
Server |
指定cobbler服務器的地址 |
Gateway |
指定客戶機的網關 |
Dns-name |
指定客戶機的DNS域名 |
Static-routers 無需關心,大部分機器不需設置此項
[--power-address=string] [--power-type=string] [--power-user=string] [--power-pass=string] [--power-id=string]這些參數與電源管理相關。
舉例:
# cobbler system add --name=Centos6.9-x86_64 --kickstart=/var/lib/cobbler/kickstarts/centos6.9-x86_64.cfg --mac=00:0C:29:41:FC:6C --hostname=backup --profile=Centos6.9-x86_64 --interface ens33 # cobbler list distros: Centos6.9-x86_64 Centos7-dvd-x86_64 profiles: Centos6.9-x86_64 Centos7-dvd-x86_64 systems: Centos6.9-x86_64 repos: images: mgmtclasses: packages: files: # cobbler system edit --name=Centos6.9-x86_64 --kickstart=/var/lib/cobbler/kickstarts/centos6.9-x86_64.cfg --mac=00:0C:29:41:FC:6C --hostname=backup --profile=Centos6.9-x86_64 --interface eth0
1.5 Cobbler repo命令
此命令主要用於指定一個倉庫源鏡像,不僅僅用import方式導入的安裝樹中的源,還可以是rsync://URL,SSH 本地源,http://URL,FTP://URL,或者是本地源。
命令格式:
cobbler repo add --mirror=url --name=string [--rpmlist=list]
[--creatrepo-flags=string] [--keep-updated=Y/N] [--priority=number]
[--arch=string] [--mirror-locally=Y/N] [--breed=yum|rsync|rhn]
Mirror |
指定鏡像倉庫源的地址 |
Name |
定義名稱 |
Rpmlist |
后面跟的是以空格分隔的軟件包的名稱列表,僅在http://url,ftp://url模式下生效。這種方式可以節省時間,空間和帶寬。因為在這個列表中的包會被安裝,其它的都不安裝。 |
Createrepo-flags |
當cobbler reposync運行時向其傳遞一個特殊的參數,默認為“-c cache” |
Keep-updated |
是否時刻保持repo的更新 |
Priority |
優先級,數字越小優先級越高,默認99.作用於所有cobbler鏡像源。 |
Arch |
定義倉庫使用什么樣的架構,默認使用當前系統架構 |
Mirror-locally |
定義使用本地源還是互聯網源 |
Breed |
通常無需定義,系統就知道我們想干什么,當然你也以指定特殊的。 |
舉例:
# cobbler repo add --mirror=https://mirrors.aliyun.com/centos/7.3.1611/os/x86_64/ --name=centos7.3-x86_64 # cobbler repo list centos7.3-x86_64 # cobbler reposync #同步repo,會從網上下載centos7.3.1611的安裝樹到這個位置/var/www/cobbler/repo_mirror
看看最終的配置:
# cobbler list distros: Centos6.9-x86_64 Centos7-dvd-x86_64 profiles: Centos6.9-x86_64 Centos7-dvd-x86_64 systems: Centos6.9-x86_64 repos: centos7.3-x86_64 images: mgmtclasses: packages: files: