环境介绍
Cobbler 操作系统: Centos-7.2-x86_64
Cobbler服务器地址: 10.90.0.10
部署 Cobbler
安装 Centos epel 原
[root@node1 ~]# rpm -Uvh https://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-9.noarch.rpm-
安装软件&启动服务
[root@node1 ~]# yum install httpd dhcp tftp python-ctypes cobbler cobbler-web pykickstart fence-agents
[root@node1 ~]# systemctl start cobblerd.service
[root@node1 ~]# systemctl enable httpd
[root@node1 ~]# systemctl start httpd
# 下载cobbler相关组件
[root@node1 ~]# cobbler get-loaders
出现*** TASK COMPLETE ***字符表示下载成功
检查需要修改的配置:由于不同的环境,提示会不一样,只需要安装提示内容一一解决即可 -
检查需要修改的配置:由于不同的环境,提示会不一样,只需要安装提示内容一一解决即可。
[root@localhost ~]# 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.
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.
3 : change 'disable' to 'no' in /etc/xinetd.d/tftp
4 : enable and start rsyncd.service with systemctl
5 : debmirror package is not installed, it will be required to manage debian deployments and repositories
6 : 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: "openssl passwd -1 -salt 'random-phrase-here' 'your-password-here'" to generate new one Restart cobblerd and then run 'cobbler sync' to apply changes.
解决第一个和第二个提示:设置cobbler地址和设置dhcp服务器地址
[root@node1 ~]# vim /etc/cobbler/settings
next_server: 10.90.0.10
server: 10.90.0.10
第三个和第四个提示解决:启动tftp和rsyncd服务
[root@node1 ~]# yum -y install tftp-server xinetd
启用tftp服务:
[root@node1 ~]# vim /etc/xinetd.d/tftp
disable = no
启动xinetd服务:
[root@node1 ~]# systemctl enable rsyncd.service
[root@node1 ~]# systemctl enable xinetd
[root@node1 ~]# systemctl start xinetd.service
[root@node1 ~]# netstat -nulp | grep xinetd
udp 0 0 0.0.0.0:69 0.0.0.0:* 3659/xinetd
第5个可以不用解决 debian系统
第六个提示解决:设置cobbler密码,同时也是安装服务器的登录密码
[root@node1 ~]# openssl passwd -1 -salt 'Tczaflw@521' 'Tczaflw@521'
$1$JM/i5ygv$cLMbz2ud00P6KI9XiEGj10
修改cobbler把生成的密码放入配置文件
[root@node1 ~]# vim /etc/cobbler/settings
default_password_crypted: "$1$JM/i5ygv$cLMbz2ud00P6KI9XiEGj10"
[root@node1 ~]# cobbler check
只剩下5即可 -
Cobbler管理DHCP服务器配置
-
编辑cobbler配置文件,开启cobbler管理dhcp
[root@node1 ~]# vim /etc/cobbler/settings
manage_dhcp: 1 -
编辑cobbler的dhcp管理模版,设置dhcp分配的网段,网管,dns信息
[root@node1 ~]# vim /etc/cobbler/dhcp.template
subnet 10.90.0.0 netmask 255.255.0.0 {
option routers 10.90.0.10;
option domain-name-servers 114.114.114.114;
option subnet-mask 255.255.0.0;
range dynamic-bootp 10.90.0.100 10.90.0.200; -
同步cobbler配置:同步之前先重启cobbler保证所有配置生效
[root@node1 ~]# systemctl restart cobblerd.service
[root@node1 ~]# cobbler sync
-
-
Cobbler导入镜像
-
挂载iso文件到系统
[root@node1 ~]# mount /dev/cdrom /mnt
-
导入镜像文件到cobbler
cobbler import --path=/mnt/ --name=Centos-7.2-x86_64 --arch=x86_64
task started: 2016-11-19_170133_import
task started (id=Media import, time=Sat Nov 19 17:01:33 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/Centos-7.2-x86_64:
creating new distro: Centos-7.2-x86_64
trying symlink: /var/www/cobbler/ks_mirror/Centos-7.2-x86_64 -> /var/www/cobbler/links/Centos-7.2-x86_64
creating new profile: Centos-7.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/Centos-7.2-x86_64 for Centos-7.2-x86_64
processing repo at : /var/www/cobbler/ks_mirror/Centos-7.2-x86_64
need to process repo/comps: /var/www/cobbler/ks_mirror/Centos-7.2-x86_64
looking for /var/www/cobbler/ks_mirror/Centos-7.2-x86_64/repodata/*comps*.xml
Keeping repodata as-is :/var/www/cobbler/ks_mirror/Centos-7.2-x86_64/repodata
*** TASK COMPLETE *** -
查看cobbler已经有了一个安装源;使用如下命令可以获取到cobbler命令详细报表
[root@node1 ~]# cobbler profile list
Centos-7.2-x86_64
[root@node1 ~]# cobbler profile report
Name : Centos-7.2-x86_64
TFTP Boot Files : {}
Comment :
DHCP Tag : default
Distribution : Centos-7.2-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 -
centos7的自动安装ks 文件---CentOS-7.2-x86_64.cfg
#Kickstart Configurator for cobbler by Jason Zhao
#platform=x86, AMD64, or Intel EM64T
#System language
lang en_US
#System keyboard
keyboard us
#Sytem timezone
timezone Asia/Shanghai
#Root password
rootpw --iscrypted $default_password_crypted #cobbler 配置文件中的密码
#Use text mode install
text
#Install OS instead of upgrade
install
#Use NFS installation Media
url --url=$tree # URL地址(也就是安装源)设置为$tree表示自动获取;
#System bootloader configuration
bootloader --location=mbr
#Clear the Master Boot Record
zerombr
#Partition clearing information
clearpart --all --initlabel
#Disk partitioning information
part / --fstype="xfs" --size=3072
part /boot --fstype="xfs" --size=500
part /software --fstype="xfs" --grow --size=1
#System authorization infomation
auth --useshadow --enablemd5
#Network information
$SNIPPET('network_config') # 网卡配置也无须手动配置而是由cobbler进行配置。
#network --bootproto=dhcp --device=em1 --onboot=on
# Reboot after installation
reboot
#Firewall configuration
firewall --disabled
#SELinux configuration
selinux --disabled
#Do not configure XWindows
skipx
#Package install information
%pre
$SNIPPET('log_ks_pre')
$SNIPPET('kickstart_start')
$SNIPPET('pre_install_network_config')
# Enable installation monitoring
$SNIPPET('pre_anamon')
%end %packages --nobase
@ core
%end %post
systemctl disable postfix.service
%end -
修改Centos-7.2-x86_64的kickstart文件
[root@node1 ~]# cobbler profile edit --name Centos-7.2-x86_64 --kickstart=/var/lib/cobbler/kickstarts/CentOS-7.2-x86_64.cfg
[root@node1 ~]# cobbler profile report | grep Kickstart
Kickstart : /var/lib/cobbler/kickstarts/CentOS-7.2-x86_64.cfg
Kickstart Metadata : {}
在装机时设置Centos7网卡为eth0
[root@node1 ~]# cobbler profile edit --name=Centos-7.2-x86_64 --kopts='net.ifnames=0 biosdevname=0'
设置完成使用cobbler sync进行同步配置
-
配置 cobbler_web
 
-
测试安装-成功