1.1 關於Cobbler
Cobbler是一個快速網絡安裝linuxde服務,而且在經過調整也可以支持網絡安裝windows.該工具使用python開發,小巧輕便(才15k行python代碼),使用簡單de命令即可完成PXE網絡安裝環境de配置,同時還可以管理DHCP、DNS、以及yum倉庫、構造系統ISO鏡像。
Cobbler支持命令行管理,web界面管理,還提供了API接口,可以方便二次開發使用。
Cobbler客戶端Koan支持虛擬機安裝和操作系統重新安裝,使重裝系統更便捷。
Cobbler提供以下服務集成:
* PXE服務支持
* DHCP服務管理
* DNS服務管理
* 電源管理
* Kickstart服務支持
* yum倉庫管理
1.2 誰在使用Cobbler
使用Cobblerde組織
Dell
Kyntex
Acision
Sony Pictures Imageworks
Pacific Northwest National Labs
Ohio University (Math Dept, IT)
Speakeasy
triple-it
FreeLinuxPC.org
McClatchy Interactive
Carol
WideXS
LinkShare
Puzzle ITC
Stanford University Libraries
Alstom
Tom Tom
Stone IT
SUNY Potsdam
Bean Town Host
Cisco
Umeng
Ozgur Yazilim A.S.
作爲服務使用Cobbler
Red Hat
Ubuntu
Open Symbolic
Byte Code
Reliam
Dashwire
摘自https://github.com/cobbler/cobbler/wiki/Who-Uses-Cobbler
1.3 系統版本支持
Cobbler最初是支持系統版本Fedora, Red Hat和衍生版本,如CentOS 和Scientific Linux.現在對
Debian 和Ubuntu SuSE支持也相當強。還支持FreeBSD、ESXI等。
koan 在Fedora, Red Hat Enterprise Linux, or CentOS工作正常,其他Linux版本應該也不錯。
1.4 Cobbler 模型
. . .
二、Cobbler服務器環境
2.1 系統版本
lsb_release -a
LSB Version: :core-4.0-amd64:core-4.0-ia32:core-4.0-noarch:graphics-4.0-amd64:graphics-4.0-ia32:graphics-4.0-noarch:printing-4.0-amd64:printing-4.0-ia32:printing-4.0-noarch
Distributor ID: CentOS
Description: CentOS release 5.8 (Final)
Release: 5.8
2.2 磁盤分區容量
df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda2 15G 438M 14G 4% /
/dev/sda7 90G 236M 85G 1% /var
/dev/sda6 7.8G 147M 7.3G 2% /opt
/dev/sda5 7.8G 2.0G 5.4G 28% /usr
/dev/sda1 494M 17M 452M 4% /boot
tmpfs 3.9G 0 3.9G 0% /dev/shm
2.3 內存配置
free -m
total used free shared buffers cached
Mem: 7985 148 7837 0 30 37
-/+ buffers/cache: 80 7905
Swap: 12291 0 12291
2.4 軟件版本
Cobbler版本: 2.2.3
Koan 版本:koan-1.6.6
cman版本:cman-2.0.115
三、安裝Cobbler
3.1 安裝EPEL源
rpm -ivh http://dl.fedoraproject.org/pub/epel/5/x86_64/epel-release-5-4.noarch.rpm
Retrieving http://dl.fedoraproject.org/pub/epel/5/x86_64/epel-release-5-4.noarch.rpm
warning: /var/tmp/rpm-xfer.mDDqhT: Header V3 DSA signature: NOKEY, key ID 217521f6
Preparing… ########################################### [100%]
1:epel-release ########################################### [100%]
3.2 yum安裝Cobbler
Cobbler版本 2.2.3
yum install cobbler httpd rsync tftp-server xinetd dhcp python-ctypes cman pykickstart -y
Loaded plugins: fastestmirror, security
Determining fastest mirrors
* epel: mirrors.ustc.edu.cn
CentOS | 1.3 kB 00:00
CentOS/primary | 1.2 MB 00:00
CentOS 3595/3595
epel | 3.6 kB 00:00
epel/primary_db &nb
sp; | 3.7 MB 00:01
……略……
Transaction Summary
====================================================================================================================================
Install 12 Package(s)
Upgrade 0 Package(s)
Total download size: 3.7 M
……略……
Installed:
cobbler.noarch 0:2.2.3-2.el5 dhcp.x86_64 12:3.0.5-31.el5 python-ctypes.x86_64 0:1.0.2-3.el5
Dependency Installed:
PyYAML.x86_64 0:3.08-4.el5 createrepo.noarch 0:0.4.11-3.el5 libyaml.x86_64 0:0.1.2-3.el5
mkisofs.x86_64 9:2.01-10.7.el5 mod_wsgi.x86_64 0:3.2-2.el5 python-cheetah.x86_64 0:2.0.1-1.el5
python-netaddr.noarch 0:0.5.2-1.el5 python-simplejson.x86_64 0:2.0.9-8.el5 yum-utils.noarch 0:1.1.16-21.el5.centos
Complete!
3.3 配置Cobbler
vim /etc/cobbler/settings #Cobbler主配置文件
sed -i 's/manage_dhcp: 0/manage_dhcp: 1/g' /etc/cobbler/settings
sed -i 's/manage_rsync: 0/manage_rsync: 1/g' /etc/cobbler/settings
配置前後內容對比
diff /etc/cobbler/settings /etc/cobbler/settings_2013-03-10
218c218
< manage_dhcp: 1 #啓用cobbler管理DHCP功能
---
> manage_dhcp: 0
237c237
< manage_rsync: 1 #啓用cobbler管理rsync功能
---
> manage_rsync: 0
248c248
< next_server: 172.17.10.14 # DHCP服務地址
---
> next_server: 127.0.0.1
360c360
< server: 172.17.10.14 # cobbler服務地址
---
> server: 127.0.0.1
3.4 檢查、關閉SELinux、iptables
getsebool
getsebool: SELinux is disabled
service iptables stop
Flushing firewall rules: [ OK ]
Setting chains to policy ACCEPT: filter [ OK ]
Unloading iptables modules: [ OK ]
chkconfig iptables off
3.5 配置tftp、rsync
設置 'disable' 爲 'no'
sed -i '/disable/c\\tdisable\t\t\t= no' /etc/xinetd.d/tftp
sed -i 's/\=\ yes/\=\ no/g' /etc/xinetd.d/rsync
3.6 啓用wsgi模塊
sed -i 's@#LoadModule@LoadModule@g' /etc/httpd/conf.d/wsgi.conf
3.7 生成Cobbler安裝系統root初始密碼
這裏生成密鑰和配置默認密鑰,ks文件引用
openssl passwd -1 -salt 'random-phrase-here' 'hexun'
$1$random-p$Q1IN9LaNg7yhRKJuY50fV1s
加入cobbler配置
vim /etc/cobbler/settings
grep default_password_crypted /etc/cobbler/settings
default_password_crypted: "$1$random-p$Q1IN9LaNg7yhRKJuY50fV1s"
3.8 配置DHCP
cp /etc/cobbler/dhcp.template /etc/cobbler/dhcp.template.$(date +%F) #備份
vim /etc/cobbler/dhcp.template
dhcp.template dhcp.template.2013-03-10
vim /etc/cobbler/dhcp.template #編輯
diff /etc/cobbler/dhcp.template /etc/cobbler/dhcp.template.2013-03-10 |grep '<' #配置前後差異對比
< subnet 172.17.0.0 netmask 255.255.0.0 {
< option routers 172.17.10.119;
< option domain-name "sys.hexun";
< option domain-name-servers 172.17.10.2;
< option subnet-mask 255.255.0.0;
< range dynamic-bootp 172.17.188.60 172.17.188.120;
< default-lease-time 600;
< max-lease-time 1200;
3.9 配置相關服務開機自啓動
/sbin/service httpd start
/sbin/service dhcpd start
/sbin/service xinetd start
/sbin/service cobblerd start
/sbin/chkconfig httpd on
/sbin/chkconfig dhcpd on
/sbin/chkconfig xinetd on
/sbin/chkconfig tftp on
/sbin/chkconfig cobblerd on
3.10 下載引導操作系統文件
cobbler get-loaders
3.11 配置debmiror
yum -y install debmirror
修改 /etc/debmirror.conf 配置文件,註釋掉 @dists 和 @arches 兩行
sed -i 's|@dists=.*|#@dists=|' /etc/debmirror.conf
sed -i 's|@arches=.*|#@arches=|' /etc/debmirror.conf
3.12 檢查Cobbler 配置
cobbler check
No configuration problems found. All systems go. #出現此提示即正常
cobblerd does not appear to be running/accessible #此提示是因爲cobbler服務沒啓動
cobbler check出現de相關報錯處理看下面步驟
3.13 同步配置
cobbler sync