Cobbler简介
Cobbler是一款自动化操作系统部署的实现工具,由Python语言开发,是对PXE的二次封装。融合多种特性,提供了CLI和Web的管理形式。同时,Cobbler也提供了API接口,方便二次开发使用。它不仅可以安装物理机,同时也支持kvm、xen虚拟化、Guest OS的安装。另外,它还能结合Puppet等集中化管理软件,实现自动化管理。
虚拟机网段 | 虚拟机IP | 发行版 | 网络模式 |
192.168.1.0 | 192.168.1.133 | CentOS7.4.1708 | LAN Segments 1 |
温 故 而 知 新
安装cobbler
#!/usr/bin/env bash
set -exu
command -v wget || yum -y install wget
wget -O /epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
yum -y install epel-release
cd /etc/yum.repos.d/ && for i in `ls|grep -Ev ‘(*epel*|*Media*|*Base*)‘`;do mv $i{,.bak};done
yum clean all && yum makecache && yum -y update
yum -y install cobbler cobbler-web pykickstart debmirror httpd dhcp tftp-server xinetd syslinux rsync
systemctl start httpd && systemctl enable httpd
systemctl start cobblerd && systemctl enable cobblerd
systemctl enable dhcpd
systemctl start rsyncd && systemctl enable rsyncd
检查cobbler配置,而后逐一按提示解决
以上问题解决:
编辑/etc/cobbler/settings文件,找到server选项,修改为提供服务的ip地址,即本机ip,不能是127.0.0.1
sed -i ‘s#^server: 127.0.0.1#server: 192.168.1.133#‘ /etc/cobbler/settings
编辑/etc/cobbler/settings文件,找到next_server选项,修改为本机的ip地址,也不能是127.0.0.1
sed -i ‘s#^next_server: 127.0.0.1#next_server: 192.168.1.133#‘ /etc/cobbler/settings
编辑/etc/xinetd/tftp文件,将文件中的disable字段的配置由yes改为no,并启动xinetd服务
vim /etc/xinetd.d/tftp #
systemctl start xinetd
执行“cobbler get-loaders”命令即可,即下载引导操作系统
cobbler get-loaders
注释/etc/debmirror.conf文件中的@dists="sid";一行
sed -i ‘s/@dists="sid";/#@dists="sid";/‘ /etc/debmirror.conf
注释/etc/debmirror.conf文件中的@arches="i386";一行
sed -i ‘s/@arches="i386";/#@arches="i386";/‘ /etc/debmirror.conf
设置新系统默认的root密码,执行 openssl passwd -1 -salt $(openssl rand -hex 4)生成密码,并用其替换/etc/cobbler/settings文件中default_password_crypted参数的值;
安装相应的程序包
yum -y install fence-agents
重启cobbler并同步不检查
systemctl restart cobblerd
cobbler sync && cobbler check
注:显示No configuration problems found. All systems go.属正常情况,不必理会
通过cobbler来管理DHCP
sed -i ‘s#manage_dhcp: 0#manage_dhcp: 1#‘ /etc/cobbler/settings
#配置dhcp
vim /etc/cobbler/dhcp.template
subnet 192.168.1.0 netmask 255.255.255.0 { #指定分配IP地址的网段和掩码
option routers 192.168.1.1; #设置网关
option domain-name-servers 192.168.1.1; #设置DNS
option subnet-mask 255.255.255.0; #设置掩码
range dynamic-bootp 192.168.1.150 192.168.1.160; #为客户端设置IP的范围
将光驱中的内容进行挂载
mkdir /mnt/usb{1..3} #创建cdrom挂载点
mount /dev/sr1 /mnt/usb1
导入ISO镜像文件
使用cobbler的import命令从ISO安装镜像中导入安装所需要的程序包。数据文件较大,需等待。
命令格式;cobbler import --path=镜像路径 --name=安装引导名 --arch=32位或64位
--path表示镜像所挂载的目录
--name表示为安装源定义的名字
--arch表示指定安装源是32位还是64位,目前支持的选项:x86,x86_64,ia64.
cobbler import --path=/mnt/usb1/ --name=CentOS-7.4-x86_64 --arch=x86_64
原文:https://www.cnblogs.com/smlile-you-me/p/12820136.html