运维自动化部署Cobbler之服务安装篇
一、概述
服务最好安装在 CentOS下,它需要Python支持
Cobbler服务是一个容器,它整合了以下几个开源软件:
1 Dhcp
2 Dns (可选bind,dnsmasq)
3 Kickstart/PXE
4 Apache(提供kickstart 的安装源,并提供定制化的kickstart配置)
5 Tftp (PXE启动时需要)
同时,它和apache做了深度整合
通过 cobbler,可以实现对RedHat/Centos/Fedora系统的快速部署,同时也支持SUSE 和Debian(Ubuntu)系统
综上所述,一个理想的安装环境是:
1 | 系统 | Centos 5/6 |
2 | Python | Python2.4以上 (更低的版本没有测试过) |
3 | Apache | Apache1/2 都可以,须打开模块:mod_wsgi 以支持Cobbler的相关python代码 |
4 | Dhcp | 必选项(很多定制化选项,都需要修改Dhcp配置) |
5 | Bind | 可选 |
6 | Tftp |
相关配置参数:
1 | 服务器IP | 192.168.100.1/24 , 192.168.3.1/24 |
2 | Cobbler服务 监听IP | 192.168.100.1 |
3 | DHCP 可配置IP段 | 192.168.100.100/24 --- 192.168.100.180/24 192.168.3.2/24 --- 192.168.3.128/24 注意 : 我的配置中有2段IP,其中第二段 是为cobbler准备的 |
二、 安装
1) 定义 Yum源
可根据自己所在地选择离自己近的镜像源,比如mirrors.163.com或mirrors.sohu.com
相关配置文件: /etc/yum.repos.d/CentOS-Base.repo
2) 安装 epel源
Centos5 32位: rpm -Uvh http://mirrors.ustc.edu.cn/fedora/epel/5/i386/epel-release-5-4.noarch.rpm
Centos5 64位: rpm -Uvh http://mirrors.ustc.edu.cn/fedora/epel/5/x86_64/epel-release-5-4.noarch.rpm
Centos6 32位: rpm -Uvh 'http://mirrors.ustc.edu.cn/fedora/epel/6/i386/epel-release-6-7.noarch.rpm'
Centos6 64位: rpm -Uvh 'http://mirrors.ustc.edu.cn/fedora/epel/6/x86_64/epel-release-6-7.noarch.rpm'
确定是否正确安装 :
yum list|grep -E "^epel"
epel-release.noarch 5-4 installed
也可以用这个命令: rpm -qa |grep -i epel
3) 安装cobbler服务
A) yum -y install cobbler
确认是否正确安装 :
rpm -qa |grep -i cobbler
B) 安装其它需要的服务
yum -y install cman tftp-server dhcp cobbler cobbler-web bind pykickstart rsync
根据需要来,比如 我的测试环境不需要bind,就没有安装
需要确认 mod_wsgi已经正确安装,否则需要手动安装
yum -y install mod_wsgi
确认apache配置已经 加载wsgi_module: /etc/httpd/conf.d/wsgi.conf
4) 安装debmirror
debmirror 可以用来下载 ubuntu 12.04的镜像源 来做本地源.
目前debmirrors, 只能使用rpm包安装, 先装依赖包
yum -y install ed patch perl perl-Compress-Zlib perl-Cwd perl-Digest-MD5 perl-Digest-SHA1 perl-LockFile-Simple perl-libwww-perl
安装debmirrors :
rpm -Uvh 'http://mirrors.ustc.edu.cn/fedora/epel/5Server/x86_64/debmirror-20090807-1.el5.noarch.rpm'
5) 关闭selinux 和防火墙
sed -i '/^SELINUX=/ s/^SELINUX=.*/SELINUX=disabled/g' /etc/selinux/config
setenforce 0
//为调试方便,暂时关闭防火墙
service iptables stop
6) 启动Cobbler服务
/etc/init.d/cobblerd start
7) 可能会缺少的包:
请 注意察看 cobbler服务启动的报错信息
我第一次安装时候就遇到有关 ctypes的报错,只能手动安装
yum -y install python-ctypes