1.安装软件包

http://p_w_picpaths.51cto.com/files/uploadimg/20110901/1042141.jpg


yum -y install cobbler dhcp tftp rsync httpd cobbler-web


2.关闭SELinux

setenforce 0


3.启动Cobbler


/etc/init.d/cobblerd start

4.启动HTTPD


/etc/init.d/httpd start


5.配置HTTP服务

# vim /etc/httpd/conf/httpd.conf 

ServerName xxxx:80


6.启动wsgi模块

# vim /etc/httpd/conf.d/wsgi.conf 

LoadModule wsgi_module modules/mod_wsgi.so


7.配置TFTP和RSYNC

# vim /etc/xinetd.d/tftp 

 disable                 = no


#chkconfig tftp on


# vim /etc/xinetd.d/rsync 

disable = no



#chkconfig rsync on


# service xinetd restart


8.配置Cobbler主配置文件

# vim /etc/cobbler/settings

server选项是设置cobbler服务端的IP地址

server: xxxx


next_server选项是DHCP/PXE网络引导文件被下载的TFTP服务器的IP

next_server: xxxx


pxe_just_once选项用于设置PXE安装只允许一次,防止误重装系统

pxe_just_once: 1


生产cobbler安装系统root初始密码

先用openssl生成密码串

-1 这里是数字1

openssl passwd -1 -salt ‘任间字符’ ‘密码’ (是数字1 不是字母L)

# openssl passwd -1 -salt 'xxx' '123456a'

# vim /etc/cobbler/settings

default_password_crypted: "$1$xxx$GixGhTQvUbfvgwZDIwwKr1"

系统安装完成后的root初始密码就是123456a


9.Cobbler配置管理rsync

# vim /etc/cobbler/settings

manage_rsync: 1


10.Cobbler配置管理DHCP

启用Cobbler管理DHCP

# vim /etc/cobbler/settings

manage_dhcp: 1


修改/etc/cobbler/dhcp.template

# vim /etc/cobbler/dhcp.template 


subnet 192.168.2.0 netmask 255.255.255.0 {
     option routers             192.168.2.252;
     option domain-name-servers 8.8.8.8;
     option subnet-mask         255.255.255.0;
     range dynamic-bootp        192.168.2.137 192.168.2.141;
     default-lease-time         21600;
     max-lease-time             43200;
     next-server                $next_server;
     class "pxeclients" {
          match if substring (option vendor-class-identifier, 0, 9) = "PXEClient";
          if option pxe-system-type = 00:02 {
                  filename "ia64/elilo.efi";
          } else if option pxe-system-type = 00:06 {
                  filename "grub/grub-x86.efi";
          } else if option pxe-system-type = 00:07 {
                  filename "grub/grub-x86_64.efi";
          } else {
                  filename "pxelinux.0";
          }
     }

}


如果是多网卡需要指定DHCP服务的网络接口

# vim /etc/sysconfig/dhcpd

DHCPDARGS=eth0


然后执行cobbler sync

然后测试dhcp服务器配置是否正确,可以看到cobbler把/etc/cobbler/dhcp.template同步到/etc/dhcp/dhcpd.conf 了



11.设置debmirror

# vim /etc/debmirror.conf 

#@dists=

#@arches=




Cobbler 子命令介绍

-------------------------------------------------------------------------------------------

cobbler check          #检查cobbler配置

cobbler sync            #同步配置到dhcp pxe和数据目录

cobbler list              #列出所有的cobbler元素

cobbler import          #导入安装的系统光盘镜像

cobbler report          #列出各元素的详细信息

cobbler distro          #查看导入的发行版系统信息

cobbler profile         #查看配置信息

cobbler system         #查看添加的系统信息

cobbler reposync       #同步yum仓库到本地

cobbler signature update

cobbler --help           #获得cobbler的帮助 

cobbler distro --help  #获得cobbler子命令的帮助


12.加载部分缺失的启动文件

# cobbler get-loaders


13.检查cobbler配置

# cobbler check

重新启动和更新相关配置

# service cobblerd restart


