运维自动化之系统部署 cobbler(三)
cobbler 介绍
Cobbler:
快速网络安装linux操作系统的服务,支持众多的Linux发行版:Red Hat、Fedora、CentOS、Debian、Ubuntu和SuSE,也可以支持网络安装windows
PXE的二次封装,将多种安装参数封装到一个菜单
基于Python编写
可提供了CLI和Web的管理形式
cobbler 工作流程

client裸机配置了从网络启动后,开机后会广播包请求DHCP服务器(cobbler server)发送其分配好的一个IP
DHCP服务器(cobbler server)收到请求后发送responese,包括其ip地址
client裸机拿到ip后再向cobbler server发送请求OS引导文件的请求
cobbler server告诉裸机OS引导文件的名字和TFTP server的ip和port
client裸机通过上面告知的TFTP server地址通信,下载引导文件
client裸机执行执行该引导文件,确定加载信息,选择要安装的os,期间会再向cobbler server请求kickstart文件和os image
cobbler server发送请求的kickstart和os iamge
client裸机加载kickstart文件
client裸机接收os image,安装该os image
*实验:利用cobbler 实现系统自动化安装
cobbler可以看作是一个更多功能的pxe,它实现系统安装和pxe也差不多,需要的文件和过程大致都一样。
1. 安装包和配置服务
yum install cobbler 安装cobbler服务时,cobber会自动给我们装上http,tftp服务
yum install dhcp
并且开启所需要的所有服务,dhcp除外
2.cobbler自动安装前的检查和修改
cobbler check 检查自动安装依赖的相关配置
检查后提示我们的部分需要修改的配置
修改配置文件在vim /etc/cobbler/settings 目录下

修改cobbler服务器的地址
在配置文件中的384行

修改tftp服务器的地址
在配置文件中272行

修改安装成功后root登陆密码
在配置文件101行

修改dhcp设置
在配置文件中242行
默认为0:表示我们自己配置dhcp
修改为1:表示cobber自动配置好

cobbler get-loaders 下载系统安装的界面,从网上下载,px安装则需要我们自己配置
cobbler sync 下载完成后,把文件拷贝到tftp指定的目录里
3.修改cobbler中提供的dhcp模板文件,来配置dhcp服务
vim /etc/cobbler/dhcp.template

cobbler sync 把修改后的文件直接给原有dhcp的配置文件进行生成,并且启动dhcp服务
4. 将需要安装的系统的原文件导入到cobbler中
path:原文件的路径,也就是光盘所挂载的地方
name :cobbler安装时,操作系统的名称
arch :架构
cobbler import --path=/mnt --name=Centos-7 --arch=x86_64 进行导入
/var/www/cobbler/ks_mirror 导入的原文件存放在此目录下
5.查看导入成功后,生成的菜单文件
/var/lib/tftpboot/pxelinux.cfg/default 查看系统的启动菜单
cobbler 自动给我们指定了一个自带的应答文件,默认是最小化安装

6. 启动虚拟机,选择网络引导,就可以安装了。

