系统: [root@cobbler ~]# more /etc/redhat-release CentOS Linux release 7.4.1708 (Core)

一、安装基础软件:  yum -y install wget net-tools curl epel-release 更新:  yum -y update  关闭iptables与selinux:  [root@cobbler ~]# vim /etc/selinux/config  SELINUX=disabled 重启后查看:  [root@cobbler ~]# sestatus  SELinux status: disabled

二、安装基础服务:   yum -y install dhcp httpd xinetd tftp-server rsync fence-agents pykickstart 设置开机启动   systemctl enable xinetd dhcpd httpd rsyncd   systemctl start xinetd dhcpd httpd rsyncd 1、安装cobbler   [root@cobbler ~]# yum -y install cobbler-web 设置开机启动:   systemctl enable cobblerd   systemctl start cobblerd

2、效验cobbler安装条件   [root@cobbler ~]# cobbler check   The following are potential configuration items that you may want to fix:

  1 : comment out 'dists' on /etc/debmirror.conf for proper debian support   2 : comment out 'arches' on /etc/debmirror.conf for proper debian support

  Restart cobblerd and then run 'cobbler sync' to apply changes

3、随机生成一个密码   [root@cobbler ~]# openssl passwd -1 -salt "cobbler" "huangzai"   $1$cobbler$zPOuqy9SLOb87DIQb3RbQ.

4、更改cobbler配置文件 [root@cobbler ~]# vim /etc/cobbler/settings ····· default_password_crypted: "$1$cobbler$zPOuqy9SLOb87DIQb3RbQ." #第三步生成的密码 manage_dhcp: 1 #dhcp服务 manage_tftpd: 1 #xinetd服务 manage_rsync: 1 #rsyncd服务 next_server: 192.168.3.222 #替换成本机IP地址,dhcp服务地址 server: 192.168.3.222 #替换为本机IP地址,cobber服务地址 ······

5、更新load信息: [root@cobbler ~]# cobbler get-loaders task started: 2018-03-06_051434_get_loaders task started (id=Download Bootloader Content, time=Tue Mar 6 05:14:34 2018) downloading https://cobbler.github.io/loaders/README to /var/lib/cobbler/loaders/README downloading https://cobbler.github.io/loaders/COPYING.elilo to /var/lib/cobbler/loaders/COPYING.elilo downloading https://cobbler.github.io/loaders/COPYING.yaboot to /var/lib/cobbler/loaders/COPYING.yaboot downloading https://cobbler.github.io/loaders/COPYING.syslinux to /var/lib/cobbler/loaders/COPYING.syslinux downloading https://cobbler.github.io/loaders/elilo-3.8-ia64.efi to /var/lib/cobbler/loaders/elilo-ia64.efi downloading https://cobbler.github.io/loaders/yaboot-1.3.17 to /var/lib/cobbler/loaders/yaboot downloading https://cobbler.github.io/loaders/pxelinux.0-3.86 to /var/lib/cobbler/loaders/pxelinux.0 downloading https://cobbler.github.io/loaders/menu.c32-3.86 to /var/lib/cobbler/loaders/menu.c32 downloading https://cobbler.github.io/loaders/grub-0.97-x86.efi to /var/lib/cobbler/loaders/grub-x86.efi downloading https://cobbler.github.io/loaders/grub-0.97-x86_64.efi to /var/lib/cobbler/loaders/grub-x86_64.efi *** TASK COMPLETE ***

6、设置tftp配置文件,‘disable'为'no' [root@cobbler ~]# cat /etc/xinetd.d/tftp | grep -v '^#'

service tftp
{
        disable                 = no
        socket_type             = dgram
        protocol                = udp
        wait                    = yes
        user                    = root
        server                  = /usr/sbin/in.tftpd
        server_args             = -B 1380 -v -s /var/lib/tftpboot
        per_source              = 11
        cps                     = 100 2
        flags                   = IPv4
}

7、修改dhcp配置文件 [root@cobbler ~]# vim /etc/cobbler/dhcp.template

