溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

CentOS下Cobbler的安裝和配置方法

發(fā)布時間:2021-08-04 11:00:50 來源:億速云 閱讀:636 作者:chen 欄目:系統(tǒng)運維

本篇內(nèi)容介紹了“CentOS下Cobbler的安裝和配置方法”的有關(guān)知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠?qū)W有所成!

Cobbler是一個快速網(wǎng)絡(luò)安裝linux的服務(wù),而且在經(jīng)過調(diào)整也可以支持網(wǎng)絡(luò)安裝windows。該工具使用python開發(fā),小巧輕便(才15k行python代碼),使用簡單的命令即可完成PXE網(wǎng)絡(luò)安裝環(huán)境的配置,同時還可以管理DHCP、DNS、以及yum倉庫、構(gòu)造系統(tǒng)ISO鏡像。

Cobbler支持命令行管理,web界面管理,還提供了API接口,可以方便二次開發(fā)使用。

Cobbler客戶端Koan支持虛擬機安裝和操作系統(tǒng)重新安裝,使重裝系統(tǒng)更便捷。


cobbler提供的功能

使用 Cobbler,您無需進行人工干預即可安裝機器。Cobbler 設(shè)置一個 PXE 引導環(huán)境(它還可使用 yaboot 支持 PowerPC),并控制與安裝相關(guān)的所有方面,比如網(wǎng)絡(luò)引導服務(wù)(DHCP 和 TFTP)與存儲庫鏡像。當希望安裝一臺新機器時,Cobbler 可以:

使用一個以前定義的模板來配置 DHCP 服務(wù)(如果啟用了管理 DHCP)

將一個存儲庫(yum 或 rsync)建立鏡像或解壓縮一個媒介,以注冊一個新操作系統(tǒng)

在 DHCP 配置文件中為需要安裝的機器創(chuàng)建一個條目,并使用您指定的參數(shù)(IP 和 MAC 地址)

在 TFTFP 服務(wù)目錄下創(chuàng)建適當?shù)?PXE 文件

重新啟動 DHCP 服務(wù)以反映更改

重新啟動機器以開始安裝(如果電源管理已啟用)

Cobbler 支持眾多的發(fā)行版:Red Hat、Fedora、CentOS、Debian、Ubuntu 和 SuSE。當添加一個操作系統(tǒng)(通常通過使用 ISO 文件)時,Cobbler 知道如何解壓縮合適的文件并調(diào)整網(wǎng)絡(luò)服務(wù),以正確引導機器。

Cobbler 可使用 kickstart 模板?;?Red Hat 或 Fedora 的系統(tǒng)使用 kickstart 文件來自動化安裝流程。通過使用模板,您就會擁有基本的 kickstart 模板,然后定義如何針對一種配置文件或機器配置而替換其中的變量。例如,一個模板可能包含兩個變量 $domain和 $machine_name。在 Cobbler 配置中,一個配置文件指定 domain=mydomain.com,并且每臺使用該配置文件的機器在machine_name 變量中指定其名稱。該配置文件中的所有機器都使用相同的 kickstart 安裝且針對 domain=mydomain.com 進行配置,但每臺機器擁有其自己的機器名稱。您仍然可以使用 kickstart 模板在不同的域中安裝其他機器并使用不同的機器名稱。

為了協(xié)助管理系統(tǒng),Cobbler 可通過 fence scripts 連接到各種電源管理環(huán)境。Cobbler 支持 apc_snmp、bladecenter、bullpap、drac、ether_wake、ilo、integrity、ipmilan、ipmitool、lpar、rsa、virsh 和 wti。要重新安裝一臺機器,可運行 reboot system foo命令,而且 Cobbler 會使用必要的憑據(jù)和信息來為您運行恰當?shù)?fence scripts(比如機器插槽數(shù))。

