centos7安装部署cobbler

1.Cobbler简介

  • Cobbler 是一个快速网络安装 Linux 的服务,而且经过调整也可以支持网络安装 Windows。
    该工具使用 Python 开发,小巧轻便(才 15 k 行 Python 代码),使用简单的命令即可完成PXE网络安装环境的配置, 同 时还可以管理 DHCP、DNS、TFTP、RSYNC 以及 YUM 仓库、构造系统 ISO 镜像。
  • Cobbler 支持命令行管理,Web 界面管理,还提供了 API 接口,可以方便二次开发使用。 Cobbler 客户端 koan 支持虚拟机安装和操作系统重新安装,使重装系统更便捷。

2.Cobbler功能

  • 使用 Cobbler,您无需进行人工干预即可安装机器。Cobbler 设置一个 PXE 引导环境(它还可使用 yaboot 支持 PowerPC),并控制与安装相关的所有方面,比如网络引导服务(DHCP 和 TFTP)与存储库镜像。当希望安装一台新机器时,Cobbler 可以:
  1. 使用一个以前定义的模板来配置 DHCP 服务(如果启用了管理 DHCP)
  2. 将一个存储库(yum 或 rsync)建立镜像或解压缩一个媒介,以注册一个新操作系统
  3. 在 DHCP 配置文件中为需要安装的机器创建一个条目,并使用您指定的参数(IP 和 MAC 地址)
  4. 在 TFTP 服务目录下创建适当的 PXE 文件
  5. 重新启动 DHCP 服务以反映更改
  6. 重新启动机器以开始安装(如果电源管理已启用)
  • Cobbler 支持众多的发行版:Red Hat、Fedora、CentOS、Debian、Ubuntu 和 SuSE。当添加一个操作系统(通常通过使用 ISO 文件)时,Cobbler 知道如何解压缩合适的文件并调整网络服务,以正确引导机器。
  • Cobbler 可使用 kickstart 模板。基于 Red Hat 或 Fedora 的系统使用 kickstart 文件来自动化安装流程。
  • 通过使用模板,您就会拥有基本的 kickstart 模板,然后定义如何针对一种配置文件或机器配置而替换其中的变量。
  • 例如,一个模板可能包含两个变量 $domain 和 $machine_name。在 Cobbler 配置中,一个配置文件指定 domain=mydomain.com,并且每台使用该配置文件的机器在 machine_name 变量中指定其名称。该配置文件中的所有机器都使用相同的 kickstart 安装且针对 domain=mydomain.com
    进行配置,但每台机器拥有其自己的机器名称。您仍然可以使用 kickstart 模板在不同的域中安装其他机器并使用不同的机器名称。
  • 为了协助管理系统,Cobbler 可通过 fence scripts 连接到各种电源管理环境。
    Cobbler 支持 apc_snmp、bladecenter、bullpap、drac、ether_wake、ilo、integrity、ipmilan、ipmitool、lpar、rsa、virsh 和 wti。
  • 要重新安装一台机器,可运行 reboot system foo 命令,而且 Cobbler 会使用必要的凭据和信息来为您运行恰当的 fence scripts(比如机器插槽数)。
  • 除了这些特性,还可使用一个配置管理系统 (CMS)。您有两种选择:该工具内的一个内部系统,或者集成一个现有的外部 CMS,比如 Chef 或 Puppet。
  • 借助内部系统,您可以指定文件模板,这些模板会依据配置参数进行处理(与 kickstart 模板的处理方式一样),然后复制到您指定的位置。
  • 如果必须自动将配置文件部署到特定机器,那么此功能很有用。
  • 使用 koan 客户端,Cobbler 可从客户端配置虚拟机并重新安装系统

3.环境介绍

注意:虚拟机网卡采用 NAT 模式并关闭,不要使用桥接模式,因为我们会搭建 DHCP 服务器,在同一局域网多个 DHCP 服务会有冲突,并且导致实践失败,VMware 的 NAT 模式的 DHCP 服务也关闭,避免干扰。