查看cobbler监听端口

# ss -tulnp|grep cobbler


设置相关服务开机自动启动

# chkconfig httpd on

# chkconfig xinetd on

# chkconfig cobblerd on

# chkconfig dhcpd on



14.安装和配置Cobbler的WEB管理界面

使用WEB界面管理Cobbler很方便,需要安装cobbler-web软件包


设置cobbler web登录的用户名和密码

# htdigest /etc/cobbler/users.digest "Cobbler" cobbler


配置cobbler web登录认证

# vim /etc/cobbler/modules.conf

[authentication]

module = authn_configfile


同步cobbler

# cobbler sync


重启cobbler 与http 

# /etc/init.d/cobblerd restart

# /etc/init.d/httpd restart



也可以使用pam认证:

在/etc/cobbler/modules.conf文件中修改认证方式为authn_pam 

module = authn_pam

新加用户 

useradd cobbleradmin 

passwd cobbleradmin


在/etc/cobbler/users.conf文件中把新加的用户加入cobbler管理员组

# vim /etc/cobbler/users.conf 

[admins]

admin = "cobbler"



访问WEB页面

http://xxxx/cobbler_web

cobbler.png


16.使用cobbler

mount -o loop /soft/CentOS-6.3-x86_64-bin-DVD1.iso /mnt/

cobbler import --path=/mnt/ --name=CentOS-6.3 --arch=x86_64



命令格式:cobbler import --path=镜像路径 -- name=安装引导名 --arch=32位或64位

参数说明: 

--name    为安装源定义一个名字

--arch    指定安装源是32位还是64位、ia64, 目前支持的选项有: x86│x86_64│ia64


cobbler会将镜像中的所有安装文件拷贝到本地一份

/var/www/cobbler/ks_mirror/CentOS-6.3-x86_64/


导入过后可以对比一下文件大小

#du -sh /var/www/cobbler/ks_mirror/CentOS-6.3-x86_64/

#du -sh /mnt/



如果上述两个命令执行过显示的结果出入较大, 则可能文件没有正常导入

在重新导入之前最好先把之前的内容删除再导入

cobbler [distro] remove –name=[CentOS-6.6] 方括号中的内容根据自己的情况来填写 , 更多命令通过cobbler –help 来查看

剩下其它系统导入方法类似,只是名字和路径更改下即可。重复上面的操作,把其他的系统镜像文件导入到Cobbler导入完成之后,可通过 cobbler list 来查看导入的结果。


创建kickstarts自动安装脚本(For Centos/RHEL)


CentOS 6的Kickstart参数资料

https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/6/html/Installation_Guide/s1-kickstart2-options.html


默认kickstart文件是/var/lib/cobbler/kickstarts/sample.ks,需要手动为每个发行版单独指定,或单独修改。


自定义ks文件

/var/lib/cobbler/kickstarts

# vim CentOS-6.3-x86_64.ks 


可以使用ksvalidator程序验证kickstart文件中是否有语法错误

# ksvalidator CentOS-6.3-x86_64.ks 


修改profile指定新的KS启动文件

查看profile设置

# cobbler profile report  --name CentOS6.3-x86_64


查看安装镜像文件信息

# cobbler distro report  --name CentOS6.3-x86_64


移除profile

# cobbler profile remove   --name CentOS6.3-x86_64



添加profile

# cobbler profile add --name=CentOS-6.3-x86_64 --distro=CentOS-6.3-x86_64 --kickstart=/var/lib/cobbler/kickstarts/CentOS-6.3-x86_64.ks  


再次检查profile

# cobbler check



注意:


kickstart自动安装文件需要预先配置好

每次修改完配置文件,需要执行一次同步操作:cobbler sync 配置才能生效

kickstart自动安装文件可以用工具生成(需要用到图形界面操作)

yum  install system-config-kickstart #安装

yum groupinstall "X Window System" #安装X Window图形界面

system-config-kickstart #运行kickstart配置



在使用bobbler profile add添加配置文件以后使用cobbler sync同步,其实是把刚才配置的改变写入

