linux

cobbler搭建centos7无人值守安装

2019-03-09  本文已影响0人  yundd

一、cobbler简介

Cobbler是一款自动化操作系统部署的实现工具,由Python语言开发,是对PXE的二次封装。融合多种特性,提供了CLI和Web的管理形式。同时,Cobbler也提供了API接口,方便二次开发使用。它不仅可以安装物理机,同时也支持kvm、xen虚拟化、Guest OS的安装。另外,它还能结合Puppet等集中化管理软件,实现自动化管理。

二、cobbler组件关系

三、cobbler服务的构成

四、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服务保证所有组件开机自动启动

上一篇下一篇

猜你喜欢

热点阅读