cobbler配置使用

cobbler:二次封装pxe环境:Python研发, 多系统并存基于网络引导系统安装

程序包:cobbler由epel提供

服务:centos7     主配置文件:/etc/cobbler/setting

     systemctl start cobbler.service

     cobbler check:用于检测cobbler搭建环境

直接启动服务并运行cobbler check解决依赖关系:

image.png

由于检测到httpd服务异常,ss -tnl检查服务启动正常,并能够服务,检测selinux策略:

[root@xt ~]# getenforce 

Permissive    

因此重启httpd服务后重新检查后正常运行cobbler:

image.png

如上各问题的解决方法如下所示:显示的问题序号与以下解决的序号不一定对应,需根据cobbler check提示来完成修改:

1、修改/etc/cobbler/settings文件中的server参数的值为提供cobbler服务的主机相应的IP地址或主机名,server 192.168.175.10;

2、修改/etc/cobbler/settings文件中的next_server参数的值为提供PXE服务的主机相应的IP地址,如172.16.100.16;

3、手动检测selinux策略,getenfore 即可,设置为disable,setenfore 0指令可以临时禁制,修改配置文件需要重启系统才生效。

4、设置TFTP的超级守护进程开机自启动,vim /etc/xinetd.d/tftp文件中disable = no;centos7 systemctl enable tftp.socket centos6:chkconfig tftp on

5、如果当前节点可以访问互联网,执行“cobbler get-loaders”命令即可;否则,需要安装syslinux程序包,而后复制/usr/share/syslinux/{pxelinux.0,menu.c32}等文件至/var/lib/cobbler/loaders/目录中;

6、执行“chkconfig rsync on”命令即可,centos7中,systemctl enable|start rsyncd.service

7、注释/etc/debmirror.conf文件中的“@dists="sid";”一行;

8、注释/etc/debmirror.conf文件中的“@arches="i386";”一行;

9、 ksvalidator was not found, install pykickstart,yum安装即可

7、执行“openssl passwd -1 -salt $(openssl rand -hex 4)”生成密码,并用其替换/etc/cobbler/settings文件中default_password_crypted参数的值;

8、执行“yum install cman fence-agents”命令安装相应的程序包即可,提示optional,可以不处理;(高可用才使用,不需要解决)

没解决一个重启一下cobblerd,而后执行“cobbler sync”同步新的配置至cobbler再check问题。

7.debmirror检测未安装,yum -y install debmirror即可

解决完后:2.确保pxelinux.0,menu.c32存在即可:

image.png

配置及启动cobbler所依赖的各服务

cobbler的运行依赖于dhcp、tftp、rsync及dns服务(非必须)。其中dhcp可由dhcpd(isc)提供,也可由dnsmasq提供;tftp可由tftp-server程序包提供,也可由cobbler自带的tftp功能提供;rsync由rsync程序包提供;dns可由bind提供,也可由dnsmasq提供。

cobbler可自行管理这些服务中的部分甚至是全部,但需要配置/etc/cobbler/settings文件中的“manage_dhcp”、“manage_tftpd”、“manage_rsync”和“manage_dns”分别进行定义。另外,由于每种服务都有着不同的实现方式,如若需要进行自定义,需要通过修改/etc/cobbler/modules.conf配置文件中各服务的模块参数的值来实现。

本文采用了独立管理的方式,即不通过cobbler来管理这些服务。

配置dhcp服务

定义好所需的“subnet”及其它参数或选项,而后启动dhcpd守护进程即可。本示例中所用的dhcpd的配置如下所示:


image.png

配置tftp服务

# chkconfig tftp on

# service xinetd restart

cobbler管理:

cobbler <distro|profile|system|repo|image|mgmtclass|package|file> ... 

        [add|edit|copy|getks*|list|remove|rename|report] [options|--help]

cobbler <aclsetup|buildiso|import|list|replicate|report|reposync|sync|validateks|version|signature|get-loaders|hardlink> [options|--help]

使cobbler变得可用的第一步为定义distro,其可以通过为其指定外部的安装引导内核及ramdisk文件的方式实现。而如果已经有完整的系统安装树(如CentOS6的安装镜像)则推荐使用import直接导入的方式进行。

例如,对于已经挂载至/media/cdrom目录的CentOS 7 x86_64的安装镜像,则可以使用类似如下命令进行导入。

#cobbler import --name=centos-7-x86_64-1511 --path=/media/cdrom/

                 --name 定义创建版本名称

image.png

检查cobbler目录下生成的情况:

image.png

导入distro后会生成默认的kickstart文件,kickstart文件放置路径

image.png

因此,如果需要为前面创建的centos-7-x86_64这个distro提供一个可引导安装条目,其用到的kickstart文件为/tmp/centos7.cfg(提供的程序包可以自定义),则可通过如下命令实现。

一个distro表示一个发行版,可提供多个profile文件(ks安装不一样),因此可以指定ks.cfg文件:

[root@xt cobbler]# cobbler profile add --name=centos-7-1511-x86_64-basic --distro=centos-7-1511-x86_64 --kickstart=/var/lib/cobbler/kickstarts/centos7.cfg 

使用:cobbler profile list即可查看结果:

image.png

继续为cobbler提供centos6系统、或者其他操作系统的安装:方法与以上centos7一样:

  1. 挂在centos6的ISO镜像文件

  2. cobbler import --name=  --path= 导入即可

  3. 可以自己提供kickstart文件

导入centos6.5成功

image.png

image.png

安装测试效果:安装界面增加了centos6.5的选项:

image.png

image.png

image.png

cobbler提供多系统基于网络引导安装实现成功。


cobbler-web提供管理界面:Django   http://host/cobbler_web/

安装程序:epel源提供:yum -y install cobbler-web

 配置cobbler_web的认证功能

cobbler_web支持多种认证方式,如authn_configfile、authn_ldap或authn_pam等,默认为authn_denyall,即拒绝所有用户登录。下面说明两种能认证用户登录cobbler_web的方式。

    使用authn_pam模块认证cobbler_web用户

首先修改modules中[authentication]段的module参数的值为authn_pam。

接着添加系统用户,用户名和密码按需设定即可,例如下面的命令所示。

# useradd cblradmin

# echo 'cblrpass' | passwd --stdin cblradmin

而后将cblradmin用户添加至cobbler_web的admin组中。修改/etc/cobbler/users.conf文件,将cblradmin用户名添加为admin参数的值即可,如下所示。

[admins]

admin = "cblradmin"

最后重启cobblerd服务,通过http://1912.168.175.10/cobbler_web访问即可。

     使用authn_configfile模块认证cobbler_web用户

首先修改modules.conf中[authentication]段的module参数的值为authn_configfile。

接着创建其认证文件/etc/cobbler/users.digest,并添加所需的用户即可。需要注意的是,添加第一个用户时,需要为htdigest命令使用“-c”选项,后续添加其他用户时不需要再使用;另外,cobbler_web的realm只能为Cobbler。如下所示。

# htdigest -c /etc/cobbler/users.digest Cobbler cobbler

最后重启cobblerd服务,通过http://192.168.175.10/cobbler_web访问即可。










猜你喜欢

转载自blog.51cto.com/12580678/2137596
今日推荐