cobbler簡介
Cobbler經過將設置和管理一個安裝服務器所涉及的任務集中在一塊兒,從而簡化了系統配置。至關於Cobbler封裝了DHCP、TFTP、XINTED等服務,結合了PXE、kickstart等安裝方法,能夠實現自動化安裝操做系統,而且能夠同時提供多種版本,以實如今線安裝不一樣版本的系統。linux
cobbler相關服務ios
DHCP:DHCP(Dynamic Host Configuration Protocol,動態主機配置協議)是一個局域網的網絡協議,使用UDP協議工做, 主要有兩個用途:給內部網絡或網絡服務供應商自動分配IP地址,給用戶或者內部網絡管理員做爲對全部計算機做中央管理的手段。DHCP有3個端口,其中UDP67和UDP68爲正常的DHCP服務端口,分別做爲DHCP Server和DHCP Client的服務端口;546號端口用於DHCPv6 Client,而不用於DHCPv4,是爲DHCP failover服務,這是須要特別開啓的服務,DHCP failover是用來作「雙機熱備」的。git
TFTP:TFTP是一種比較特殊的文件傳輸協議。相對於FTP和目前常用的SFTP,TFTP是基於TCP/IP協議簇,用於進行簡單文件傳輸,提供簡單、低開銷的傳輸服務。TFTP的端口設置爲69。
相對於常見的FTP,TFTP有兩個比較好的優點:github
默認狀況下,Linux內部是安裝了tftp服務器包的。可是默認是不啓動的。vim
PXE:預啓動執行環境(Preboot eXecution Environment,PXE,也被稱爲預執行環境)提供了一種使用網絡接口(Network Interface)啓動計算機的機制。這種機制讓計算機的啓動能夠不依賴本地數據存儲設備(如硬盤)或本地已安裝的操做系統。centos
PXE當初是做爲Intel的有線管理體系的一部分,Intel 和 Systemsoft於1999年9月20日公佈其規格(版本2.1)[1]。經過使用像網際協議(IP)、用戶數據報協議(UDP)、動態主機設定協定(DHCP)、小型文件傳輸協議(TFTP)等幾種網絡協議和全局惟一標識符(GUID)、通用網絡驅動接口(UNDI)、通用惟一識別碼(UUID)的概念並經過對客戶機(經過PXE自檢的電腦)固件擴展預設的API來實現目的。服務器
交互過程網絡
初始化環境dom
軟件:vmware workstation 14 操做系統: centos7.4-mini 關閉防火牆: systemctl stop firewalld systemctl disable firewalld 修改selinux: sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config 修改網卡配置文件: BOOTPROTO=static IPV6INIT=no ONBOOT=YES IPADDR=192.168.26.30 NETMASK=255.255.255.0 GATEWAY=192.168.26.2 DNS1=114.114.114.114 DNS2=8.8.8.8 添加yum源: cd /etc/yum.repos.d yum -y install epel-release yum clean all yum makecache 最後reboot,保存快照。
安裝須要的包工具
yum -y install httpd tftp xinetd pykickstart cobbler dhcp systemctl start httpd cobblerd rsyncd systemctl enable httpd cobblerd rsyncd
修改配置文件
cobbler主目錄在/etc/cobbler/settings vim /etc/cobbler/settings 將server: 127.0.0.1修改成server: 192.168.26.30 將修改成next_server: 127.0.0.1修改成next_server: 192.168.26.30 將manage_dhcp: 0修改成manage_dhcp: 1 -->表示由cobbler來控 制dhcp :x 修改tftp配置文件:/etc/xinetd.d/tftp disabled後面改成no -->開機啓動 cobbler get-loaders -->下載補丁 修改dhcp:/etc/cobbler/dhcp.template ##此處提出正確配置 subnet 192.168.26.0 netmask 255.255.255.0 { option routers 192.168.26.2; option domain-name-servers 114.114.114.114; -->DNS,若是不寫後面在執行安裝後腳本會報錯 option subnet-mask 255.255.255.0; range dynamic-bootp 192.168.26.100 192.168.26.254; default-lease-time 21600; max-lease-time 43200; next-server $next_server; 設置安裝操做系統的root密碼: openssl passwd -1 -salt 'youdaoyun' 'youdaoyun' 將生成的隨機字符添加到cobbler配置文件中 將以前這行註釋掉替換成本身的密碼,以下圖
重啓應用 systemctl restart cobblerd xinetd cobbler check -->檢查命令,通常還剩餘兩個,不用管 cobbler sync -->同步配置文件
上傳鏡像
選擇的是centos7-mini.iso包,後面有須要的東西能夠寫在ks文件中 1.將iso包上傳到根目錄下 mkdir -p /data/centos7.4-mini mount -o loop CentOS-7.4-x86_64-Minimall-1708.iso /data/centos7.4-mini/ 使用df -h查看是否掛載成功 2.導入鏡像文件 cobbler import --path=/data/centos7.4-mini/ --name=CentOS_7.4_Mini --arch=x86_64 --path表明鏡像地址 --name表明當pxe啓動後選擇的哪一個鏡像 --arch表明指定安裝源是64位 3.查看profile cobbler profile list 4.查看profile的內容 cobbler profile report 5.將已經作好的ks文件修改成centos7_4.cfg上傳到/var/lib/cobbler/kickstarts/,等下會貼出來 6.自定義kickstart文件 cobbler profile edit --name=CentOS_7.4_Mini-x86_64 --kickstart=/var/lib/cobbler/kickstarts/centos7_4.cfg 7.修改centos7內核,即網卡名 cobbler profile edit --name=CentOS_7.4_Mini-x86_64 --kopts='net.ifnames=0 biosdevname=0' 8.修改完配置文件必須運行cobbler sync同步配置
ks文件
#Kickstart Configurator for cobbler by Jason Zhao #platform=x86, AMD64, or Intel EM64T #System language lang en_US #System keyboard keyboard us #Sytem timezone timezone Asia/Shanghai #Root password rootpw --iscrypted $default_password_crypted #Use text mode install text #Install OS instead of upgrade install #Use NFS installation Media url --url=$tree #System bootloader configuration bootloader --location=mbr #Clear the Master Boot Record zerombr #Partition clearing information clearpart --all --initlabel #Disk partitioning information part /boot --fstype xfs --size 1024 --ondisk sda part swap --size 16384 --ondisk sda part / --fstype xfs --size 1 --grow --ondisk sda #System authorization infomation auth --useshadow --enablemd5 #Network information $SNIPPET('network_config') #network --bootproto=dhcp --device=em1 --onboot=on # Reboot after installation reboot #Firewall configuration firewall --disabled #SELinux configuration selinux --disabled #Do not configure XWindows skipx #Package install information %pre $SNIPPET('log_ks_pre') $SNIPPET('kickstart_start') $SNIPPET('pre_install_network_config') # Enable installation monitoring $SNIPPET('pre_anamon') %end %post systemctl disable postfix.service systemctl stop firewalld systemctl disable firewalld sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config yum -y install vim net-tools %end
啓動虛擬機測試
1.設置服務器網絡啓動,在vmware workstation中爲按下電源時打開固件
2.DHCP獲取過程太快了,直接來到了cobbler的界面
選項1爲從本地磁盤啓動,可是由於在vmware workstation中作的,預先加載了centos7的環境,因此即便你從本地磁盤啓動,也會是一個安裝操做系統的界面
選項2是咱們剛剛作的,直接選擇第二個,而後等待安裝,在安裝完成後會關閉selinux、防火牆,而且安裝vim、net-tools工具包。
其他配置:有時候須要標識企業信息或者我的信息,能夠經過如下方式進行修改。
vim /etc/cobbler/pxe/pxedefault.template 將第二行的 Cobbler | http://cobbler.github.io/修改爲你本身的標識 修改完配置文件後須要執行cobbler sync
因爲該文檔直接由有道雲筆記拷貝過來,圖像是看不到的,還請見諒。