/var/lib/tftpboot/pxelinux.cfg/default



为Cobbler添加RPM仓库

# cobbler repo add --mirror=http://mirrors.ustc.edu.cn/epel/6/x86_64/  --name=epel6-x86_64   --arch=x86_64 --breed=yum


这个只是对centos有效,如果你吧repo添加到profle,他会自动添加到节点上的repo上,指向内网,非常方便。

# cobbler profile edit --name=CentOS-6.3-x86_64 --repos="epel6-x86_64"



# cobbler reposync

如果执行出错,可以直接手动执行

/usr/bin/reposync -l -n -d --config=/var/www/cobbler/repo_mirror/epel6-x86_64/.origin/epel6-x86_64.repo --repoid=epel6-x86_64 --download_path=/var/www/cobbler/repo_mirror -a x86_64


同步Cobbler配置

注:每次更改Kickstart 配置文件,都需要使用cobbler sync重新同步所有配置

# cobbler sync






17.添加指定客户机系统配置到Cobbler

 指定一个网段使用特定的装机配置

# cobbler system add --name=xgc  --interface=eth0    --subnet=172.28.2.0/24 --profile=CentOS-6.3-x86_64




cobbler check

cobbler sync


18.说明

cobbler有许多的配置文件,但是只有少部分基本功能需要修改。
Cobbler最主要的setting file就是/etc/cobbler/settings。Cobbler2.4.0开始引入动态修改模式(Dynamic Settings),我们只需启动这一模式,便不用再手动修改这个文件了。该文件是YAML格式的,如果直接修改setting文件,则必须重启cobbler服务才会生效,但如果是通过CLI命令或者是Web GUI进行修改的话,改动会立即生效,无需重启服务。
修改allow_dynamic_settings的值为1


修改完成后重新启动cobbler

/etc/init.d/cobblerd restart


可以通过命令行动态设置


cobbler setting report

cobbler setting report [--name=option]

cobbler setting edit --name=option --value=xxx




1)、Cobbler配置文件目录:/etc/cobbler
/etc/cobbler/settings #cobbler主配置文件
/etc/cobbler/dhcp.template #DHCP服务的配置模板
/etc/cobbler/tftpd.template #tftp服务的配置模板
/etc/cobbler/rsync.template #rsync服务的配置模板
/etc/cobbler/iso #iso模板配置文件
/etc/cobbler/pxe #pxe模板文件
/etc/cobbler/power #电源的配置文件
/etc/cobbler/users.conf #Web服务授权配置文件
/etc/cobbler/users.digest #用于web访问的用户名密码配置文件
/etc/cobbler/dnsmasq.template #DNS服务的配置模板
/etc/cobbler/modules.conf #Cobbler模块配置文件

2)、Cobbler数据目录:/var/lib/cobbler
/var/lib/cobbler/config #配置文件
/var/lib/cobbler/triggers #Cobbler命令
/var/lib/cobbler/kickstarts #默认存放kickstart文件
/var/lib/cobbler/loaders #存放的各种引导程序

3)、系统安装镜像目录:/var/www/cobbler
/var/www/cobbler/ks_mirror #导入的系统镜像列表
/var/www/cobbler/p_w_picpaths #导入的系统镜像启动文件
/var/www/cobbler/repo_mirror #yum源存储目录

4)、日志目录:/var/log/cobbler
/var/log/cobbler/install.log #客户端系统安装日志
/var/log/cobbler/cobbler.log #cobbler日志





###########################################################

排错经历

部分服务器默认是em开始的网卡,而不是eth开始的网卡

在使用cobbler安装系统的过程中,kickstart文件中的网卡识别有两种配置方式

network --bootproto=dhcp   --device=em1

或者

$SNIPPET('network_config')









参考资料:

http://os.51cto.com/art/201109/288604.htm

http://werewolftj.blog.51cto.com/1606482/1673779

https://github.com/cobbler/cobbler/issues/367

http://www.chenshake.com/centos6-4-installation-and-configuration-cobbler-2-4/

https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/6/html/Installation_Guide/s1-kickstart2-options.html