1. Summary:
To make my work easier!
Here is the website http://cobbler.github.io/
2. Environment
2.1 OS: CentOS Linux release 7.2.1511 (Core)
2.2 Softwares and Packages:
cobbler 2.6.11-1.el7
dhcp 12:4.2.5-42.el7.centos
3. Installation
yum install cobbler -y
=============================================================================================================================================================================================== Package Arch Version Repository Size =============================================================================================================================================================================================== Installing: cobbler x86_64 2.6.11-1.el7 epel 585 k Installing for dependencies: PyYAML x86_64 3.10-11.el7 base 153 k apr x86_64 1.4.8-3.el7 base 103 k apr-util x86_64 1.5.2-6.el7 base 92 k httpd x86_64 2.4.6-40.el7.centos.4 updates 2.7 M httpd-tools x86_64 2.4.6-40.el7.centos.4 updates 83 k libyaml x86_64 0.1.4-11.el7_0 base 55 k mailcap noarch 2.1.41-2.el7 base 31 k mod_wsgi x86_64 3.4-12.el7_0 base 76 k python-cheetah x86_64 2.4.4-5.el7.centos extras 341 k python-markdown noarch 2.4.1-1.el7.centos extras 186 k python-pillow x86_64 2.0.0-19.gitd1c6db8.el7 base 438 k python-pygments noarch 1.4-9.el7 base 599 k python-simplejson x86_64 3.3.3-1.el7 epel 171 k syslinux x86_64 4.05-12.el7 base 990 k tftp-server x86_64 5.2-12.el7 base 44 k Transaction Summary =============================================================================================================================================================================================== Install 1 Package (+15 Dependent packages)
yum install dhcp -y
=============================================================================================================================================================================================== Package Arch Version Repository Size =============================================================================================================================================================================================== Installing: dhcp x86_64 12:4.2.5-42.el7.centos base 511 k Transaction Summary =============================================================================================================================================================================================== Install 1 Package
yum install xinetd -y
=============================================================================================================================================================================================== Package Arch Version Repository Size =============================================================================================================================================================================================== Installing: xinetd x86_64 2:2.3.15-12.el7 base 128 k Transaction Summary =============================================================================================================================================================================================== Install 1 Package
yum install cobbler-web -y #Web management based on django, can be ignore if you don‘t want, defualt using httpd
=============================================================================================================================================================================================== Package Arch Version Repository Size =============================================================================================================================================================================================== Installing: cobbler-web noarch 2.6.11-1.el7 epel 285 k Installing for dependencies: mod_ssl x86_64 1:2.4.6-40.el7.centos.4 updates 104 k python-django noarch 1.6.11-5.el7 epel 4.0 M python-django-bash-completion noarch 1.6.11-5.el7 epel 16 k Transaction Summary =============================================================================================================================================================================================== Install 1 Package (+3 Dependent packages)
4. Configuration
4.1 Path
etc: /etc/cobbler/*
bin: /usr/bin/cobbler* /usr/sbin/tftpd.py
lib /usr/lib/python2.7/site-packages/*
systemctl: /usr/lib/systemd/system/cobblerd.service
doc: /usr/share/doc/cobbler-2.6.11 /usr/share/man/man1/cobbler.1.gz
deport: /var/lib/tftpboot/
log: /var/log/cobbler
web: /var/www/cobbler
4.2 Process
cobbler: systemctl enable/start/stop/restart cobblerd.service
httpd: systemctl enable/start/stop/restart httpd.service
dhcp: systemctl enable dhcpd.service
rsyncd: systemctl enable rsyncd.service
4.3 Configuration
4.3.1 check
[[email protected] yum.repos.d]# cobbler check The following are potential configuration items that you may want to fix: 1 : The ‘server‘ field in /etc/cobbler/settings must be set to something other than localhost, or kickstarting features will not work. This should be a resolvable hostname or IP for the boot server as reachable by all machines that will use it. # this is the address of the cobbler server -- as it is used # by systems during the install process, it must be the address # or hostname of the system as those systems can see the server. # if you have a server that appears differently to different subnets # (dual homed, etc), you need to read the --server-override section # of the manpage for how that works. >>server: 127.0.0.1 ==> server: 192.168.1.99 # Change the server to your IP 2 : For PXE to be functional, the ‘next_server‘ field in /etc/cobbler/settings must be set to something other than 127.0.0.1, and should match the IP of the boot server on the PXE network. # if using cobbler with manage_dhcp, put the IP address # of the cobbler server here so that PXE booting guests can find it # if you do not set this correctly, this will be manifested in TFTP open timeouts. >>next_server: 127.0.0.1 ==> server: 192.168.1.99 3 : change ‘disable‘ to ‘no‘ in /etc/xinetd.d/tftp >>disable = yes ==> disable = no 4 : some network boot-loaders are missing from /var/lib/cobbler/loaders, you may run ‘cobbler get-loaders‘ to download them, or, if you only want to handle x86/x86_64 netbooting, you may ensu re that you have installed a *recent* version of the syslinux package installed and can ignore this message entirely. Files in this directory, should you want to support all architectures, should include pxelinux.0, menu.c32, elilo.efi, and yaboot. The ‘cobbler get-loaders‘ command is the easiest way to resolve these requirements. >> run command "cobbler get-loaders" 5 : enable and start rsyncd.service with systemctl >> rum command "systemctl enable rsyncd.service" 6 : debmirror package is not installed, it will be required to manage debian deployments and repositories >> Can be ignored. No package for CentOS 7. If you are using CentOS 6, try http://rpmfind.net/linux/rpm2html/search.php?query=debmirror 7 : The default password used by the sample templates for newly installed machines (default_password_crypted in /etc/cobbler/settings) is still set to ‘cobbler‘ and should be changed, try: "o penssl passwd -1 -salt ‘random-phrase-here‘ ‘your-password-here‘" to generate new one8 : fencing tools were not found, and are required to use the (optional) power management features. install cman or fence-agents to use them >> openssl passwd -1 -salt ‘cobbler‘ ‘Passw0rd‘ Restart cobblerd and then run ‘cobbler sync‘ to apply changes.
4.3.2 configuration
create cobbler management account: htdigest /etc/cobbler/users.digest "cobbler" cobbler
change "/etc/cobbler/settings"
# set to 1 to enable Cobbler‘s DHCP management features. # the choice of DHCP management engine is in /etc/cobbler/modules.conf manage_dhcp: 0 ==> manage_dhcp: 1 # if this setting is set to 1, cobbler systems that pxe boot # will request at the end of their installation to toggle the # --netboot-enabled record in the cobbler system record. This eliminates # the potential for a PXE boot loop if the system is set to PXE # first in it‘s BIOS order. Enable this if PXE is first in your BIOS # boot order, otherwise leave this disabled. See the manpage # for --netboot-enabled. pxe_just_once: 0 ==> pxe_just_once: 1 # set to 1 to enable Cobbler‘s RSYNC management features. manage_rsync: 0 ==> manage_rsync: 1
change "/etc/cobbler/dhcp.template"
subnet 192.168.1.0 netmask 255.255.255.0 { option routers 192.168.1.5; option domain-name-servers 192.168.1.1; option subnet-mask 255.255.255.0; range dynamic-bootp 192.168.1.100 192.168.1.254; ==> range dynamic-bootp 192.168.1.200 192.168.1.254; default-lease-time 21600; max-lease-time 43200; next-server $next_server;
mount iso
#mount -t auto -o loop /deport/BaiduYunDownload/rhel-server-7.2-x86_64-dvd.iso /deport/mnt/RHEL72/ #cobbler import --path=/deport/mnt/RHEL72 --name=rhel7.2 task started: 2016-11-14_132914_import task started (id=Media import, time=Mon Nov 14 13:29:14 2016) 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/rhel7.2: creating new distro: rhel7.2-x86_64 trying symlink: /var/www/cobbler/ks_mirror/rhel7.2 -> /var/www/cobbler/links/rhel7.2-x86_64 creating new profile: rhel7.2-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/rhel7.2 for rhel7.2-x86_64 processing repo at : /var/www/cobbler/ks_mirror/rhel7.2 need to process repo/comps: /var/www/cobbler/ks_mirror/rhel7.2 looking for /var/www/cobbler/ks_mirror/rhel7.2/repodata/*comps*.xml Keeping repodata as-is :/var/www/cobbler/ks_mirror/rhel7.2/repodata processing repo at : /var/www/cobbler/ks_mirror/rhel7.2/addons/HighAvailability need to process repo/comps: /var/www/cobbler/ks_mirror/rhel7.2/addons/HighAvailability looking for /var/www/cobbler/ks_mirror/rhel7.2/addons/HighAvailability/repodata/*comps*.xml Keeping repodata as-is :/var/www/cobbler/ks_mirror/rhel7.2/addons/HighAvailability/repodata processing repo at : /var/www/cobbler/ks_mirror/rhel7.2/addons/ResilientStorage need to process repo/comps: /var/www/cobbler/ks_mirror/rhel7.2/addons/ResilientStorage looking for /var/www/cobbler/ks_mirror/rhel7.2/addons/ResilientStorage/repodata/*comps*.xml Keeping repodata as-is :/var/www/cobbler/ks_mirror/rhel7.2/addons/ResilientStorage/repodata *** TASK COMPLETE ***
restart services
#systemctl restart cobblerd.service #systemctl restart xinetd.service #systemctl restart dhcpd.service #cobbler sync
4.4 Commands
[[email protected] mnt]# cobbler distro list rhel7.2-x86_64 [[email protected] mnt]# cobbler profile list rhel7.2-x86_64 [[email protected] mnt]#
4.5 Web management
https://192.168.1.99/cobbler_web