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