cobbler 相关命令操作
一个原文件可以生成多个应答文件,比如centos6 可以有最小化安装和其他安装,这就需要对应不同的应答文件
/var/lib/cobbler/kickstarts cobbler 存放应答文件的目录
cobbler profile list 安装源文件的应答文件名称
cobbler profile remove --name=名称 删除源文件的应答文件
cobbler distro list 安装源文件的名称
cobbler distro remove --name=名称 删除源文件
将我们自己新建的应答文件和系统关联,生成启动菜单
cobbler profile add --name=Centos-6.10-x86_64_mini --distro=Centos-6.10-x86_64 --kickstart=/var/lib/cobbler/kickstarts/ks6_mini.cfg
运维自动化之系统部署 cobbler(三)的更多相关文章
- 运维自动化之系统部署 PXE(二)
PXE介绍 Preboot Excution Environment 预启动执行环境 Intel公司研发 基于Client/Server的网络模式,支持远程主机通过网络从远端服务器下载映像,并由此支持 ...
- 自动化运维工具Ansible详细部署 (转载)
自动化运维工具Ansible详细部署 标签:ansible 原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://sofar.blog. ...
- 运维自动化之Cobbler系统安装详解
原文链接 参考文档 参考文档SA们现在都知道运维自动化的重要性,尤其是对于在服务器数量按几百台.几千台增加的公司而言,单单是装系统,如果不通过自动化来完成,根本是不可想象的. 运维自动化安装方面,早期 ...
- 自动化运维工具SaltStack详细部署【转】
==========================================================================================一.基础介绍==== ...
- 自动化运维工具Ansible详细部署 - 人生理想在于坚持不懈 - 51CTO技术博客
自动化运维工具Ansible详细部署 - 人生理想在于坚持不懈 - 51CTO技术博客 自动化运维工具Ansible详细部署
- 运维自动化之SALTSTACK简单入门
运维自动化之SaltStack简单入门 饱食终日而无所事事,是颓也,废也.但看昨日,费九牛二虎之力除一BUG便流连于新番之中,不知东方之既黑,实乃颓颓然而荒废矣.故今日来缀一文以忏昨日之悔. Salt ...
- Ansible 运维自动化 ( 配置管理工具 )
背景 出差背景,要搞项目的自动化部署.因为只直接对接生产分发,机器又非常多,这样以往使用的bat只能作为应急方案了,还是得考虑使用专业化的工具来做这个事情! 当下有许多的运维自动化工具( 配置管理 ) ...
- 运维自动化之salt笔记
1:saltstack的基本介绍 2:salt的安装 1:服务端1:安装2:配置文件3:运行4:注意事项2:客户端1:安装2:配置文件3:运行4:注意事项 3:salt的使用: 1:基础知识1:tar ...
- 魅族CMDB运维自动化实践
一.简介 原创:梁鹏 本文是根据魅族系统架构师梁鹏10月20日在msup携手魅族.Flyme.百度云主办的第十三期魅族技术开放日< 魅族CMDB运维自动化实践>演讲中的分享内容整理而成. ...
随机推荐
- 蒙特卡诺近似与PBM
介绍蒙特卡诺近似的例子代码 #include<fstream> #include<iostream> #include<cstdlib> #include<c ...
- MATLAB读视频报错 Unable to initialize the video obtain properties (videoreader in Matlab)
这个bug卡了半天,这里记录一下 Error using VideoReader/init (line ) Could not read file due to an unexpected error ...
- C3_note
- POJ 1201 Intervals (经典) (差分约束)
<题目链接> 题目大意:给你$n$段区间,$a_i,b_i,c_i$ 表示在 $[a_i,b_i]$ 区间内至少要选择$c_i$个点.现在问你在满足这n个条件的情况下,最少要选多少个点? ...
- React(v16.8.4)生命周期详解
当前版本v16.8.4 装载过程(组件第一次在DOM树中渲染的过程): constructor(常用) -> getInitialState(v16.0已废弃) -> getDefault ...
- [C#] 動的にアセンブリをロードする
アプリケーション ドメインにおいて起動時に読み込まれない別のアセンブリ (.dll や .exe) を読み込む場合.System.Reflection.Assemby クラスの Load メソッドを使 ...
- [PKUSC2018]星际穿越(倍增)
题意:n个点的图,点i和[l[i],i)的所有点连双向边.每次询问(l,r,x)表示x到[l,r]的所有点的最短路径长度和. 首先这题显然可以线段树优化建图,但是需要比较好的常数才能通过45分,还需要 ...
- LOJ.2865.[IOI2018]狼人(Kruskal重构树 主席树)
LOJ 洛谷 这题不就是Peaks(加强版)或者归程么..这算是\(IOI2018\)撞上\(NOI2018\)的题了? \(Kruskal\)重构树(具体是所有点按从小到大/从大到小的顺序,依次加入 ...
- Promise 用法
Promise是一个构造函数,自己身上有all.reject.resolve这几个眼熟的方法,原型上有then.catch等同样很眼熟的方法. 那就new一个 Promise的构造函数接收一个参数,是 ...
- Django学习之django自带的contentType表 GenericRelation GenericForeignKey
Django学习之django自带的contentType表 通过django的contentType表来搞定一个表里面有多个外键的简单处理: 摘自:https://blog.csdn.net/a ...