内存:2核4G
系统版本:
在这里插入图片描述
内核版本:
在这里插入图片描述
IP地址:
在这里插入图片描述

4.安装配置

1.安装Cobbler及相关软件包

[root@cobbler ~]# yum -y install cobbler cobbler-web tftp-server pykickstart httpd dhcp xinetd debmirror

在这里插入图片描述
2.启动cobbler并添加开机自启

[root@ cobbler ~]# systemctl start httpd cobblerd
[root@ cobbler ~]# systemctl status httpd cobblerd
[root@cobbler ~]# systemctl enable httpd cobblerd

在这里插入图片描述
#检查配置文件,需要在 cobblerd 和 httpd 启动的情况下检查

[root@cobbler ~]# cobbler check

在这里插入图片描述
#如上各问题解决方法如下:

[root@cobbler ~]# sed -ri '/allow_dynamic_settings:/c\allow_dynamic_settings: 1' /etc/cobbler/settings

在这里插入图片描述
#1.配置server地址:

[root@cobbler ~]# cobbler setting edit --name=server --value=10.0.0.42

#2.配置next_server地址:

[root@cobbler ~]# cobbler setting edit --name=next_server --value=10.0.0.42

#3.配置xinetd管理tftp

[root@ cobbler ~]# sed -ri '/disable/c\disable = no' /etc/xinetd.d/tftp
[root@ cobbler ~]# systemctl enable xinetd
[root@ cobbler ~]# systemctl restart xinetd

#4.boot-loaders

[root@cobbler ~]# cobbler get-loaders

在这里插入图片描述

#5.启动rsync

[root@cobbler ~]# systemctl start rsyncd
[root@cobbler ~]# systemctl enable rsyncd

#6-7.debian support

[root@ cobbler ~]# sed -i 's#@dists="sid";#\#@dists="sid";#gp' /etc/debmirror.conf
[root@ cobbler ~]# sed -i 's#@arches="i386";#\#@arches="i386";#g' /etc/debmirror.conf

#8.default_password_crypted
#注意:这里的密码是cobbler安装完系统后,默认root用户初始化登录密码。

[root@cobbler ~]# openssl passwd -1 -salt `openssl rand -hex 4` '123456'
[root@cobbler ~]# cobbler setting edit --name=default_password_crypted --value='$1$2212e3c0$whOih1C73s2rHL8/GMgyE0'

在这里插入图片描述
#9.安装fencing tools

[root@ cobbler ~]# yum -y install fence-agents

#解决完再次检查

[root@cobbler ~]# systemctl restart cobblerd
[root@cobbler ~]# cobbler sync
[root@cobbler ~]# cobbler check

在这里插入图片描述
3.配置DHCP
#配置使用 Cobbler 管理 DHCP

[root@cobbler ~]# sed -i "s#manage_dhcp: 0#manage_dhcp: 1#" /etc/cobbler/settings
[root@cobbler ~]# grep "^manage_dhcp: " /etc/cobbler/settings

在这里插入图片描述
#修改 Cobbler 的 DHCP 模版

[root@cobbler ~]# vim /etc/cobbler/dhcp.template

在这里插入图片描述
4.同步Cobbler配置
#同步最新 Cobbler 配置,它会根据配置自动修改 DHCP 等服务

[root@cobbler ~]# systemctl restart cobblerd
[root@cobbler ~]# cobbler sync

在这里插入图片描述

5.cobbler命令帮助

cobbler check:核对当前设置是否有问题
cobbler list:列出所有的cobbler元素
cobbler report:   列出元素的详细信息
cobbler sync:同步配置到数据目录,更改配置最后都执行一下
cobbler reposync:同步yum仓库
cobbler distro:查看导入的发行版系统信息
cobbler system:查看添加的系统信息
cobbler profile:查看配置信息

6.安装系统

#上传centos6的镜像文件
在这里插入图片描述
#创建镜像目录,挂载镜像

