cobbler系统自动安装运维工具

cobbler系统自动安装运维工具

1.1 Cobbler简介

? ? ? ?Cobbler通过将设置和管理一个安装服务所涉及的任务集中在一起,从而简化了系统配置,相当于Cobbler封装了DHCP、TFTP、XINTED等服务,结合了PXE、kickstart等安装方法,可以实现自动化安装操作系统。
? ? ? ?Cobbler程序是python语言编写的,且提供了Cli和Web的管理形式。

1.2 Cobbler安装准备

[[email protected] ~]# cat /etc/centos-release  #查看系统版本
CentOS release 6.10 (Final)
[[email protected] ~]# getenforce               #关闭Selinux
Disabled
[[email protected] ~]# service iptables stop    #关闭防火墙功能

[[email protected] ~]# yum -y install cobbler dhcp tftp-server pykickstart httpd  #安装cobbler和依赖软件

Cobbler软件是在epel源中提供的,此处yum已配置好了搜狐fedora-epel仓库,其余dhcp、tftp、httpd等是依赖的软件,pykickstart提供检查kickstart文件语法错误的功能,这些最好一起安装上。
[[email protected] ~]# cd /etc/cobbler/        #安装完成后,生成的配置文件
[[email protected] cobbler]# ls
auth.conf               iso             reporting           users.digest
cheetah_macros          ldap            rsync.exclude       version
cobbler_bash            modules.conf    rsync.template      zone.template
completions             mongodb.conf    secondary.template  zone_templates
dhcp.template           named.template  settings
dnsmasq.template        power           tftpd.template
import_rsync_whitelist  pxe             users.conf
[[email protected] cobbler]# service httpd start      #必须要先启动httpd服务,然后在启动cobblerd服务器,不然会报错。
Starting httpd:
[[email protected] cobbler]# service cobblerd start
Starting cobbler daemon:                                   [  OK  ]
[[email protected] cobbler]# 

[[email protected] /]# cobbler check                  # 此处check报错,原因不明,解决方案是重启cobblerd服务,再次运行该命令即可。
Traceback (most recent call last):
  File "/usr/bin/cobbler", line 36, in <module>
    sys.exit(app.main())
  File "/usr/lib/python2.6/site-packages/cobbler/cli.py", line 657, in main
    rc = cli.run(sys.argv)
  File "/usr/lib/python2.6/site-packages/cobbler/cli.py", line 270, in run
    self.token         = self.remote.login("", self.shared_secret)
  File "/usr/lib64/python2.6/xmlrpclib.py", line 1199, in __call__
    return self.__send(self.__name, args)
[[email protected] /]# service cobblerd restart       # 重启cobblerd服务,继续执行check命令。
Stopping cobbler daemon:                                   [  OK  ]
Starting cobbler daemon:                                   [  OK  ]
[[email protected] /]# cobbler check
[[email protected] /]# cobbler check
The following are potential configuration items that you may want to fix:

1 : The ‘server‘ field in /etc/cobbler/settings must be set to something other than localhost, or kickstarting features will not work.  This should be a resolvable hostname or IP for the boot server as reachable by all machines that will use it.
2 : For PXE to be functional, the ‘next_server‘ field in /etc/cobbler/settings must be set to something other than 127.0.0.1, and should match the IP of the boot server on the PXE network.
3 : some network boot-loaders are missing from /var/lib/cobbler/loaders, you may run ‘cobbler get-loaders‘ to download them, or, if you only want to handle x86/x86_64 netbooting, you may ensure that you have installed a *recent* version of the syslinux package installed and can ignore this message entirely.  Files in this directory, should you want to support all architectures, should include pxelinux.0, menu.c32, elilo.efi, and yaboot. The ‘cobbler get-loaders‘ command is the easiest way to resolve these requirements.
4 : change ‘disable‘ to ‘no‘ in /etc/xinetd.d/rsync
5 : debmirror package is not installed, it will be required to manage debian deployments and repositories
6 : The default password used by the sample templates for newly installed machines (default_password_crypted in /etc/cobbler/settings) is still set to ‘cobbler‘ and should be changed, try: "openssl passwd -1 -salt ‘random-phrase-here‘ ‘your-password-here‘" to generate new one
7 : fencing tools were not found, and are required to use the (optional) power management features. install cman or fence-agents to use them

Restart cobblerd and then run ‘cobbler sync‘ to apply changes.

