搜索

【Linux运维云计算培训】Cobbler自动化部署,附实战案例!

发表于 2025-11-05 12:11:36 来源:益强智未来
  cobbler服务简介   cobbler工作原理   cobbler服务部署   配置安装centos7   Web管理界面

  cobbler简介

  Cobbler可以用来快速建立Linux网络安装环境

  1、计算Cobbler是培训一个Linux服务器安装的服务,可以通过网络启动(PXE)的自战案方式来快速安装、重装物理服务器和虚拟机,动化同时还可以管理DHCP,部署DNS等

  2、附实Cobbler可以使用命令行方式管理,计算也提供了基于Web的培训界面管理工具(cobbler-web),还提供了API接口,自战案可以方便二次开发使用

  3、动化Cobbler是部署较早前的kickstart的升级版,优点是附实比较容易配置,还自带web界面比较易于管理

  4、计算Cobbler内置了一个轻量级配置管理系统,培训但它也支持和其它配置管理系统集成,自战案如Puppet

  | cobbler对应关系

  Cobbler的配置结构基于一组注册的对象。每个对象表示一个与另一个实体相关联的实体。当一个对象指向另一个对象时,它就继承了被指向对象的数据,并可覆盖或添加更多特定信息

  ①发行版(distros):表示一个操作系统。它承载了内核和initrd的信息,免费源码下载以及内核参数等其他数据

  ②配置文件(profiles):包含一个发行版、一个kickstart文件以及可能的存储库,还包括更多特定的内核参数等其他数据

  ③系统(systems):表示要配给的机器。它包括一个配置文件或一个镜像、IP和MAC地址、电源管理(地址、凭据、类型)以及更为专业的数据等信息

  ④镜像(images):可以替换一个保函不屑于此类别的文件的发行版对象(例如,无法分为内核和initrd的对象)

  | cobbler集成的服务

  PXE服务支持   DHCP服务管理   DNS服务管理   电源管理   Kickstart服务支持   YUM仓库管理   TFTP   Apache

  cobbler工作原理

  | Server端

  启动Cobbler服务   进行Cobbler错误检查,执行cobbler check命令   进行配置同步,执行cobbler sync命令   复制相关启动文件到TFTP目录中   启动DHCP服务,提供地址分配   DHCP服务分配IP地址   TFTP传输启动文件   Server端接收安装信息   Server端发送ISO镜像与Kickstart文件

  | Client端

  客户端以PXE模式启动   客户端获取IP地址   通过TFTP服务器获取启动文件   进入Cobbler安装选择界面   根据配置信息准备安装系统   加载Kickstart文件   传输系统安装的其它文件   进行安装系统

  cobbler安装

  说明:虚拟机网卡采用NAT模式或者仅主机模式,不要使用桥接模式,因为后面会搭建DHCP服务器,在同一个局域网多个DHCP服务会有冲突

  VMware的NAT模式的dhcp服务也关闭,避免干扰

  | 关闭防火墙

# 永久关闭firewalld防火墙 systemctl stop firewalld systemctl disable firewalld # 永久关闭SELinux防火墙 setenforce 0 sed -i s/^SELINUX=.*/SELINUX=disabled/ /etc/sysconfig/selinux

  | 安装cobbler

# 配置epel源 yum -y install epel-release # 安装cobbler及dhcp httpd xinetd cobbler-web yum -y install cobbler cobbler-web tftp-server dhcp httpd xinetd # 启动cobbler及httpd并加入开机启动 systemctl start httpd cobblerd systemctl enable httpd cobblerd

  | cobbler相关文件介绍

  | 配置cobbler

  检查Cobbler的配置,如果看不到下面的结果,再次重启cobbler

cobbler check

  看到上面出现的问题,然后一个一个的源码下载进行解决,先进行设置为可以动态配置,也可以直接更改配置文件

# 设置可以动态修改配置文件 sed -ri /allow_dynamic_settings:/c\allow_dynamic_settings: 1 /etc/cobbler/settings systemctl restart cobblerd

  逐个解决上面的问题

1. server # cobbler setting edit --name=server --value=10.0.0.4 2. next_server # cobbler setting edit --name=next_server --value=10.0.0.4 3. tftp_server 服务启动 # sed -ri /disable/c\disable = no /etc/xinetd.d/tftp # systemctl enable xinetd # systemctl restart xinetd 4. syslinux 只要安装了最新版的syslinux就可以忽略 # yum install syslinux -y 5. rsyncd 启动 # systemctl start rsyncd # systemctl enable rsyncd 6. debmirror # 这个是可选项的,可以忽略。这里就忽略了,它是用于Debian系统的部署 7. pykickstart 安装 # yum -y install pykickstart 8. default_password_crypted 密码设置 # 注意:这里设置的密码,也就是后面安装完系统的初始化登录密码 # openssl passwd -1 -salt random-phrase-here 1 $1$random-p$XyO1vNsfHQl8vTCrvSxhI0 # cobbler setting edit --name=default_password_crypted --value=$1$random-p$XyO1vNsfHQl8vTCrvSxhI0 9. fencing 安装 # yum -y install fence-agents

  解决完成再次查看

  | 配置DHCP