ddns-update-style interim;
allow booting;
allow bootp;
ignore client-updates;
set vendorclass = option vendor-class-identifier;
option pxe-system-type code 93 = unsigned integer 16;
subnet 192.168.3.0 netmask 255.255.255.0 {
     option routers             192.168.3.222;
     option domain-name-servers 202.96.209.5,202.96.209.133;
     option subnet-mask         255.255.255.0;
     range dynamic-bootp        192.168.3.60 192.168.3.100;
     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 if option pxe-system-type = 00:09 {
                  filename "grub/grub-x86_64.efi";
          } else {
                  filename "pxelinux.0";
          }
     }

}
.........

三、导入镜像进行配置 1、上传iso镜像到服务器 2、创建文件夹   mkdir -p /data/centos7.0 3、将镜像文件挂载或copy到文件夹   [root@cobbler ~]# mount /dev/cdrom /data/centos7.0/

4、把挂载光盘镜像的mnt目录中的内容导入到cobbler [root@cobbler ~]# cobbler import --path=/data/centos7.0/ --name=cent7.0 task started: 2018-03-06_055628_import task started (id=Media import, time=Tue Mar 6 05:56:28 2018) Found a candidate signature: breed=redhat, version=rhel6 Found a candidate signature: breed=redhat, version=rhel7 Found a matching signature: breed=redhat, version=rhel7 Adding distros from path /var/www/cobbler/ks_mirror/cent7.0: creating new distro: cent7.0-x86_64 trying symlink: /var/www/cobbler/ks_mirror/cent7.0 -> /var/www/cobbler/links/cent7.0-x86_64 creating new profile: cent7.0-x86_64 associating repos checking for rsync repo(s) checking for rhn repo(s) checking for yum repo(s) starting descent into /var/www/cobbler/ks_mirror/cent7.0 for cent7.0-x86_64 processing repo at : /var/www/cobbler/ks_mirror/cent7.0 need to process repo/comps: /var/www/cobbler/ks_mirror/cent7.0 looking for /var/www/cobbler/ks_mirror/cent7.0/repodata/comps.xml Keeping repodata as-is :/var/www/cobbler/ks_mirror/cent7.0/repodata *** TASK COMPLETE ***

5、cobber report查看导入信息 [root@cobbler ~]# cobbler report

distros:
==========
Name                           : cent7.0-x86_64
Architecture                   : x86_64
TFTP Boot Files                : {}
Breed                          : redhat
Comment                        : 
Fetchable Files                : {}
Initrd                         : /var/www/cobbler/ks_mirror/cent7.0/images/pxeboot/initrd.img
Kernel                         : /var/www/cobbler/ks_mirror/cent7.0/images/pxeboot/vmlinuz
Kernel Options                 : {}
Kernel Options (Post Install)  : {}
Kickstart Metadata             : {'tree': 'http://@@http_server@@/cblr/links/cent7.0-x86_64'}
Management Classes             : []
OS Version                     : rhel7
Owners                         : ['admin']
Red Hat Management Key         : <<inherit>>
Red Hat Management Server      : <<inherit>>
Template Files                 : {}

Name                           : rhel7.0-x86_64
Architecture                   : x86_64
TFTP Boot Files                : {}
Breed                          : redhat
Comment                        : 
Fetchable Files                : {}
Initrd                         : /var/www/cobbler/ks_mirror/rhel7.0/images/pxeboot/initrd.img
Kernel                         : /var/www/cobbler/ks_mirror/rhel7.0/images/pxeboot/vmlinuz
Kernel Options                 : {}
Kernel Options (Post Install)  : {}
Kickstart Metadata             : {'tree': 'http://@@http_server@@/cblr/links/rhel7.0-x86_64'}
Management Classes             : []
OS Version                     : rhel7
Owners                         : ['admin']
Red Hat Management Key         : <<inherit>>
Red Hat Management Server      : <<inherit>>
Template Files                 : {}


