Linux之cobbler

cobbler#

简介#

  • cobbler 是 Redhat 支持的一个开源项目,用来部署和安装系统。所以对 Redhat 系列 os 支持是比较好的。
  • cobbler 不仅仅是一个 pxe 服务器,他还可以管理 dns( bind), dhcp。一般数据中心里或者生产环境,是不允许 dhcp, 但是 pxe,必须需要 dhcp,所以我们需要根据 mac 地址来分配 IP,这样 dhcp就不会影响到网络。
  • Cobbler 的优点:自动管理各个服务之间的配置,更强大的管理功能。而且它还有 web 管理界面,可以通过点一点鼠标就可以安装一台主机。
  • Cobbler 的优点:自动管理各个服务之间的配置,更强大的管理功能。而且它还有 web 管理界面,可以通过点一点鼠标就可以安装一台主机。 Kickstart 的模板文件可以配置多个。

运行流程#

服务端#

  • 启动cobbler服务
  • 进行cobbler服务自检 执行:cobbler check
  • 进行cobbler服务同步 执行:cobbler sync
  • 复制相关的配置文件到TFTP目录
  • 根据DHCP给pxe服务端分配地址
  • TFTP传输启动文件给客户端
  • 服务端发送安装信息
  • 服务端发送ISO镜像以及kickstart文件

客户端#

  • 客户端以pxe模式启动
  • 客户端通过DHCP获取地址
  • 客户端通过TFTP向服务端进行文件请求
  • 进行cobbler安装选择界面
  • 客户端确定加载信息
  • 根据配置信息准备安装系统
  • 加载kichstart文件
  • 传输系统安装的其它文件
  • 进行安装系统

配置cobbler#

安装cobbler#

Copy
# 首先安装 epel-release, cobbler 和 tftp-server 在 base 源中是没有的 [root@CobblerServer ~]# yum install -y epel-release [root@CobblerServer ~]# yum -y install cobbler cobbler-web dhcp tftp-server pykickstart httpd rsync xinetd cobbler #cobbler 程序包 cobbler-web #cobbler 的 web 服务包 pykickstart #用于操作 kickstart 的 python 库 httpd #Apache web 服务

介绍工作目录#

cobbler的配置目录
Copy
''' /etc/cobbler # 配置文件目录 /etc/cobbler/settings # cobbler 主配置文件,这个文件是 YAML 格式, Cobbler 是python 写的程序。 /etc/cobbler/dhcp.template #DHCP 服务的配置模板 /etc/cobbler/tftpd.template #tftp 服务的配置模板 /etc/cobbler/rsync.template #rsync 服务的配置模板 /etc/cobbler/iso #iso 模板配置文件目录 /etc/cobbler/pxe #pxe 模板文件目录 /etc/cobbler/power #电源的配置文件目录 /etc/cobbler/users.conf #Web 服务授权配置文件 /etc/cobbler/users.digest #用于 web 访问的用户名密码配置文件 /etc/cobbler/dnsmasq.template #DNS 服务的配置模板 /etc/cobbler/modules.conf #Cobbler 模块配置文件 /var/lib/cobbler #Cobbler 数据目录 /var/lib/cobbler/config #配置文件 /var/lib/cobbler/kickstarts #默认存放 kickstart 文件 /var/lib/cobbler/loaders #存放的各种引导程序 /var/www/cobbler #系统安装镜像目录 /var/www/cobbler/ks_mirror #导入的系统镜像列表 /var/www/cobbler/images #导入的系统镜像启动文件 /var/www/cobbler/repo_mirror #yum 源存储目录 /var/log/cobbler #日志目录 /var/log/cobbler/install.log #客户端系统安装日志 /var/log/cobbler/cobbler.log #cobbler 日志 '''

启动cobbler#

Copy
# 首先启动 cobbler 和 httpd 服务 [root@CobblerServer ~]# systemctl start cobblerd httpd [root@CobblerServer ~]# cobbler check # 检查cobbler

解决自检报错#