# 打开DHCP功能 cobbler setting edit --name=manage_dhcp --value=1 # 修改配置文件 vi /etc/cobbler/dhcp.template · · · subnet 10.0.0.0 netmask 255.255.255.0 { # 这里改为分配的网段和掩码# option routers 10.0.0.2; # 如果有网关,这里改为网关地址 option domain-name-servers 223.5.5.5; # 如果有DNS,这里改为DNS地址 option subnet-mask 255.255.255.0; # 改为分配的IP的掩码 range dynamic-bootp 192.168.1.100 192.168.1.254; # 改为分配的IP的范围 · · ·

  | 同步cobbler配置

  同步cobbler配置,它会根据配置自动修改dhcp等服务

cobbler sync

  这时候创建一个新虚拟机可以获取到如下信息,没有镜像选择,只能从本地启动

  | cobbler命令帮助

  cobbler配置安装centos7.x

  通过 Xftp 上传 CentOS 镜像

  | 创建挂载点,并进行挂载

mkdir -p /oldboyedu/iso/centos7.9 mount -o loop CentOS-7-x86_64-DVD-2009.iso /oldboyedu/iso/centos7.9 # 查看挂载后的目录 ls /oldboyedu/iso/centos7.9

  | 导入镜像

cobbler import --path=/oldboyedu/iso/centos7.9 --name=centos7.9 --arch=x86_64

  | 查看导入后镜像信息

cobbler distro report --name=centos7.9-x86_64

  | 查看profile信息

cobbler profile report --name=centos7.9-x86_64

  | 配置kickstart文件

cat >/var/lib/cobbler/kickstarts/centos7.ks<<EOF # This kickstart file should only be used with EL > 5 and/or Fedora > 7. # For older versions please use the sample.ks kickstart file. # Install OS instead of upgrade install # Use text mode install text # System keyboard keyboard us # System language lang en_US # System timezone timezone Asia/ShangHai #Root password rootpw --iscrypted $default_password_crypted # System authorization information auth --useshadow --enablemd5 # Firewall configuration firewall --disabled # SELinux configuration selinux --disabled # Use network installation url --url=$tree # Clear the Master Boot Record zerombr # System bootloader configuration bootloader --location=mbr # Partition clearing information clearpart --all --initlabel part /boot --fstype=xfs --size=500 part swap --fstype=swap --size=2048 part / --fstype=xfs --grow --size=200 # If any cobbler repo definitions were referenced in the kickstart profile, include them here. $yum_repo_stanza # Network information $SNIPPET(network_config) # Do not configure the X Window System skipx # Run the Setup Agent on first boot firstboot --disable # Reboot after installation reboot %pre $SNIPPET(log_ks_pre) $SNIPPET(kickstart_start) $SNIPPET(pre_install_network_config) # Enable installation monitoring $SNIPPET(pre_anamon) %end %packages $SNIPPET(func_install_if_enabled) @core @base tree nmap wget lftp lrzsz telnet %end %post --nochroot $SNIPPET(log_ks_post_nochroot) %end %post $SNIPPET(log_ks_post) # Start yum configuration $yum_config_stanza # End yum configuration $SNIPPET(post_install_kernel_options) $SNIPPET(post_install_network_config) $SNIPPET(func_register_if_enabled) $SNIPPET(download_config_files) $SNIPPET(koan_environment) $SNIPPET(redhat_register) $SNIPPET(cobbler_register) # Enable post-install boot notification $SNIPPET(post_anamon) # Start final steps $SNIPPET(kickstart_done) # End final steps sed -ri "/^#UseDNS/c\UseDNS no" /etc/ssh/sshd_config sed -ri "/^GSSAPIAuthentication/c\GSSAPIAuthentication no" /etc/ssh/sshd_config %end EOF

  | 编辑centos7镜像所使用的kickstart文件

# 动态编辑指定使用新的kickstart文件 cobbler profile edit --name=centos7.9-x86_64 --kickstart=/var/lib/cobbler/kickstarts/centos7.ks # 验证是否更改成功 cobbler profile report --name=centos7.9-x86_64 |grep Kickstart

  | 再次同步cobbler配置

cobbler sync

  | 新建虚拟机进行测试

  选择centos7.9进行安装即可

  说明:在client端系统安装时,可以在cobbler服务端上查看日志/var/log/messages,观察安装的WordPress模板每一个流程

  安装成功

  cobbler Web管理界面配置

  web界面有很多功能,包括上传镜像、编辑kickstart、等等很多在命令行操作的都可以在web界面直接操作

  在上面已经安装了cobbler-web软件,访问地址:https://IP/cobbler_web 即可

  默认账号为cobbler,密码也为cobbler

  修改密码

/etc/cobbler/users.conf #Web服务授权配置文件 /etc/cobbler/users.digest #用于web访问的用户名密码 # 设置密码,在Cobbler组添加cobbler用户,输入2遍密码确 htdigest /etc/cobbler/users.digest "Cobbler" cobbler # 同步配置并重启httpd、cobbler cobbler sync systemctl restart httpd systemctl restart cobblerd

  再次登录即使用新设置的密码登录即可

随机为您推荐
版权声明:本站资源均来自互联网,如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

Copyright © 2016 Powered by 【Linux运维云计算培训】Cobbler自动化部署,附实战案例!,益强智未来  滇ICP备2023006006号-17sitemap

回顶部