Cobbler介绍

 

  Cobbler是一款自动化操作系统安装的实现,与PXE安装系统的区别就是可以同时部署多个版本的系统,而PXE只能选择一种系统。而如今的架构动辄就是上千台的服务器。而存在一些操作系统不统一的现象,例如最初的架构采用的是CentOS5系列的系统,而新出现了一些技术后,需要新的操作系统的支持,一方面是需要批量部署装机,而另一方面还需要考虑到如果老版本的服务器出现故障后还需要重新去部署。并且提供Web配置页面,可以只需要一些点击就可以完成一些操作。

 

  Cobbler的实现和PXE的方法大同小异,例如都需要安装tftp,dhcp,http等,但是使用yum安装Cobbler的时候,会自动把需要的全部安装上,而不需要去手动一个个的安装。

 

Cobbler 子命令介绍

    cobbler check         #检查cobbler配置

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

    cobbler list          #列出所有的cobbler元素

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

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

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

    cobbler profile       #查看配置信息

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

    cobbler reposync      #同步yum仓库到本地

 

 

以下将实现Centos6 Centos7的安装

 

1Cobbler的安装

yum -y install  cobbler cobbler-web pykickstart debmirrorhttpd syslinux dhcp tftp-server


2)更改settings配置文件

vi /etc/cobbler/settings
next_server: dhcp服务器地址,本机地址
server: cobbler服务器地址,本机地址
manage_dhcp: 1   #0自己管理,1 Cobbler管理,自己选择,不同的选择要对dhcp做不同的配置,下面会讲解
manage_rsync: 1
manage_tftpd:1


3)启用dhcptftprsynchttpd

  • httpd

        service httpd start

 

  • rsynctftp

        vim /etc/xinetd.d/tftp

   修改disable yes => disable no

 

        vim /etc/xinetd.d/rsync

   修改disable yes => disable no

 

        service xined start

 

  • dhcp

        dhcp的使用有两种方法,一是自行管理,自己编写配置文件,网段要和现有的一致

vim /etc/dhcp/dhcpd.conf
subnet 192.168.61.0 netmask 255.255.255.0 {
option routers       192.168.61.2; 
option domain-name-servers 192.168.61.2; 
option subnet-mask     255.255.255.0; 
range dynamic-bootp    192.168.61.221 192.168.61.225;  #dhcp分配的网络地址
filename          "/pxelinux.0";                               #启动文件
default-lease-time     21600; 
max-lease-time       43200; 
next-server        192.168.61.160;                      #tftp服务器地址,本机
}


 

二是由cobbler来管理,它会使用/etc/cobbler/dhcp.template来配置dhcp,所以直接修改这个文件即可

vim /etc/cobbler/dhcp.template
subnet 192.168.61.0 netmask 255.255.255.0 {
    option routers            192.168.61.2;
     option domain-name-servers 192.168.61.2;
    option subnet-mask        255.255.255.0;
    range dynamic-bootp       192.168.61.100 192.168.61.254;
    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";
         }
    }
 
}


 

4)编辑/etc/debmirror.conf文件,把 dists arches 两行注释掉

 

5)如有需要可以修改/etc/cobbler/settings 默认的密码(安装好的系统root密码)

        把新密码填到里面default_password_crypted:"xxxxxxxxxxxx"

 

   这样生成新密码 openssl passwd -1 -salt '随机码' '新密码'

        openssl passwd -1 -salt `openssl rand -hex4` '123456'

 

6)确保iptables是关闭或开放80/443 25151

 

7)启动并检查配置

service cobbler start
cobbler check


以上完成后 cobbler sync  同步一下

 

8)导入安装镜像文件

#先挂载镜像到某个目录
mount /dev/cdrom /mnt
#导入
cobbler import --name=centos6 --path=/mnt
cobbler import --name=centos7 --path=/mnt
--path=xxx 导入的路径
--name=xxx 导入后的名字
service httpd restart
cobbler sync


(导入完成后,会自动在/var/www 下生成一个cobbler目录,下面的ks_mirror目录下会有刚才--name指定名字的目录,光盘的文件都导入这里了,而且自动生成一个yum源。如果打开/etc/httpd/conf.d目录,会发现有一个cobbler.conf,定义了alias /cobbler /var/www/cobbler,可以通过cobbler访问到/var/www/cobbler上。

导入资源后一般都要重启httpdcobbler sync才能生效)

 

9)导入后的检查

        cobbler profile list

   会发现自动添加了一个以--name命名的profile

 

         cobbler distro list

   会发现自动添加了一个以--name命名的distro

 

        cobbler repo list

        没有显示,原因不明

 

10)添加自定义的profile

        cobbler profile add --help

        只需关注:

        --distro=DISTRO NAME

        --kickstart=KICKSTART

        --name=NAME 当前对应的profile名字,即要起的profile名字

        repo不用指,会自动映射合适的

注意:kickstart文件应该放在/var/lib/cobbler/kickstarts 下,可以手动拷贝合适的文件过去用

 

例:添加centos6-web profile

cobblerprofile add --name="centos6-web" --distro=centos6-x86_64--kickstart=/var/lib/cobbler/kickstarts/centos6-web-x86_64.cfg

 

    cobbler sync

(当编辑或增加了一个profile同步后会在/var/lib/tftpboot/pxelinux.cfg/default 文件上新添加一个LABEL

例:

LABEL centos6-web-x86_64

         kernel /p_w_picpaths/centos6.6-x86_64/vmlinux

         MENU LABEL centos6-web-x86_64

         append initrd=/p_w_picpaths/ centos6-web-x86_64/initrd.imgksdevice=bootif text ks=xxxxxxx

 

至此,配置已经全部完成,只要启动要安装系统的电脑,用PXE启动即可看到安装选择界面

 

 

使用cobbler_web进行管理

 

1)编辑/etc/cobbler/modules.conf 设置认证的方式

        [authentication]

        module = authn_configfile

  看上面的注释,默认authn_configfile 使用的是/etc/cobbler/users.digest文件来认证

 

        users.digest文件的生成:

        htdigest /etc/cobbler/users.digest"cobbler title message" cobbler 

        cobbler title message 是认证提示信息,clbbler为用户名,再输入密码即可

 

  最后cobbler sync

        http://192.168.61.160/cobbler_web就可以正常登陆使用了

 

2)使用authn_pam的认证方法登陆

        a、编辑/etc/cobbler/modules.conf,更改验证方式

         [authentication]

        module = authn_pam

 

        b、添加用户

        useradd cobblerweb

 

        c、修改用户配置文件,把用户添加到cobbler管理组

        vim /etc/cobbler/user.conf

        [admins]

        admin = " cobblerweb "

        cobbler = ""

 

  最后重启httpcobbler服务,一定要重启cobbler服务才可以哦

        service httpd restart

        service cobblerd restart

 

        http://192.168.61.160/cobbler_web就可以正常登陆使用了,图形界面的使用非常方便和简单就不一一介绍了

Cobbler 安装及应用