Copy
# 解决问题一与问题二 [root@CobblerServer ~]# vim /etc/cobbler/settings server:127.0.0.1 ----> server: 10.1.1.2 # 注意:后面一定要有一个空格在写IP地址 next_server:127.0.0.1 ----> next_server: 10.1.1.2 # 问题 3:修改 tftp 服务被 xinetd 服务管理 [root@CobblerServer ~]# vim /etc/xinetd.d/tftp disbale yes ----> disable no # 问题 4:下载操作系统引导文件 [root@CobblerServer ~]# cobbler get-loaders # 问题 5:修改 rsyncd 服务为开机自启动状态并启用它。 [root@CobblerServer ~]# systemctl start rsyncd && systemctl enable rsyncd # 问题 7:修改操作系统默认密码 [root@SR ~]# openssl passwd -1 -salt 'root' 'root123' $1$root$x7tWWN5lswqZBbOy8kXti # 给root用户添加密码 [root@SR ~]# vim /etc/cobbler/settings default_password_crypted: "$1$root$x7tWWN5lswqZBbOy8kXti" # 修改默认密码为上述生成的密码 # PS:由于是实验环境 上述存在部分自检问题尚未解决

修改DHCP配置#

Copy
# cobbler使用DHCP为PXE服务器分配地址 ``` python [root@CobblerServer ~]# vim /etc/cobbler/dhcp.template subnet 10.1.1.0 netmask 255.255.255.0 # 分配的网段 option routers 10.1.1.188; # 网关 option domain-name-servers 8.8.8.8; # DNS option subnet-mask 255.255.255.0; # 掩码 range dynamic-bootp 10.1.1.2 10.1.1.254; # 地址池 next-server 10.1.1.2; # 配置文件中的 [root@CobblerServer ~]# vim /etc/cobbler/settings # 修改配置文件 manage_dhcp: 0 ----> manage_dhcp: 1 # 让cobbler启动DHCP服务 [root@CobblerServer ~]# systemctl restart cobblerd.service # 重启服务 [root@CobblerServer ~]# cobbler sync # 同步配置文件

挂载导入镜像#

Copy
[root@CobblerServer ~]# mount /dev/sr0 /mnt/ [root@CobblerServer ~]# df -Th # 查看挂载 [root@CobblerServer ~]# cat /etc/redhat-release # 查看当前版本 CentOS Linux release 7.8.2003 (Core) root@CobblerServer ~]# cobbler import --path=/mnt/ --name=CenTOS7.8 --arch=x86_64 # 导入mnt路径下镜像 命名为Centos7.8 使用x86架构 [root@CobblerServer ~]# cobbler list # 列出当前镜像

批量安装#

  • 设置测试机器与服务端处于同一网段
  • 虚拟机默认以PXE服务进行安装
  • 默认最小化安装

自定义安装cobbler#

Copy
[root@CobblerServer ~]# cobbler report # 查看ks存储的路径 Kickstart: /var/lib/cobbler/kickstarts/sample_end.ks [root@CobblerServer kickstarts]# cobbler profile list # 查看当前默认的ks应答文件 CenTOS7.8-x86_64 # 修改ks文件为我们自己定义的centos7.ks [root@CobblerServer kickstarts]# cobbler profile edit --name CenTOS7.8-x86_64 --kickstart=/var/lib/cobbler/kickstarts/centos7.ks

定制化安装#

Copy
# 网卡MAC:00:0C:29:B6:D7:1C # 实战 1:使用 cobbler 安装系统时,指定好系统的 IP 地址,镜像,网关,主机名等信息 [root@CobblerServer kickstarts] # cobbler system add --name=TsetHost \ --mac=00:0C:29:B6:D7:1C\ --profile=CenTOS7.8-x86_64 \--ip-addr=10.1.1.100 \ --subnet=255.255.255.0\ --interface=eth34\ --static=1\ --kickstart=/var/lib/cobbler/kickstarts/centos7.ks [root@CobblerServer kickstarts]# cobbler system list # 查看定制列表 TsetHost # 上述名称 [root@CobblerServer kickstarts]# cobbler sync # 同步文件 [root@CobblerServer kickstarts]# tail -13 /etc/dhcp/dhcpd.conf # 查看IP与MAC的映射关系
posted @   SR丶  阅读(191)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!
点击右上角即可分享
微信分享提示
CONTENTS