• cobbler装机


    cobbler

    Cobbler是通过将DHCP、TFTP、DNS、HTTP等服务进行集成,创建一个中央管理节点,其可以实现的功能有配置服务,创建存储库,解压缩操作系统媒介,代理或集成一个配置管理系统,控制电源管理等。 Cobbler的最终目的是实现无需进行人工干预即可安装机器。在进行进一步的操作之前,我们有必要先了解下pxe和kickstart 。

    PXE概述

    预启动执行环境(Preboot eXecution Environment,PXE,也被称为预执行环境)是让计算机通过网卡独立地使用数据设备(如硬盘)或者安装操作系统。Intel 搞出来的。

    • PXE Client发送广播包请求DHCP分配IP地址DHCP

    • Server回复请求,给出IP地址以及Boot

    • Server的地址PXE下载引导文件执行引导程序

    • 总结来说,PXE主要是通过广播的方式发送一个包,并请注获取一个地址,而后交给TFTP程序下载一个引导文件

    Kickstart 概述

    Kickstart 是红帽开发的一种工具,我们可以简单理解为一个自动安装应答配置管理程序。通过读取这个配置文件,系统知道怎么去分区,要安装什么包,配什么IP,优化什么内核参数等等。其主要有以下部分组成:

    Kickstart 安装选项,包含语言的选择,防火墙,密码,网络,分区的设置等;

    %Pre 部分,安装前解析的脚本,通常用来生成特殊的ks配置,比如由一段程序决定磁盘分区等;

    %Package 部分,安装包的选择,可以是 @core 这样的group的形式,也可以是这样 vim-* 包的形式;

    %Post 部分,安装后执行的脚本,通常用来做系统的初始化设置。比如启动的服务,相关的设定等。

    实验准备

    本实验只有一台设备

    IP地址192.168.70.120

    系统版本:3.10.0-1160.el7.x86_64

    关闭防火墙 并且设置开机不自启

    [root@localhost ~]# system stop firewalld

    [root@localhost ~]# systemctl disable firewalld

    [root@localhost ~]# setenforce 0   #

    0:设置SELinux 成为permissive模式    1:设置SELinux 成为enforcing模式

    关闭状态改为自由状态

    [root@localhost ~]# cat /etc/selinux/config
    SELINUX=disabled

    [root@localhost ~]# sed -i 's/SELINUX=disabled/SELINUX=permissive/' /etc/selinux/

    创建一个文件夹  准备挂载

    [root@localhost ~]# mkdir centos7/

    [root@localhost ~]# mount /dev/cdrom centos7/

    挂在前确保此处有系统  并且是已连接状态

    设置开机自动挂载

    [root@localhost ~]# vim /etc/fstab

     /dev/cdrom    /root/centos7/      iso9660     defaults       0 0

    检测

    [root@localhost ~]# mount -a

    查看挂载内容

    [root@localhost ~]# df -h

    删除原有的yum源

    [root@localhost ~]# rm -rf /etc/yum.repos.d/*

    配置yum源

    [root@localhost ~]# vim /etc/yum.repos.d/centos.repo

    [centos_file]
    name=centos7_file
    baseurl=file:///root/centos7
    enabled=1
    gpgcheck=0

    [epel]
    name=aliyun
    baseurl=http://mirrors.aliyun.com/epel/7/x86_64/
    enabled=1
    gpgcheck=0

    [centos]
    name=cobbler
    baseurl=http://mirrors.aliyun.com/centos/7/os/x86_64
    enabled=1
    gpgcheck=0

    列出详细信息

    [root@localhost ~]# yum repolist

    安装cobbler及TFTP 、dhcp、http、pykickstart

    [root@localhost ~]# yum -y install cobbler cobbler-web tftp-server httpd dhcp pykickstart

    cobbler            #Cobbler程序包
    cobbler-web         #Cobbler的Web服务包
    tftp-server         #TFTP服务
    dhcp             #DHCP服务
    httpd             #HTTP服务
    pykickstart           #Cobbler检查kickstart语法软件包修改cobbler配置文件

    [root@localhost ~]# vim /etc/cobbler/settings

    next_server: 192.168.70.120   #修改ip为下一个服务器  本机设置为本机

    server: 192.168.70.120    #设置本机为cobbler 服务器

    manage_dhcp: 1 #设置cobbler管理dhcp服务

    pxe_just_once: 1 #防止客户端重复安装操作系统

    修改dhcp配置文件( 改成自己需要分配的网段)

    [root@localhost ~]# vim /etc/cobbler/dhcp.template

    1. subnet 192.168.10.0 netmask 255.255.255.0 {
    2. option routers 192.168.10.5;
    3. option domain-name-servers 192.168.10.1;
    4. option subnet-mask 255.255.255.0;
    5. range dynamic-bootp 192.168.10.10 192.168.10.254;
    6. default-lease-time 21600;
    7. max-lease-time 43200;
    8. next-server $next_server;

    替换网段为192.168.70    按esc键:

    :%s/192.168.10/192.168.70/g        #将全文10替换为70

    重启所有服务并且设置开机自启

    [root@localhost ~]# systemctl restart cobblerd
    [root@localhost ~]# systemctl restart httpd
    [root@localhost ~]# systemctl restart tftp
    [root@localhost ~]# systemctl restart rsyncd

    [root@localhost ~]# systemctl enable cobblerd
    [root@localhost ~]# systemctl enable httpd
    [root@localhost ~]# systemctl enable tftp
    [root@localhost ~]# systemctl enable rsyncd

    获取pxelinux.0引导文件

    [root@localhost ~]# cobbler get-loaders

    No such command: get-loaders   #提示报错

    解决方案

    [root@localhost ~]# yum -y install syslinux

    [root@localhost ~]# cd /usr/share/syslinux/

    [root@localhost syslinux]# ls

       pxelinux.0  

    将文件从复制到 /var/lib/cobbler/loaders/路径

    [root@localhost syslinux]# cp /usr/share/syslinux/pxelinux.0 /var/lib/cobbler/loaders/

    此时虽然cobbler get-loaders 命令依然无法执行,但是我们的/var/lib/cobbler/loaders/路径下已经有了pxelinux.0文件

    刷新同步

    [root@localhost loaders]# cobbler sync

    对cobbler配置检查

    [root@localhost etc]# cobbler check
     

    浏览器访问  https://192.168.70.120/cobbler_web   用户名cobbler  密码cobbler

    导入镜像

     [root@localhost loaders]# cobbler import --path=/root/centos7/ --name=centos88

    --path=/root/centos7/  导入镜像=镜像挂载点  --name=centos88 导入以后=名字  名字随意起

    导入以后存放在

    [root@localhost loaders]# ls /var/www/cobbler/ks_mirror/
    centos88  config

    列出镜像

    [root@localhost loaders]# cobbler list
    distros:
       centos88-x86_64

    profiles:
       centos88-x86_64
    ………

    用 openssl 生成一串密码写入到 cobbler 的配置文件/etc/cobbler/settings,替换 default_password_crypted 字段

    -1:表示采用的是MD5加密算法。

    -salt:指定salt值,不使用随机产生的salt。在使用加密算法进行加密时,即使密码一样,salt不一样,所计算出来的hash值也不一样,除非密码一样,salt值也一样,计算出来的hash值才一样。salt为8字节的字符串。

    xixi 生成一个新用户  

    1 是密码

    [root@localhost loaders]# openssl passwd -1 -salt 'xixi' '1'   

    Password:   

    $1$xixi$9AeUCxL68bMhRDHYI2txD.   #生成后的加密密码

     新生成的加密密码 替换原有配置文件的密码

    1. [root@localhost loaders]# vim /etc/cobbler/settings
    2. default_password_crypted: "$1$mF86/UHC$WvcIcX2t6crBz2onWxyac."
    3. 或者
    4. sed -i 's/default_password_crypted: "$1$mF86/UHC$WvcIcX2t6crBz2onWxyac./default_password_crypted: $1$xixi$9AeUCxL68bMhRDHYI2txD.' /etc/cobbler/settings

    重启

    [root@localhost loaders]# systemctl restart cobblerd

    做一个ntp时间同步

    [root@localhost loaders]# yum -y install chronyd

    [root@localhost loaders]# vim /etc/chrony.conf

    1. # Use public servers from the pool.ntp.org project.
    2. # Please consider joining the pool (http://www.pool.ntp.org/join.html).
    3. #server 0.centos.pool.ntp.org iburst
    4. #server 1.centos.pool.ntp.org iburst
    5. #server 2.centos.pool.ntp.org iburst
    6. #server 3.centos.pool.ntp.org iburst
    7. server ntp.aliyun.com iburst 新添加
    8. server ntp1.aliyun.com iburst 新添加

    重启chronyd 并且设置开机自启

    [root@localhost etc]# systemctl restart chronyd
    [root@localhost etc]# systemctl enable chronyd

    开始装系统

    新建虚拟机

    到此按正常流程装系统。

     

     

     

  • 相关阅读:
    国产信号发生器 1442/1442A射频信号发生器
    【JVM】java的jvm类加载器和类加载子系统
    微信支付业务代码流程
    【LeetCode刷题笔记】二维数组
    从解除FB绑定到推出Meta账号系统,Meta在VR社交的新思考
    CSS关于点击按钮后自动刷新页面
    [大模型]XVERSE-MoE-A4.2B Transformers 部署调用
    一个关于 i++ 和 ++i 的面试题打趴了所有人
    【UNIAPP】APP快速免费生成一键发布页面
    win11右键菜单改回win10教程(亲测可用-全流程截图)
  • 原文地址:https://blog.csdn.net/weixin_45861372/article/details/126661235