profiles:
==========
Name                           : cent7.0-x86_64
TFTP Boot Files                : {}
Comment                        : 
DHCP Tag                       : default
Distribution                   : cent7.0-x86_64
Enable gPXE?                   : 0
Enable PXE Menu?               : 1
Fetchable Files                : {}
Kernel Options                 : {}
Kernel Options (Post Install)  : {}
Kickstart                      : /var/lib/cobbler/kickstarts/sample_end.ks
Kickstart Metadata             : {}
Management Classes             : []
Management Parameters          : <<inherit>>
Name Servers                   : []
Name Servers Search Path       : []
Owners                         : ['admin']
Parent Profile                 : 
Internal proxy                 : 
Red Hat Management Key         : <<inherit>>
Red Hat Management Server      : <<inherit>>
Repos                          : []
Server Override                : <<inherit>>
Template Files                 : {}
Virt Auto Boot                 : 1
Virt Bridge                    : xenbr0
Virt CPUs                      : 1
Virt Disk Driver Type          : raw
Virt File Size(GB)             : 5
Virt Path                      : 
Virt RAM (MB)                  : 512
Virt Type                      : kvm

Name                           : rhel7.0-x86_64
TFTP Boot Files                : {}
Comment                        : 
DHCP Tag                       : default
Distribution                   : rhel7.0-x86_64
Enable gPXE?                   : 0
Enable PXE Menu?               : 1
Fetchable Files                : {}
Kernel Options                 : {}
Kernel Options (Post Install)  : {}
Kickstart                      : /var/lib/cobbler/kickstarts/sample_end.ks
Kickstart Metadata             : {}
Management Classes             : []
Management Parameters          : <<inherit>>
Name Servers                   : []
Name Servers Search Path       : []
Owners                         : ['admin']
Parent Profile                 : 
Internal proxy                 : 
Red Hat Management Key         : <<inherit>>
Red Hat Management Server      : <<inherit>>
Repos                          : []
Server Override                : <<inherit>>
Template Files                 : {}
Virt Auto Boot                 : 1
Virt Bridge                    : xenbr0
Virt CPUs                      : 1
Virt Disk Driver Type          : raw
Virt File Size(GB)             : 5
Virt Path                      : 
Virt RAM (MB)                  : 512
Virt Type                      : kvm

6、查看导入列表 [root@cobbler ~]# cobbler distro list cent7.0-x86_64 rhel7.0-x86_64

7、同步所有cobber配置 [root@cobbler ~]# cobbler sync task started: 2018-03-06_061140_sync task started (id=Sync, time=Tue Mar 6 06:11:40 2018) running pre-sync triggers cleaning trees removing: /var/www/cobbler/images/cent7.0-x86_64 removing: /var/lib/tftpboot/pxelinux.cfg/default removing: /var/lib/tftpboot/grub/images removing: /var/lib/tftpboot/grub/efidefault removing: /var/lib/tftpboot/images/cent7.0-x86_64 removing: /var/lib/tftpboot/s390x/profile_list copying bootloaders copying: /var/lib/cobbler/loaders/pxelinux.0 -> /var/lib/tftpboot/pxelinux.0 copying: /var/lib/cobbler/loaders/menu.c32 -> /var/lib/tftpboot/menu.c32 copying: /var/lib/cobbler/loaders/yaboot -> /var/lib/tftpboot/yaboot copying: /usr/share/syslinux/memdisk -> /var/lib/tftpboot/memdisk copying: /var/lib/cobbler/loaders/grub-x86.efi -> /var/lib/tftpboot/grub/grub-x86.efi copying: /var/lib/cobbler/loaders/grub-x86_64.efi -> /var/lib/tftpboot/grub/grub-x86_64.efi copying distros to tftpboot copying files for distro: cent7.0-x86_64 trying hardlink /var/www/cobbler/ks_mirror/cent7.0/images/pxeboot/vmlinuz -> /var/lib/tftpboot/images/cent7.0-x86_64/vmlinuz trying hardlink /var/www/cobbler/ks_mirror/cent7.0/images/pxeboot/initrd.img -> /var/lib/tftpboot/images/cent7.0-x86_64/initrd.img copying images generating PXE configuration files generating PXE menu structure copying files for distro: cent7.0-x86_64 trying hardlink /var/www/cobbler/ks_mirror/cent7.0/images/pxeboot/vmlinuz -> /var/www/cobbler/images/cent7.0-x86_64/vmlinuz trying hardlink /var/www/cobbler/ks_mirror/cent7.0/images/pxeboot/initrd.img -> /var/www/cobbler/images/cent7.0-x86_64/initrd.img Writing template files for cent7.0-x86_64 rendering TFTPD files generating /etc/xinetd.d/tftp processing boot_files for distro: cent7.0-x86_64 cleaning link caches running post-sync triggers running python triggers from /var/lib/cobbler/triggers/sync/post/* running python trigger cobbler.modules.sync_post_restart_services running shell triggers from /var/lib/cobbler/triggers/sync/post/* running python triggers from /var/lib/cobbler/triggers/change/* running python trigger cobbler.modules.scm_track running shell triggers from /var/lib/cobbler/triggers/change/* *** TASK COMPLETE ***

