cobbler部署

Cobbler 自动化部署
说明简介:
 Cobbler是一个快速网络安装linux的服务,而且在经过调整也可以支持网络安装windows。该工具使用python开发,小巧轻便(才15k行python代码),使用简单的命令即可完成PXE网络安装环境的配置,同时还可以管理DHCP、DNS、TFTP、RSYNC以及yum仓库、构造系统ISO镜像。
  Cobbler支持命令行管理,web界面管理,还提供了API接口,可以方便二次开发使用,Cobbler客户端Koan支持虚拟机安装和操作系统重新安装。
Cobbler原理:
     在这里插入图片描述
Cobbler加载原理图
Server端:

  1. 第一步,启动Cobbler服务
  2. 第二步,进行Cobbler错误检查,执行cobbler check命令
  3. 第三步,进行配置同步,执行cobbler sync命令
  4. 第四步,复制相关启动文件文件到TFTP目录中
  5. 第五步,启动DHCP服务,提供地址分配
  6. 第六步,DHCP服务分配IP地址
  7. 第七步,TFTP传输启动文件
  8. 第八步,Server端接收安装信息
  9. 第九步,Server端发送ISO镜像与Kickstart文件
    Client端:
  10. 第一步,客户端以PXE模式启动
  11. 第二步,客户端获取IP地址
  12. 第三步,通过TFTP服务器获取启动文件
  13. 第四步,进入Cobbler安装选择界面
  14. 第五步,客户端确定加载信息
  15. 第六步,根据配置信息准备安装系统
  16. 第七步,加载Kickstart文件
  17. 第八步,传输系统安装的其它文件
  18. 第九步,进行安装系统
      Cobbler各主要组件关系图:                     
    在这里插入图片描述
    说明:
    distro->profile-system(可选)
    distro 发行版
    面对不同的操作系统
    面对同一个操作系统不同的版本
    profile
    核心特性是通过kickstart来部署
    system
    主要目的配置网络接口
    检测Cobbler
       cobbler的运行依赖于dhcp、tftp、rsync及dns服务,其中dhcp可由dhcpd(isc)提供,也可由dnsmasq提供;tftp可由tftp-server程序包提供,也可由cobbler功能提供,rsync有rsync程序包提供,dns可由bind提供,也可由dnsmasq提供
       cobbler可自行管理这些服务中的部分甚至是全部,但需要配置可通过命令 cobbler check来查看具体配置情况
    /etc/cobbler/settings文件中的“manange_dhcp”、“manager_tftpd”、“manager_rsync”、“manager_dns”分别来进行定义,另外,由于各种服务都有着不同的实现方式,如若需要进行自定义,需要通过修改/etc/cobbler/modules.conf配置文件中各服务的模块参数的值来实现。

具体操作和实现步骤:

  1. 关闭防火墙和selinux

#测试将原来的修改/etc/sysconfig/selinux,selinux状态改成enforcing
#然后将/etc/selinux/config,selinux状态修改成disabled
[root@17-Cobbler ~]# sed -i “s#SELINUX=enforcing#SELINUX=disabled#g” /etc/selinux/config
#重启
[root@17-Cobbler ~]# reboot
#再次获取状态,已经关闭了
[root@17-Cobbler ~]# getenforce
Disabled
#确认已经关闭了
[root@17-Cobbler ~]# sestatus
SELinux status: disabled
备注:
临时和永久关闭Selinux
1) 临时关闭:
[root@localhost ~]# getenforce
Enforcing
[root@localhost ~]# setenforce 0
[root@localhost ~]# getenforce
Permissive
2) 永久关闭:
[root@localhost ~]# vim /etc/sysconfig/selinux
SELINUX=enforcing 改为 SELINUX=disabled
重启服务reboot

关闭防火墙
Sytemctl stop firewalld
systemctl disable firewalld

  1. 开启网络(访问外网)
    网络配置:略
  2. 安装epel源