依照上述报错,修改配置文件/etc/cobbler/settings解决。

[[email protected] /]# vi /etc/cobbler/settings    #修改如下字段
1. server 192.168.36.30,修改为主机对应的可用的网卡地址,localhost以外的地址。
2. next_server 192.168.36.30,修改为对应pxe服务器的ip地址。
3. 获取pxelinux.0和menu.c32文件。
4. 修改etc/xinetd.d/rsync 文件中的disable参数修改为 disable = no。
5. 注释掉/etc/debmirror.conf中相关项,可以忽略该错误,不影响。
6. 生成密码来取代默认的密码,openssl passwd -1生成的密码来取代default_password_crypted字段的值。
7. 电源管理有关,可忽略。
完成以上修改,重启cobbler,然后运行cobbler sync命令。  

[[email protected] /]# service cobblerd restart
Stopping cobbler daemon:                                   [  OK  ]
Starting cobbler daemon:                                   [  OK  ]
[[email protected] /]# cobbler check              # 以下错误可忽略,不影响后面的操作。
The following are potential configuration items that you may want to fix:

1 : debmirror package is not installed, it will be required to manage debian deployments and repositories
2 : fencing tools were not found, and are required to use the (optional) power management features. install cman or fence-agents to use them

[[email protected] /]# cobbler sync               # 同步cobbler的配置。
task started: 2019-04-21_194919_sync
task started (id=Sync, time=Sun Apr 21 19:49:19 2019)
running pre-sync triggers
cleaning trees
removing: /var/lib/tftpboot/pxelinux.cfg/default
removing: /var/lib/tftpboot/grub/images
copying bootloaders
......

至此,cobbler程序已安装完成且正常启动。

1.3 配置dhcp服务和tftp服务

[[email protected] dhcp]# cat dhcpd.conf         # dchp服务配置,如果在/etc/cobbler/setting中设置了manage_dhcp:1,表示由cobbler管理dhcp,默认为0即人为手动管理,此处采用手动管理方式。
ddns-update-style none;
ignore client-updates;
subnet 192.168.36.0 netmask 255.255.255.0 {
  range 192.168.36.50 192.168.36.80;
  option routers 192.168.36.60;
  default-lease-time 86400;
  max-lease-time 259200;
  filename "pxelinux.0";                   #/var/lib/tftpboot/目录下的pxelinux.0文件
  next-server 192.168.36.30;               #tftp服务器的地址
}  

