• 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

    # 首先安装 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的配置目录
    
    '''
    /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

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

    解决自检报错

    # 解决问题一与问题二
    [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配置

    # 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      # 同步配置文件
    
    

    挂载导入镜像

    [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

    [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     
    

    定制化安装

    # 网卡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的映射关系
    
  • 相关阅读:
    HDU 2157 How many ways?【矩阵快速幂】
    CodeForces 3 D.Least Cost Bracket Sequence【贪心+优先队列】
    【差分】Tallest Cow
    P2220 [HAOI2012]容易题【快速幂】
    无题II HDU
    PHP编译常见错误
    MySQL编译安装
    Tomcat 单(多)实例部署使用
    lvs+keepalived 高可用及负载均衡
    MySQL操作命令梳理(2)
  • 原文地址:https://www.cnblogs.com/SR-Program/p/13264907.html
Copyright © 2020-2023  润新知