除了這些特性,還可使用一個配置管理系統(tǒng) (CMS)。您有兩種選擇:該工具內(nèi)的一個內(nèi)部系統(tǒng),或者集成一個現(xiàn)有的外部 CMS,比如 Chef 或 Puppet。借助內(nèi)部系統(tǒng),您可以指定文件模板,這些模板會依據(jù)配置參數(shù)進行處理(與 kickstart 模板的處理方式一樣),然后復制到您指定的位置。如果必須自動將配置文件部署到特定機器,那么此功能很有用。

使用 koan 客戶端,Cobbler 可從客戶端配置虛擬機并重新安裝系統(tǒng)。我不會討論配置管理和koan 特性,因為它們不屬于本文的介紹范疇。但是,它們是值得研究的有用特性。

Cobbler 安裝和配置的方法:

一、加載epel源

代碼如下:

rpm -ivh http://mirrors.sohu.com/fedora-epel/6/x86_64/epel-release-6-8.noarch.rpm

二、安裝cobbler

1.yum安裝所需要的文件

代碼如下:

yum -y install tftp-server cobbler cobbler-web pykickstart debmirror httpd python-ctypes  xinetd rsync

2.檢查cobbler配置是否正確

代碼如下:

cobbler check

3.更改settings配置文件

代碼如下:

vi /etc/cobbler/settings
next_server: dhcp服務(wù)器地址
server: cobbler服務(wù)器地址
manage_dhcp: 1
manage_rsync: 1

4.關(guān)閉iptables和selinux

代碼如下:

/etc/init.d/iptables stop
setenforce 0

5.設(shè)置tftp和rsync服務(wù)

代碼如下:

vi /etc/xinetd.d/tftp
disable  yes   =>  disable no</p> <p>vi /etc/xinetd.d/rsync
disable  yes   =>   disable no

6.設(shè)置centos系統(tǒng)密碼

代碼如下:

openssl passwd -1 -salt 'Cobbler' 'cobbler'

7.下載fedora的loader信息

代碼如下:

cobbler get-loaders

8.修改dhcp配置模版文件.需要主機的事分配的dhcp地址需要和本機地址在同一網(wǎng)段否則無法啟動dhcp

代碼如下:

ddns-update-style interim;
allow booting;
allow bootp;
ignore client-updates;
set vendorclass = option vendor-class-identifier;
#修改為自己的網(wǎng)段
subnet 192.168.0.0 netmask 255.255.255.0 {
#修改路由地址
option routers 192.168.0.1;
#域名服務(wù)器地址
option domain-name-servers 202.106.0.20;
#子網(wǎng)
option subnet-mask 255.255.255.0;
#分配IP地址段
range dynamic-bootp 192.168.0.100 192.168.0.254;
filename "/pxelinux.0";
default-lease-time 21600;
max-lease-time 43200;
next-server $next_server;
}

三、導入鏡像到cobbler

1.創(chuàng)建鏡像掛載點目錄

代碼如下:

mkdir -p /mnt/foo

2.掛載iso鏡像到創(chuàng)建的目錄(可以為自己定制過的iso鏡像)

代碼如下:

mount -o loop CentOS-6.4-x86_64-mini.iso /mnt/foo

3.從掛載點目錄導入os 并將其命名為Centos6.4_mini arch=x86_64

代碼如下:

cobbler import --path=/mnt/foo --name=Centos6.4_mini --arch=x86_64

4.指定kickstart文件 (可選 默認我們會指定一個自己定制的kickstart文件)

代碼如下:

cobbler profile edit --name=Centos6.4_mini-x86_64 --kickstart=文件路徑

5.查看cobbler報告

代碼如下:

cobbler report
Distribution                   : Centos6.4_mini-x86_64
Enable gPXE?                   : 0
Enable PXE Menu?               : 1
Fetchable Files                : {}
Kernel Options                 : {}
Kernel Options (Post Install)  : {}
Kickstart                      : /var/lib/cobbler/kickstarts/sample_end.ks
Kickstart Metadata             : {}
Management Classes             : []
Management Parameters          : <<inherit>>
Name Servers                   : []
Name Servers Search Path       : []
Owners                         : ['admin']
Parent Profile                 :
Proxy                          :
Red Hat Management Key         : <<inherit>>
......

