自动化部署系统工具-cobbler 补鞋匠
haoteby 2024-12-14 11:54 7 浏览
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即可,完成自动化安装部署。
相关推荐
- 别争了,Access数据库才是真正的低代码开发平台
-
Access数据库是微软公司搞出来的“奇葩”产品。...
- Access开发轻松一键将 Access 全库表格导出为 Excel
-
hi,大家好呀!在日常工作中,Access常常是我们忠实的数据管家,默默守护着项目信息、客户列表或是库存记录。它结构清晰,录入便捷,对于许多中小型应用场景来说,无疑是个得力助手。然而,当我们需要对这...
- 跟我学:从零开始用Access设计一套完整的系统(一)
-
序言:Access是一款强大而灵活的数据库软件,可以设计和开发各种类型和规模的数据库应用程序。本文旨在为您提供从零开始设计Access数据库系统的详细指导,并通过实际案例演示如何在Access中设计和...
- 问卷调查管理程序 Access数据库 功能介绍和VBA代码分享
-
o本系统包含主要功能有:问卷管理,题目管理,问卷填写,调查结果统计,数据汇总导出o数据库系统包含:表,查询,窗体,VBA代码...
- 非绑定记录窗体查看管理数据 Access数据库功能模块 VBA代码编程
-
模块Public成绩IDnumAsLong学生成绩管理PrivateSubCommand更新_Click()DoCmd.SetWarnings(False)...
- ACCESS中的DLookUp函数是如何运算的?
-
一、DLookUp函数介绍1.DLookUp函数的用途:可以用于从指定集合(一个域)中获取符合条件的特定字段的值。2.DLookUp函数的格式为:DLookUp(expr,domain,...
- Excel常用技能分享与探讨(5-宏与VBA简介 VBA之用户窗体-一)
-
用户窗体(UserForm)是VBA中创建交互式界面的核心工具,可用于数据录入、设置参数或展示信息。...
- 【每日任务计划管理系统】Access数据库管理系统 VBA代码分享
-
窗体系统主页文本框,组合框,按钮,子窗体OptionCompareDatabase...
- VBA高效开发:用用户窗体打造个性化数据录入工具
-
在日常办公中,Excel的数据录入是否总让你陷入这些困境?手动输入易错、格式混乱难追溯、重复操作耗时费力。今天,我们将突破常规,利用VBA的用户窗体(UserForm)构建一套“智能校验、流程清晰、...
- VBA编程(基于Access)第1课:VBA的作用和学习方法
-
VBA,英文全称VisualBasicforApplications,直接翻译过来叫做“可以直接使用的VB语言”。...
- Access数据库宏与VBA代码的使用(精品一)
-
Access数据库的宏相当于实现某一功能的一系列命令和操作,我们无需写代码,系统已经将主体代码集成一块,我们只需要做一些简单的操作即可,而VBA代码则是实实在在的代码写到程序里面,我们可以自己编写,也...
- 【每日任务管理系统】(2) VB 管理系统 代码 Visual Basic access数据库
-
窗体全部任务DimdhAsLong'存储高度差DimdwAsLong'存储宽度差...
- VBA连接access数据库开发软件(vba调用数据库连接)
-
VBA连接access数据库开发小软件虽然VBA(包括VB)已不再流行,但是在某些场合还是比较方便的,尤其对非编程专业人员。灵活使用VBA,可以很十分方便的处理excel,access数据,提高工作效...
- 九章云极发布全新AI智算云平台:支持秒级生成百万级Token
-
6月16日,在在九章云极智能计算科技论坛上,九章云极宣布推出全新AI智算云平台“九章智算云AlayaNeWCloud2.0”,该平台基于Serverless技术架构与强化学习技术(RL)的深度融合...
- 浅谈基于大数据技术下的“云旅游”平台运营策略研究
-
云旅游体验平台是利用大数据和虚拟技术,构建虚拟旅游环境,能够改变旅游企业的营销模式和旅游者的消费模式。本文从云旅平台多维度数据信息的获取与分析,平台体验质量反馈信息数据构建,云旅游平台服务功能设计方案...