[[email protected] /]# vi /etc/xinetd.d/tftp      #开启tftp服务
service tftp
{
        disable = no
        socket_type             = dgram
        ......

1.4 挂载系统镜像,并导入镜像。

[[email protected] /]# mount /dev/sr0 /mnt/dvd      #挂载光盘
[[email protected] /]# cobbler import --path=/mnt/dvd --name=centos6.10 --arch=x86_64
等待导入完成,表示distro生成完成。

[[email protected] /]# cobbler distro list
CentOS6.10-x86_64

1.5 提供kickstart文件和profile

提供符合安装系统版本的ks文件,然后提供profile。在导入安装镜像后生成distro的过程中,Cobbler会给镜像指定一个默认的kickstart文件,自动安装文件在/var/lib/cobbler/kickstarts下的sample_end.ks。

[[email protected] kickstarts]# cobbler profile edit --name=CentOS-6.10-x86_64 --kickstart=/var/lib/cobbler/kickstarts/CentOS-6.10-x86_64.cfg

1.6 开始自动化安装

? ? ? ?以上步骤均完成后,确认每一步的实验效果,然后开启另外一台设备进行网络启动,验证设备是否可以自动安装。

原文地址:https://blog.51cto.com/13932385/2382342

时间: 2024-10-19 00:38:33

cobbler系统自动安装运维工具的相关文章

使用ansible编译安装运维工具tmux

实验系统:CentOS 6.6_x86_64 实验前提:提前准备好编译环境,防火墙和selinux都关闭 软件介绍:tmux是一个优秀的终端复用软件,类似GNU Screen,但来自于OpenBSD,采用BSD授权.使用它最直观的好处就是,通过一个终端登录远程主机并运行tmux后,在其中可以开启多个控制台而无需再“浪费”多余的终端来连接这台远程主机:当然其功能远不止于此. 软件下载:http://pan.baidu.com/s/1c0i9kf2 一.常规安装 1.安装tmux所需要的依赖: wg

运维工具ansible+cobbler+zabbix

运维工作 一.系统 硬件----部署操作系统---多个主机 如何高效的安装操作系统 1.部署在裸机上的操作系统 bare metal pxe预执行环境:网卡自身有一个rom,可以自己加载来获得IP地址,能够到文件服务器上加载bootloader文件,依赖于网卡和网络预先提供的安装服务 但是pxe只能预引导1中操作系统 二次封装的pxe:cobbler 将多版本的操作系统环境支持 * [但是都需要支持pxe] 2.虚拟机器 virtual machine * 二.程序 configurtion 自

自动化运维工具Cobbler

一.PXE 概述 预启动执行环境(Preboot eXecution Environment,PXE,也被称为预执行环境)是让计算机通过网卡独立地使用数据设备(如硬盘)或者安装操作系统.PXE当初是作为Intel的有线管理体系的一部分,Intel和 Systemsoft于1999年9月20日公布其规格(版本2.1).通过使用像网际协议(IP).用户数据报协议(UDP).动态主机设定协定(DHCP).小型文件传输协议(TFTP)等几种网络协议和全局唯一标识符(GUID).通用网络驱动接口(UNDI

46 puppet master-agent模型、运维工具介绍及pxe环境的实现、cobbler简单实现、CentOS7 cobbler

01 puppet master-agent模型 配置环境 node1 192.168.1.131 CentOS7.2 node2 192.168.1.132 CentOS7.2 node3 192.168.1.133 CentOS7.2 node4 192.168.1.134 CentOS7.2 1.agent节点扩展为master节点 [[email protected] ~]# yum -y install puppet-server-3.8.4-1.el7.noarch.rpm [[em

自动运维工具 -saltstack安装使用(实例演示!!!)

saltstack概述 在生产环境中,服务器往往不止一两台,一般都是成千上万台服务器.这对运维人员来说管理难度太大了,而saltstack是一个新的基础平台管理工具,可以支持管理上万台服务器规模,数秒钟即可完成数据传递,是现在用的比较多的自动化运维工具之一. Salt是一个基础平台管理工具.SaltStack采用 C/S模式,server端就是salt的master,client端就是minion,minion与master之间通过ZeroMQ消息队列通信.master监听4505和4506端口

基于 cobbler 实现自动安装 linux 系统

使用 cobbler 实现自动安装 centos 6.7系统 1.yum install cobbler -y 安装 cobbler ,有依赖关系,会自动把 TFTP .HTTP 服务安装上:cobbler 是基于 epel 源,需要连网 2.yum install dhcp -y 安装 DHCP 服务 3.systemctl start httpd tftp cobblerd 启动 HTTP .TFTP.cibbler ,DHCP 的配置文件不配置的话,是无法启动服务的 4.systemctl

Linux自动运维工具Ansible的使用

Linux自动运维工具Ansible的使用 我们熟悉这个工具后, 可以很轻松的安装k8s. 一.介绍 ansible - run a task on a target host(s) Ansible是一个用Python开发的运维工具, 可以在本地让远程主机执行命令, 项目地址: Github源码, 中文文档 二.安装 简单上阵, 我们的主机都是ubuntu, 请使用root用户: sudo su apt install ansible ansible --version 配置文件: ls /et

ansible轻量级运维工具使用

Linux轻量级自动运维工具- Ansible 创始人 Michael DeHanan 2012-03-09 同类自动化工具: Ansible Saltstack Puppet Chef Fabric Ansible 特点 agentless (去中心化) 只要保存管理机的认证信息,那么任何一台机器都可以变成管理机 Stupied Simple SSH by default YAML no code 定制剧本 基于python 实现 模块化:调用特定模块,完成特定任务,支持自定义模块 冥等性 -

自动化运维平台之系统自动化安装Cobbler系统使用详解

一.简介 Cobbler是一个快速网络安装linux的服务,而且在经过调整也可以支持网络安装windows.该工具使用python开发,小巧轻便(才15k行python代码),使用简单的命令即可完成PXE网络安装环境的配置,同时还可以管理DHCP.DNS.以及yum仓库.构造系统ISO镜像. Cobbler支持命令行管理,web界面管理,还提供了API接口,可以方便二次开发使用. Cobbler客户端Koan支持虚拟机安装和操作系统重新安装,使重装系统更便捷. 二.cobbler提供的功能 使用