6.查看導入的鏡像列表

代碼如下:

cobbler distro list

7.是cobbler生效

代碼如下:

cobbler sync

8.重啟進入網(wǎng)絡(luò)引導系統(tǒng)

9.需要注意的是每一次的配置更改都需要執(zhí)行cobbller sync

四、kickstart文件(以我的配置文件為例)

代碼如下:

firewall --disabled  
install  
#cdrom  
rootpw --iscrypted  $default_password_crypted
auth  --useshadow  --passalgo=md5
text  
firstboot --disable  
keyboard us  
lang en_US.UTF-8
url --url=$tree
$yum_repo_stanza
$SNIPPET('network_config')</p> <p>selinux --disabled  
# Do not configure the X Window System  
skipx  
logging --level=info
#reboot --eject
timezone  Asia/Shanghai
#network --device em1 --bootproto=static --ip=192.168.7.123 --netmask=255.255.248.0 --gateway=192.168.0.1 --nameserver 8.8.8.8 --hostname=test --onboot=yes
bootloader --location=mbr  --driveorder=sda</p> <p># Clear the Master Boot Record  
zerombr yes</p> <p># Partition clearing information  
clearpart --all --initlabel  </p> <p># Disk partitioning information  
part / --fstype="ext4" --size=10240
part swap --size=4096
part /data --fstype="ext4" --grow --size=1 </p> <p>
%packages  
@base  
@core  
@server-policy  
sgpio  
device-mapper-persistent-data
ntp  </p> <p>
%post --nochroot
mkdir -p /mnt/sysimage/tmp/custom_data >> /tmp/custom.log 2>&1
cp /mnt/source/Packages/lnmp_pack.tar.gz  /mnt/sysimage/tmp/custom_data >> /tmp/custom.log 2>&1
cp /mnt/source/Packages/install_packages.sh  /mnt/sysimage/tmp/custom_data >> /tmp/custom.log 2>&1
cp /mnt/source/Packages/ncftp-3.2.5-src.tar.gz /mnt/sysimage/tmp/custom_data >>/tmp/custom.log 2>&1
cp /mnt/source/Packages/rarlinux-3.8.0.tar.gz /mnt/sysimage/tmp/custom_data >>/tmp/custom.log 2>&1
cp /mnt/source/Packages/nmon_linux_14i.tar.gz /mnt/sysimage/tmp/custom_data >>/tmp/custom.log 2>&1</p> <p>
%post
cd /tmp/custom_data >> /tmp/custom.log 2>&1
chmod +x install_packages.sh
sh install_packages.sh</p> <p>
# remove custom_data
rm -rf /tmp/custom_data</p> <p>
#vim syntax on
echo alias vi='vim' >> /etc/bashrc</p> <p># disable ipv6
echo "alias net-pf-10 off" >> /etc/modprobe.d/dist.conf
echo -e "options\tipv6\tdisable=1" >> /etc/modprobe.d/dist.conf
echo "NETWORKING_IPV6=no" >> /etc/sysconfig/network</p> <p>#append lib
echo "/usr/local/lib/" >> /etc/ld.so.conf</p> <p>#modify lang
echo 'export LANG=zh_CN.UTF8' >> /etc/profile</p> <p>#disable system auto mail
echo "unset MAILCHECK" >> /etc/profile</p> <p>#modify history
echo 'export HISTTIMEFORMAT="%F %T `whoami` "' >> /etc/profile
sed -i "s/HISTSIZE=1000/HISTSIZE=999999999/" /etc/profile</p> <p>#modifu ssh port on 3389
echo 'Port 3389' >> /etc/ssh/sshd_config
echo 'UseDNS no' >> /etc/ssh/sshd_config</p> <p>
for i in `ls /etc/rc3.d/S*`
do
CURSRV=`echo $i|cut -c 15-`
chkconfig  --level 3 $CURSRV off
done</p> <p>for i in crond rsyslog iptables network ntpd sshd sysstat;do chkconfig --level 3 $i on;done</p> <p>sed -i '/HOSTNAME=/d' /etc/sysconfig/network
echo 'HOSTNAME=test' >> /etc/sysconfig/network</p> <p></p> <p># sysctl
echo "net.core.netdev_max_backlog = 32768" >> /etc/sysctl.conf
echo "net.core.rmem_default = 8388608" >> /etc/sysctl.conf
echo "net.core.rmem_max = 16777216" >> /etc/sysctl.conf
echo "net.core.somaxconn = 32768" >> /etc/sysctl.conf
echo "net.core.wmem_default = 8388608" >> /etc/sysctl.conf
echo "net.core.wmem_max = 16777216" >> /etc/sysctl.conf
echo "net.ipv4.ip_local_port_range = 5000 65000" >> /etc/sysctl.conf
echo "net.ipv4.tcp_fin_timeout = 30" >> /etc/sysctl.conf
echo "net.ipv4.tcp_keepalive_time = 300" >> /etc/sysctl.conf
echo "net.ipv4.tcp_max_orphans = 3276800" >> /etc/sysctl.conf
echo "net.ipv4.tcp_max_syn_backlog = 65536" >> /etc/sysctl.conf
echo "net.ipv4.tcp_max_tw_buckets = 5000" >> /etc/sysctl.conf
echo "net.ipv4.tcp_mem = 94500000 915000000 927000000" >> /etc/sysctl.conf
echo "net.ipv4.tcp_syn_retries = 2" >> /etc/sysctl.conf
echo "net.ipv4.tcp_synack_retries = 2" >> /etc/sysctl.conf
echo "net.ipv4.tcp_syncookies = 1" >> /etc/sysctl.conf
echo "net.ipv4.tcp_timestamps = 0" >> /etc/sysctl.conf
echo "net.ipv4.tcp_tw_recycle = 1" >> /etc/sysctl.conf
echo "net.ipv4.tcp_tw_reuse = 1" >> /etc/sysctl.conf
/sbin/sysctl -p</p> <p># modify core ulimt
echo -e "*\tsoft\tnofile\t65535" >> /etc/security/limits.conf
echo -e "*\thard\tnofile\t65535" >> /etc/security/limits.conf</p> <p>echo -e "*\tsoft\tnofile\t65535" >> /etc/security/limits.d/90-nproc.conf
echo -e "*\thard\tnofile\t65535" >> /etc/security/limits.d/90-nproc.conf</p> <p># ntpd
cat > /etc/sysconfig/clock <<EOF
ZONE="Asia/Shanghai"
UTC=true
ARC=false
EOF
/sbin/service ntpd stop
/usr/sbin/ntpdate 210.167.182.10
/sbin/service ntpd start</p> <p>COMMIT
EOF</p> <p>%end
&#91;/python&#93;</p> <p>&#91;python&#93;
# 訪問cobbler_web
http://IP/cobbler_web
&#91;/python&#93;


五.報錯總結(jié)

當出現(xiàn)以下信息解決辦法

代碼如下:

&#91;python&#93;
1 : some network boot-loaders are missing from /var/lib/cobbler/loaders
2 : comment out 'dists' on /etc/debmirror.conf for proper debian support
3 : comment out 'arches' on /etc/debmirror.conf for proper debian support
&#91;/python&#93;


解決方法:

代碼如下:

&#91;python&#93;
1.cobbler get-loaders
2 - 3: yun install debmirror && vi /etc/debmirror.conf
@dists="sid"     =>   #@dists="sid"
@arches="i386"   =>   #@arches="i386"

“CentOS下Cobbler的安裝和配置方法”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識可以關(guān)注億速云網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實用文章!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI