一 、Cobbler简介 Cobbler是一个快速网络安装linux的服务,而且在经过调整也可以支持网络安装windows。该工具使用python开发,小巧轻便(才15k行python代码),使用简单的命令即可完成PXE网络安装环境的配置,同时还可以管理DHCP、DNS、yum仓库、构造系统ISO镜像。 Cobbler支持命令行管理,web界面管理,还提供了API接口,方便二次开发 Cobbler客户端Koan支持虚拟机安装和操作系统重新安装,使重装系统更便捷。 Cobbler提供的功能 使用Cobbler,您无需进行人工干预即可安装机器。Cobbler设置一个PXE引导环境(它还可以使用yaboot支持PowerPC),并控制与安装相关的所有方面,比如网络引导服务(DHCP和TFTP)与存储库镜像。当希望安装一台新机器时,Cobbler可以: 1)使用一个以前定义的模板来配置DHCP服务(如果启用了管理DHCP) 2)将一个存储库(yum或rsync)建立镜像或解压缩一个媒介,以注册一个新操作系统 3)在DHCP配置文件中为需要安装的机器创建一个条目,并使用指定的参数(IP和MAC) 4)在TFTP服务目录下创建适当的PXE文件 5)重新启动DHCP服务以反应更改 6)重新启动机器以开始安装(如果电源管理已启动) Cobbler支持众多的发行版:RedHat、Fedora、CentOS、Debian、Ubuntu和SUSE。当添加一个操作系统(通常通过使用ISO文件)时,Cobbler知道如何解压缩合适的文件并调整网络服务,以正确引导机器。 Cobbler可以使用kickstart模板。基于Red Hat或Fedora的系统使用kickstart文件来自动化安装流程。通过使用模板,就会拥有基本的kickstart模板,然后定义如何针对一种配置文件或机器配置而替换其中的变量。例如,一个模板可能包含两个变量$domain和$machine_name.在Cobbler配置中,一个配置文件指定domain=mydomain.com,并且每台使用该配置文件的机器在machine_name变量中指定其名称。该配置文件的所有机器都使用相同的kickstart安装且针对domain=mydomain.com进行配置,但每台机器拥有其自己的机器名称。您仍然可以使用kickstart模板在不同的域中安装其他机器并使用不同的机器名称。 为了协助管理系统,Cobbler可通过fence scripts连接到各个电源管理环境。Cobbler支持apc_snmp、bladecenter、bullpap、drac、ether_wake、ilo、integrity、ipmilan、ipmitool、lpar、rsa、virsh和wti。要重新安装一台机器,可运行reboot system foo命令,而且Cobbler会使用必要的 和信息来为您运行恰当的fence scripts(比如机器插槽数)。 除了这些特性,还可以使用一个配置管理系统(CMS)。你有两种选择:该工具内的一个内部系统,或者现成的外部CMS,比如Chef或Puppet。借助内部系统,你可以指定文件模板,这些模板会依据配置参数进行处理(与kickstart模板的处理方式一样),然后复制到你指定的位置。如果必须自动将配置文件部署到特定机器,那么此功能很有用 使用koan客户端,Cobbler可从客户端配置虚拟机并重新安装系统。 二、Cobbler的设计方式 Cobbler的配置结构基于一组注册的对象。每个对象表示一个与另一个实体相关联的实体(该对象指向另一个对象,或者另一个对象指向该对象)。当一个对象指向另一个对象时,它就继承了被指向对象的数据,并可覆盖或添加更多特定信息。以下对象类型的定义 Distros(发行版):表示一个操作系统,它承载了内核和initrd的信息,以及内核参数等其他数据 Profile(配置文件):包含一个发行版、一个kickstart文件以及可能的存储库,还包含更多特定的内核参数等其他数据 Systems(系统):表示要配给的额机器。它包含一个配置文件或一个景象,还包含IP和MAC地址、电源管理(地址、凭据、类型)、(网卡绑定、设置valn等) Repository(镜像):保存一个yum或rsync存储库的镜像信息 Image(存储库):可替换一个包含不属于此类比的额文件的发行版对象(例如,无法分为内核和initrd的对象)。 基于注册的对象以及各个对象之间的关联,Cobbler知道如何更改文件系统以反应具体配置。因为系统配置的内部是抽象的,所以您可以仅关注想要执行的操作。
三、Cobbler各个组件的关系
通过cobbler管理的或者手动管理的服务
运维自动化之Cobbler安装配置 http://linux.it.net.cn/e/server/setserver/2014/1129/9198.html RHEL5.5下Cobbler的配置 http://linux.it.net.cn/Redhat/2014/1129/9199.html 运维自动化部署Cobbler之服务安装篇 http://linux.it.net.cn/e/server/setserver/2014/1129/9200.html 利用Cobbler批量快速网络安装CentOS http://linux.it.net.cn/CentOS/server/set/2014/1129/9201.html CentOS 6.3上安装部署 Cobbler http://linux.it.net.cn/CentOS/server/set/2014/1129/9202.html Cobbler批量部署Linux系统 http://linux.it.net.cn/e/server/setserver/2014/1129/9203.html 四、安装配置Cobbler 1、安装方式 cobbler可以手动编译安装,也可以基于yum源的安装,如果使用yum源安装,则需要配置epel源epel源可以通过下载官网的epel源的目录来实现https://fedoraproject.org/wiki/EPEL 1 # yum -y install cobbler cobbler-web pykickstart debmirror 2、检查配置文件,需要在启动cobblerd和httpd服务的前提下检查
[root@c3 ~]# service httpd start 以上8个问题的解决方法 1.修改/etc/cobbler/settings文件中的server参数的值为提供cobbler服务的主机对应的ip地址 server: 192.168.13.8 2.修改/etc/cobbler/settings文件的next_server参数的值为提供PXE服务的主机的ip next_server: 192.168.13.8 3.如果当前节点可以访问互联网,执行“cobbler get-loaders”命令下载pxelinux.0,menu.c32,elibo.efi,yaboot文件,否则则需要安装syslinux程序包,复制/usr/share/syslinux/中的pxelinux.0,menu.c32等文件至/var/lib/cobbler/loaders目录中 4.将/etc/xinetd.d/rsync 中的disable改为no,或者执行 chkconfig rsync on 5.注释/etc/debmirror.conf文件中的“@dists="sid";”一行 6.注释/etc/debmirror.conf文件中的“@arches="i386";”一行 7.执行“openssl passwd -1 -salt `pensshl rand -hex 4`”生成密码,并将密码串替换掉/etc/cobbler/settings中的default_password_crypted default_password_crypted: "$1$6a385fbf$iOHgbfJ0BJRQh78yAMA2L1" 8.安装cam和fence-agents来实现电源管理 同步数据
[root@c3 cobbler]# cobbler sync |