自动化部署系统工具-cobbler 补鞋匠
haoteby 2024-12-14 11:54 16 浏览
Cobbler是一个Linux安装服务器,允许快速设置网络安装环境。它将许多相关的Linux任务聚合在一起并自动化,因此在部署新系统时,您不必在许多不同的命令和应用程序之间来回切换,在某些情况下,还可以更改现有的系统。Cobbler可以帮助提供、管理DNS和DHCP、包更新、电源管理、配置管理编制等。Cobbler支持众多的Linux发行版:Red Hat、 Fedora、CentOS、Debian、Ubuntu和SuSE,也可以支持网络安装windows。cobbler是PXE的二次封装,将多种安装参数封装到一个菜单 。Cobbler是一个让部署系统简单方便的自动化部署工具。同时还可以制作内部Yum源,对于日常运维工作或者批量系统安装部署新系统都是非常好的工具。
一、工作原理(流程)
工作流程:
??1.client配置了网络启动之后(现在大多数主机默认支持无需手动设置),开机后会广播报文请求DHCP服务器(cobbler serveer)提供一个ip地址。
??2.DHCP服务器(cobbler server)收到请求之后会发送response,包括为其分配的IP地址。
??3.client在得到IP地址之后再次向cobbler服务器发送请求OS引导文件的请求。
??4.cobbler server告诉client机器OS引导文件的名字和TFTP server的IP和端口。
??5.client用过得到的IP和端口,进行访问TFTP server,请求下载引导文件。
??6.client执行提供的引导文件,确定其加载的信息,选择要安装的os,期间会再次向cobbler server发送请求kickstart文件和os image文件。
??7.cobbler server 发送client请求的kickstart和OS image文件。
??8.client 加载kickstart文件。
??9.client接收os image,安装os image
二、cobber 安装配置
基础环境:基于cenos7.6系统做server端
IP 地址 192.168.138.100
关闭系统防火墙、selinux、设置能够连接外网、设置本地yum源和epel源
# 安装官方自带的epel源,不过速度比较慢
yum install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
# 安装cobbler
可能需要先安装python-pygments,从网上下载此包,先安装
# yum install python-pygments-1.4-10.el7.noarch.rpm
#yum -y install cobbler cobbler-web tftp tftp-server xinetd dhcp httpd pykickstart mod_wsgi mod_ssl rsync
#yum -y install debmirror python-ctypes python-cheetah python-netaddr python-simplejson python-urlgrabber PyYAML syslinux cman fence-agents createrepo mkisofs yum-utils
启动相应服务
systemctl enable cobblerd
systemctl start cobblerd
systemctl status cobblerd
systemctl enable httpd
systemctl start httpd
systemctl status httpd
systemctl start rsyncd.service
systemctl enable rsyncd.service
systemctl status rsyncd.service
systemctl start tftp
systemctl enable tftp
systemctl status tftp
开始配置collber
1、生产安装系统时的初始密码
# openssl passwd -1 -salt 'ljohn' '123456'
$1$ljohn$yBMDpKkntQ9jfV1ZAWKpU1
2、修改cobber的配置文件
# vi /etc/cobbler/settings
server: 192.168.138.100
next_server: 192.168.138.100
default_password_crypted: "$1$ljohn$yBMDpKkntQ9jfV1ZAWKpU1"
manage_dhcp 1
#cobbler check ##执行检查
会报错,可以根据报错内容,进行相应的修改
如果当前节点可以访问互联网,执行“cobbler get-loaders”命令即可;否则, 需要安装syslinux程序包,而后复制/usr/share/syslinux/{pxelinux.0,memu.c32} 等文件至/var/lib/cobbler/loaders/目录中
执行下列命令以下载网络引导文件进行修复
[root@gwmgmt yum.repos.d]# cobbler get-loaders
# sed -i -e 's/@dists=.*/#@dists=/' /etc/debmirror.conf
# sed -i -e 's/@arches=.*/#@arches=/' /etc/debmirror.conf
# sed -i '/disable/c disable = no' /etc/xinetd.d/tftp
重启服务
#systemctl start cobblerd
再次检查ok
# cobbler check
No configuration problems found. All systems g
3、修改cobbler的dhcp配置模板
vim /etc/cobbler/dhcp.template
option routers 192.168.1.x; #修改为cobbler server端所在机器IP
option domain-name-servers 192.168.1.x; #修改为cobbler server端所在机器IP
subnet 192.168.138.0 netmask 255.255.255.0 { #设置网段
option routers 192.168.138.100; #设置网关
option domain-name-servers 192.168.138.100; #设置dns服务器地址
option subnet-mask 255.255.255.0;
range dynamic-bootp 192.168.138.200 192.168.138.254; #设置dhcp服务器IP地址租用的范围
default-lease-time 21600; ##租约时间
max-lease-time 43200; ##最大租约时间
next-server $next_server
# cobbler sync ## 同步下数据
# systemctl restart dhcpd
# systemctl restart cobblerd
4、挂载镜像(以rhel为例),导入镜像和应答文件
4.1#mount /dev/sr0 /mnt
# cobbler import --path=/mnt --name=CentOS-7.6-x86_64 --arch=x86_64
# --path 镜像路径
# --name 为安装源定义一个名字
# --arch 指定安装源是32位、64位、ia64, 目前支持的选项有: x86│x86_64│ia64
# 安装源的唯一标示就是根据name参数来定义,本例导入成功后,安装源的唯一标示就是:CentOS-7.4-x86_64,如果重复,系统会提示导入失败。
# cobbler distro list # 查看镜像列表
CentOS-7.6-x86_64
制作自定义kickstart文件,以rhel为例
可以使用system-config-kickstart图形化工具制作kickstart应答文件,也可以从网上下载文件,然后根据实际
情况进行修改。(比如磁盘划分等)
4.2关联镜像与kickstart 文件
cobbler profile edit --name=CentOS-7.6-x86_64 --distro=CentOS-7.6-x86_64
--kickstart=/var/lib/cobbler/kickstarts/cenos7.6.ks
#cobbler sync
同步配置,每次对cobbler更改都要执行同步
5、 客户端安装系统验证
安装启动前保证要安装的机器,所在的物理网络与现在Cobbler畅通,如果是虚拟机(VMware),要关闭其自身的DHCP服务
选择cenos7.6即可,完成自动化安装部署。
相关推荐
- 一日一技:用Python程序将十进制转换为二进制
-
用Python程序将十进制转换为二进制通过将数字连续除以2并以相反顺序打印其余部分,将十进制数转换为二进制。在下面的程序中,我们将学习使用递归函数将十进制数转换为二进制数,代码如下:...
- 十进制转化成二进制你会吗?#数学思维
-
六年级奥赛起跑线:抽屉原理揭秘。同学们好,我是你们的奥耀老师。今天一起来学习奥赛起跑线第三讲二进制计数法。例一:把十进制五十三化成二进制数是多少?首先十进制就是满十进一,二进制就是满二进一。二进制每个...
- 二进制、十进制、八进制和十六进制,它们之间是如何转换的?
-
在学习进制时总会遇到多种进制转换的时候,学会它们之间的转换方法也是必须的,这里分享一下几种进制之间转换的方法,也分享两个好用的转换工具,使用它们能够大幅度的提升你的办公和学习效率,感兴趣的小伙伴记得点...
- c语言-2进制转10进制_c语言 二进制转十进制
-
#include<stdio.h>intmain(){charch;inta=0;...
- 二进制、八进制、十进制和十六进制数制转换
-
一、数制1、什么是数制数制是计数进位的简称。也就是由低位向高位进位计数的方法。2、常用数制计算机中常用的数制有二进制、八进制、十进制和十六进制。...
- 二进制、十进制、八进制、十六进制间的相互转换函数
-
二进制、十进制、八进制、十六进制间的相互转换函数1、输入任意一个十进制的整数,将其分别转换为二进制、八进制、十六进制。2、程序代码如下:#include<iostream>usingna...
- 二进制、八进制、十进制和十六进制等常用数制及其相互转换
-
从大学开始系统的接触计算机专业,到现在已经过去十几年了,今天整理一下基础的进制转换,希望给还在上高中的表妹一个入门的引导,早日熟悉这个行业。一、二进制、八进制、十进制和十六进制是如何定义的?二进制是B...
- 二进制如何转换成十进制?_二进制如何转换成十进制例子图解
-
随着社会的发展,电器维修由继电器时代逐渐被PLC,变频器,触摸屏等工控时代所替代,特别是plc编程,其数据逻辑往往涉及到数制二进制,那么二进制到底是什么呢?它和十进制又有什么区别和联系呢?下面和朋友们...
- 二进制与十进制的相互转换_二进制和十进制之间转换
-
很多同学在刚开始接触计算机语言的时候,都会了解计算机的世界里面大多都是二进制来表达现实世界的任何事物的。当然现实世界的事务有很多很多,就拿最简单的数字,我们经常看到的数字大多都是十进制的形式,例如:我...
- 十进制如何转换为二进制,二进制如何转换为十进制
-
用十进制除以2,除的断的,商用0表示;除不断的,商用1表示余0时结束假如十进制用X表示,用十进制除以2,即x/2除以2后为整数的(除的断的),商用0表示;除以2除不断的,商用1表示除完后的商0或1...
- 十进制数如何转换为二进制数_十进制数如何转换为二进制数举例说明
-
我们经常听到十进制数和二进制数,电脑中也经常使用二进制数来进行计算,但是很多人却不清楚十进制数和二进制数是怎样进行转换的,下面就来看看,十进制数转换为二进制数的方法。正整数转二进制...
- 二进制转化为十进制,你会做吗?一起来试试吧
-
今天孩子问把二进制表示的110101改写成十进制数怎么做呀?,“二进制”简单来说就是“满二进一”,只用0和1共两个数字表示,同理我们平常接触到的“十进制”是“满十进一”,只用0-9共十个数字表示。如果...
- Mac终于能正常打游戏了!苹果正逐渐淘汰Rosetta转译
-
Mac玩家苦转译久矣!WWDC2025苹果正式宣判Rosetta死刑,原生游戏时代终于杀到。Metal4光追和AI插帧技术直接掀桌,连Steam都连夜扛着ARM架构投诚了。看到《赛博朋克2077》...
- 怎么把视频的声音提出来转为音频?音频提取,11款工具实测搞定
-
想把视频里的声音单独保存为音频文件(MP3/AAC/WAV/FLAC)用于配音、播客、听课或二次剪辑?本文挑出10款常用工具,给出实测可复现的操作步骤、优缺点和场景推荐。1)转换猫mp3转换器(操作门...
- 6个mp4格式转换器测评:转换速度与质量并存!
-
MP4视频格式具有兼容性强、视频画质高清、文件体积较小、支持多种编码等特点,适用于网络媒体传播。如果大家想要将非MP4格式的视频转换成MP4的视频格式的话,可以使用MP4格式转换器更换格式。本文分别从...