系统: [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
重启服务器