yum install -y http://mirrors.aliyun.com/epel/epel-release-latest-7.noarch.rpm
4. 安装cobbler包
yum install -y tftp tftp-server xinetd httpd dhcp pykickstart cobbler cobbler-web

  1. cobbler路径介绍
    /var/lib/cobbler/kickstarts/ #kicktart文件存放路径,默认使用sample_end.ks.
    /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日志

  2. 启动apache和cobbler服务
    systemctl start httpd
    startenable
    systemctl start cobblerd
    startenable
    cobbler check

  3. 命令行输入:cobbler check
    检查cobbler情况

  4. 按照提示解决
    /etc/cobbler/settings:
    修改: ->next_server: ip #PXE东西放哪
    -> server: ip.
    -> manage_dhcp: 1 管理dhcp
    -> restart_dhcp: 1
    -> defaults_password_crypted:
    - 通过方式 openssl passwd -1 -salt ‘随机短语’ ‘密码’ #生成随机码

/etc/xinetd.d/tftp
-> disable改成no

  1. 开启rsyncd和tftp服务
    systemctl start rsyncd
    start enable
    systemctl start xinetd
    startenable

  2. 7 : debmirror package is not installed, it will be required to manage debian deployments and repositories
    提示说debmirror没安装。如果不是安装 debian之类的系统,此提示可以忽略,如果需要安装,
    下载地址为:
    http://rpmfind.net/linux/rpm2html/search.php?query=debmirror

  3. 配置cobbler模板管理dhcp
    vi /etc/cobbler/dhcp.template

  4. 镜像导入(虚拟DVD,进行镜像挂载)
    cd /mnt/
    mkdir cdrom #创建虚拟光驱
    mount -t iso9660 -o loop /systemiso/CentOS-7.2-x86_64-DVD-1511.iso /mnt/cdrom/
    #挂载ISO镜像到对应虚拟光驱

  5. Cobbler 镜像导入
    cobbler import --path=/mnt/cdrom --name=CentOS-7.2-x86_64 --arch=x86_64

  6. 修改cobbler提示语
    编辑 ‘/etc/cobbler/pxe/pxedefault.template’ #修改cobbler提示语
    -> MENU TITLE Cobbler | http://cobbler.github.io/
    -> MENU TITLE Cobbler by example | http://csdn.blog.net/changsha_csdn

  7. 同步cobbler
    systemctl restart cobblerd

  8. cobbler sync #同步,输出显示修改的内容

  9. 网卡接口标准化制定
    cobbler profile edit --name=centos7.4_x86_64 --kopts=‘net.ifnames=0 biosdevname=0’

  10. 使用定制的ks文件
    cobbler profile edit --name=centos7.4_x84_64–
    kickstart=/var/lib/cobbler/kickstart/centos7.cfg

  11. 调用cobbler的API自动装机不询问
    cobbler system add --name=zfy --mac=00:0C:29:53:E0:F7 --profile=CentOS-7.4-x86_64 --ip-address=10.0.0.118 --subnet=255.255.255.0 --gateway=10.0.0.1 --interface=eth0 --static=1 --hostname=zfy.changsha.com --name-servers=“1.2.4.8 8.8.8.8”
    #添加一台主机,安装指定的profile,设置主机名以及将ip设置为静态

在此,特别鸣谢其他人提供的文章,在编写的时候有借鉴:
https://www.cnblogs.com/guantouping/p/10597044.html
https://blog.csdn.net/csdn_changsha/article/details/82086092
https://blog.csdn.net/xuensong520/article/details/8922926?utm_medium=distribute.pc_relevant_t0.none-task-blog-BlogCommendFromMachineLearnPai2-1.compare&depth_1-utm_source=distribute.pc_relevant_t0.none-task-blog-BlogCommendFromMachineLearnPai2-1.compare
https://blog.csdn.net/yishui8181/article/details/7950707
https://blog.csdn.net/hanzheng260561728/article/details/98614542
https://blog.csdn.net/liang_operations/article/details/80632521
https://blog.csdn.net/qq_34889607/article/details/81698063
https://blog.csdn.net/weixin_34008784/article/details/91882194?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-5.compare&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-5.compare
https://blog.csdn.net/weixin_42890981/article/details/82190344
https://www.cnblogs.com/nulige/p/6796593.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值