一、cobbler简介
Cobbler是一款自动化操作系统部署的实现工具,由Python语言开发,是对PXE的二次封装。融合多种特性,提供了CLI和Web的管理形式。同时,Cobbler也提供了API接口,方便二次开发使用。它不仅可以安装物理机,同时也支持kvm、xen虚拟化、Guest OS的安装。另外,它还能结合Puppet等集中化管理软件,实现自动化管理。
二、cobbler组件关系
三、cobbler服务的构成
- pxe服务
- dhcp服务
- rsync服务
- httpd服务
- DNS服务
- kickstart服务
四、cobbler相关使用目录的说明
1.配置目录/etc/cobbler
/etc/cobbler/settings : cobbler 主配置文件
/etc/cobbler/iso/: iso模板配置文件
/etc/cobbler/pxe: pxe模板文件
/etc/cobbler/power: 电源配置文件
/etc/cobbler/user.conf: web服务授权配置文件
/etc/cobbler/users.digest: web访问的用户名密码配置文件
/etc/cobbler/dhcp.template : dhcp服务器的的配置末班
/etc/cobbler/dnsmasq.template : dns服务器的配置模板
/etc/cobbler/tftpd.template : tftp服务的配置模板
/etc/cobbler/modules.conf : 模块的配置文件
2.数据目录/var/lib/cobbler/*
/var/lib/cobbler/config/: 用于存放distros,system,profiles 等信息
/var/lib/cobbler/triggers/: 用于存放用户定义的cobbler命令
/var/lib/cobbler/kickstart/: 默认存放kickstart文件
/var/lib/cobbler/loaders/: 存放各种引导程序
3.镜像目录/var/www/cobbler/
/var/www/cobbler/ks_mirror/: 导入的发行版系统的所有数据
/var/www/cobbler/images/ : 导入发行版的kernel和initrd镜像用于远程网络启动
4.日志目录/var/log/cobbler/
/var/log/cobbler/installing: 客户端安装日志
/var/log/cobbler/cobbler.log : cobbler日志
五、安装cobbler 及组件
[root@yundd ~]#yum -y install cobbler dhcp httpd xinetd tftp-server syslinux pykickstart xinetd rsync cobbler-web
六、配置cobbler
1.生成密码设置新系统root密码(toor)
[root@yundd ~]# openssl passwd -1
Password:
Verifying - Password:
$1$AD.iYUtp$l6VfSLTZGC.6J4AU92Eeg1
[root@yundd ~]# cp /etc/cobbler/settings /opt/settings.bak
301行设置密码
vim /etc/cobbler/settings
100 # and put the output between the "" below.
101 default_password_crypted: "$1$4U0LMJ5K$7MoCcgTFFjdPALFazWDvX1"
102
103 # the default template type to use in the absence of any
2.设置server和next_server
vim /etc/cobbler/settings
server: 192.168.1.140
next_server: 192.168.1.140
设置allow_dynamic_settings: 1
注释:设置cobbler服务器地址的ip
3.设置dhcp,生成DHCP文件(使用cobbler sync命令生效)
#vim /etc/cobbler/settings
manage_dhcp: 1
#vim /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;
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";
}
}
4.下载启动菜单
[root@yundd ~]# cobbler get-loaders
change 'disable' to 'no' in /etc/xinetd.d/tftp
5.启动cobbler
[root@yundd ~]# systemctl restart cobblerd httpd tftp
[root@yundd ~]# systemctl enable cobblerd httpd tftp
6.检查cobbler服务
修改防火墙规则
您需要修改和更改防火墙规则,然后依次运行以下命令。
firewall-cmd --add-port=80/tcp --permanent
firewall-cmd --add-port=443/tcp --permanent
firewall-cmd --add-service=dhcp --permanent
firewall-cmd --add-port=69/tcp --permanent
firewall-cmd --add-port=69/udp --permanent
firewall-cmd --add-port=4011/udp --permanent
firewall-cmd --reload
7.挂载导入镜像文件
[root@note1 ~]# mount /dev/cdrom /mnt
[root@note1 cobbler]# cobbler import --path=/mnt/ --name=Centos-7-x86_64 --arch=x86_64
[root@note1 kickstarts]# cobbler distro report --name=Centos-7-x86_64
8.配置centos7kickstart 文件
[root@note1 kickstarts]# cat CentOS-7-x86_64.cfg
install
url --url=$tree
text
lang en_US.UTF-8
keyboard us
zerombr
bootloader --location=mbr
# Network information
$SNIPPET('network_config')
timezone --utc Asia/Shanghai
authconfig --enableshadow --passalgo=sha512
rootpw --iscrypted $default_password_crypted
clearpart --all --initlabel
part /boot --fstype xfs --size 500
part swap --size 2000
part / --fstype xfs --size 20000
part /data --fstype xfs --size 30000
firstboot --disable
selinux --disabled
firewall --disabled
logging --level=info
reboot
%pre
$SNIPPET('log_ks_pre')
$SNIPPET('kickstart_start')
$SNIPPET('pre_install_network_config')
# Enable installation monitoring
$SNIPPET('pre_anamon')
%end
%packages
@base
@compat-libraries
@debugging
@development
tree
nmap
sysstat
lrzsz
dos2unix
telnet
iptraf
ncurses-devel
openssl-devel
zlib-devel
OpenIPMI-tools
screen
%end
%post
systemctl disable postfix.service
%end
9.重启cobbler服务保证所有组件开机自动启动
网友评论