[root@cobbler ~]# mkdir /centos6.10
[root@cobbler ~]# mount -o loop CentOS-6.10-x86_64-bin-DVD1.iso /centos6.10

在这里插入图片描述
#导入镜像

[root@cobbler ~]# cobbler import --path=/centos6.10 --name=centos6.10 --arch=x86_64
#  --path 镜像路径
#  --name  为安装源定义一个名字
# --arch  指定安装源是32位,64位,ia64,目前支持的选项有:x86|x86_64|ia64
# 安装源的唯一标示就是根据name参数来定义,本例导入成功后,安装源的唯一标示就是:centos6.10,如果重复,系统会提示导入失败。

在这里插入图片描述
#查看导入后的镜像

[root@cobbler ~]# cobbler distro report --name=centos6.10-x86_64

在这里插入图片描述
#上传一份ks文件

[root@cobbler ~]# cd /var/lib/cobbler/kickstarts/
[root@cobbler kickstarts]# cat centos6.10.sk
# This kickstart file should only be used with EL > 5 and/or Fedora > 7.
# For older versions please use the sample.ks kickstart file.
# Install OS instead of upgrade
install
# Use text mode install
text
# System keyboard
keyboard us
# System language
lang en_US
# System timezone
timezone  Asia/ShangHai
#Root password
rootpw --iscrypted $default_password_crypted
# System authorization information
auth  --useshadow  --enablemd5
# Firewall configuration
firewall --disabled
# SELinux configuration
selinux --disabled
# Use network installation
url --url=$tree

# Clear the Master Boot Record
zerombr
# System bootloader configuration
bootloader --location=mbr
# Partition clearing information
clearpart --all --initlabel
part /boot --fstype=ext4 --size=200
part swap --fstype=swap --size=2048
part / --fstype=ext4 --grow --size=200 --asprimary

# If any cobbler repo definitions were referenced in the kickstart profile, include them here.
$yum_repo_stanza
# Network information
$SNIPPET('network_config')
# Do not configure the X Window System
skipx
# Run the Setup Agent on first boot
firstboot --disable
# Reboot after installation
reboot


%pre
$SNIPPET('log_ks_pre')
$SNIPPET('kickstart_start')
$SNIPPET('pre_install_network_config')
# Enable installation monitoring
$SNIPPET('pre_anamon')
%end

%packages
$SNIPPET('func_install_if_enabled')
@core
@base
tree
nmap
wget
lftp
lrzsz
telnet
%end

%post --nochroot
$SNIPPET('log_ks_post_nochroot')
%end

%post
$SNIPPET('log_ks_post')
# Start yum configuration
$yum_config_stanza
# End yum configuration
$SNIPPET('post_install_kernel_options')
$SNIPPET('post_install_network_config')
$SNIPPET('func_register_if_enabled')
$SNIPPET('download_config_files')
$SNIPPET('koan_environment')
$SNIPPET('redhat_register')
$SNIPPET('cobbler_register')
# Enable post-install boot notification
$SNIPPET('post_anamon')
# Start final steps
$SNIPPET('kickstart_done')
# End final steps

sed -ri "/^#UseDNS/c\UseDNS no" /etc/ssh/sshd_config
sed -ri "/^GSSAPIAuthentication/c\GSSAPIAuthentication no" /etc/ssh/sshd_config
%end

#动态编辑指定使用新的kickstar文件

[root@cobbler kickstarts]# cobbler profile edit --name=centos6.10-x86_64 --kickstart=/var/lib/cobbler/kickstarts/centos6.10.ks

#验证是否更改成功

[root@cobbler kickstarts]# cobbler profile report --name=centos6.10-x86_64|grep Kickstart

在这里插入图片描述

7.同步cobbler配置

#注意:系统镜像文件centos6.10.ks,每修改一次就要进行同步。

[root@cobbler kickstarts]# cobbler sync

在这里插入图片描述

8.创建一台虚拟机

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
#接下来就静静等他安装完成就OK啦!
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值