8、重启所有服务

9、安装成功,客户端启动:

10、修改cobber登录密码:   [root@cobbler ~]# htdigest /etc/cobbler/users.digest "Cobbler" cobbler   Changing password for user cobbler in realm Cobbler   New password:   Re-type new password:

11、打开cobber web

cobblerd启动报错 [root@cobbler conf.d]# systemctl status cobblerd ● cobblerd.service - Cobbler Helper Daemon Loaded: loaded (/usr/lib/systemd/system/cobblerd.service; enabled; vendor preset: disabled) Active: inactive (dead) since Mon 2018-03-12 07:09:51 EDT; 18s ago Process: 1644 ExecStartPost=/usr/bin/touch /usr/share/cobbler/web/cobbler.wsgi (code=exited, status=0/SUCCESS) Process: 1643 ExecStart=/usr/bin/cobblerd -F (code=exited, status=0/SUCCESS) Main PID: 1643 (code=exited, status=0/SUCCESS)

Mar 12 07:09:51 cobbler cobblerd[1643]: Traceback (most recent call last): Mar 12 07:09:51 cobbler cobblerd[1643]: File "/usr/bin/cobblerd", line 75, in main Mar 12 07:09:51 cobbler cobblerd[1643]: api = cobbler_api.BootAPI(is_cobblerd=True) Mar 12 07:09:51 cobbler cobblerd[1643]: File "/usr/lib/python2.7/site-packages/cobbler/api.py", ...it__ Mar 12 07:09:51 cobbler cobblerd[1643]: "authn_configfile" Mar 12 07:09:51 cobbler cobblerd[1643]: File "/usr/lib/python2.7/site-packages/cobbler/api.py", ...file Mar 12 07:09:51 cobbler cobblerd[1643]: return module_loader.get_module_from_file(section,name,f...ack) Mar 12 07:09:51 cobbler cobblerd[1643]: File "/usr/lib/python2.7/site-packages/cobbler/module_lo...file Mar 12 07:09:51 cobbler cobblerd[1643]: raise CX(_("Failed to load module for %s/%s") % (categor...ld)) Mar 12 07:09:51 cobbler cobblerd[1643]: CX: 'Failed to load module for authentication/module' Hint: Some lines were ellipsized, use -l to show in full. 解决方法: [root@cobbler ~]# vim /etc/cobbler/modules.conf

[authentication]
module = authn_configfile

重启cobber服务 systemctl restart cobblerd

效验报错: [root@cobbler ~]# cobbler check httpd does not appear to be running and proxying cobbler, or SELinux is in the way. Original traceback: Traceback (most recent call last): File "/usr/lib/python2.7/site-packages/cobbler/cli.py", line 251, in check_setup s.ping() File "/usr/lib64/python2.7/xmlrpclib.py", line 1233, in call return self.__send(self.__name, args) File "/usr/lib64/python2.7/xmlrpclib.py", line 1587, in __request verbose=self.__verbose File "/usr/lib64/python2.7/xmlrpclib.py", line 1273, in request return self.single_request(host, handler, request_body, verbose) File "/usr/lib64/python2.7/xmlrpclib.py", line 1321, in single_request response.msg, ProtocolError: <ProtocolError for 127.0.0.1:80/cobbler_api: 503 Service Unavailable>

解决方法: 关闭selinux: [root@cobbler ~]# vim /etc/selinux/config

SELINUX=disabled

重启服务器