linux批量安装,cobbler

简介: linux批量安装,cobbler,pxe,dhcp,tftp

实验环境Centos7
需安装包:
httpd :提供传输安装系统所需文件,根目录挂载安装光盘
dhcpd :提供dhcp服务
tftp-server :与dhcpd一起提供初始化文件传输服务
syslinux :提供部分必须文件如:pxelinux

dhcp 服务:

    主要配置
        vim /etc/dhcp/dhcpd.conf
        subnet 192.168.10.0 netmask 255.255.255.0 {
            range 192.168.10.10 192.168.10.20;
            filename "pxelinux.0"; /* 申明pxe文件名
            next-server 192.168.10.3; /* 申明pxe文件所在的服务器,tftp服务器
            }

tftp服务

    服务根目录
        各个版本的安装程序组件不可混用
        CentOS7:
            tree /var/lib/tftpboot/
                ├── chain.c32              /*由 syslinux 软件包提供,与选择菜单有关
                ├── initrd.img            /*由系统安装光盘里的pxelinux提供,是系统安装程序组件
                ├── kickstarts            
                │   └── centos7.cfg        /*ks文件,自动化安装系统的安装配置在选择菜单界面选择项引用
                ├── mboot.c32            /*由 syslinux 软件包提供,与选择菜单有关
                ├── memdisk                /*由 syslinux 软件包提供,与选择菜单有关
                ├── menu.c32            /*由 syslinux 软件包提供,与选择菜单有关
                ├── pxelinux.0            /*由 syslinux 软件包提供,与选择菜单有关
                ├── pxelinux.cfg        
                │   └── default            /*是系统安装光盘里的isolinux提供,与选择菜单界面选择项有关
                └── vmlinuz                /*由系统安装光盘里的pxelinux提供,是系统安装程序组件
        
            default文件详解:
                
                default menu.c32
                prompt 5
                timeout 30
                MENU TITLE CentOS 7 PXE Menu

                LABEL linux
                MENU LABEL Install CentOS 7 x86_64
                KERNEL vmlinuz
                APPEND initrd=initrd.img 
                  
                LABEL linux
                MENU LABEL Install CentOS 7 x86_64
                KERNEL vmlinuz
                APPEND initrd=initrd.img (ip=192.168.10.100 netmask=255.255.255.0)inst.repo=http://172.16.100.67/centos7 ks=http://172.16.100.67/centos7.cfg
        CentOS6:
            tree /var/lib/tftpboot/
                ├── boot.msg            /*是系统安装光盘里的isolinux提供,与选择菜单界面选择项有关
                ├── initrd.img            /*由系统安装光盘里的pxelinux提供,是系统安装程序组件
                ├── pxelinux.0            /*由 syslinux 软件包提供,与选择菜单有关
                ├── pxelinux.cfg        /*由 syslinux 软件包提供,与选择菜单有关
                │   └── default            /*是系统安装光盘里的isolinux提供,与选择菜单界面选择项有关
                ├── splash.jpg            /*是系统安装光盘里的isolinux提供,与选择菜单界面选择项有关
                ├── vesamenu.c32        /*是系统安装光盘里的isolinux提供,与选择菜单界面选择项有关
                └── vmlinuz                /*由系统安装光盘里的pxelinux提供,是系统安装程序组件

cobbler :有图形界面--- 安装包(cobbler-web)

cobbler是pxe的二次封装所以依赖于以下服务
    dhcp:解决方案(安装包)
        dnsmasq,dhcpd
    tftp:解决方案(安装包)
        tftp-server

概念:
        distro /linux 发行版系统 repository,标记一个发行版的最重要标记是,kernel ramdisk
        profile    /ks文件    kickstarts
        system  /实际安装好的系统 ip/mask

主配置文件:
    /etc/cobbler/settings

实现流程:
    yum install cobbler            /*安装cobbler,基于epel源
    systemctl start cobbler        /*启动服务
    cobbler check                /*检查服务,根据服务的错误提示修改主配置文件重启即可
    cobbler sync                /*修改完配置文件后,同步配置到,tftp
     cobbler import --name="CentOS7_x86_64-1503" --path=/media/cdrom     /*导入发行版本,会生成最小安装的配置文件
    
                
命令:
    cobbler distro [list|add|--help]
    cobbler import --name="CentOS7_x86_64-1503" --path=/media/cdrom

实操流程:
    1、安装cobbler,基于epel源
        yum install cobbler
    2、启动服务
        systemctl start cobbler.service
    3、运行cobbler check
        cobbler check
        
            系统提示:
            httpd does not appear to be running and proxying cobbler, or SELinux is in the way. Original traceback:
            Traceback (most recent call last):
              File "/usr/lib/python2.7/site-packages/cobbler/cli.py", line 251, in check_setup
                s.ping()
              File "/usr/lib64/python2.7/xmlrpclib.py", line 1233, in __call__
                return self.__send(self.__name, args)
              File "/usr/lib64/python2.7/xmlrpclib.py", line 1591, in __request
                verbose=self.__verbose
              File "/usr/lib64/python2.7/xmlrpclib.py", line 1273, in request
                return self.single_request(host, handler, request_body, verbose)
              File "/usr/lib64/python2.7/xmlrpclib.py", line 1301, in single_request
                self.send_content(h, request_body)
              File "/usr/lib64/python2.7/xmlrpclib.py", line 1448, in send_content
                connection.endheaders(request_body)
              File "/usr/lib64/python2.7/httplib.py", line 1037, in endheaders
                self._send_output(message_body)
              File "/usr/lib64/python2.7/httplib.py", line 881, in _send_output
                self.send(msg)
              File "/usr/lib64/python2.7/httplib.py", line 843, in send
                self.connect()
              File "/usr/lib64/python2.7/httplib.py", line 824, in connect
                self.timeout, self.source_address)
              File "/usr/lib64/python2.7/socket.py", line 571, in create_connection
                raise err
            error: [Errno 111] Connection refused
                
            问题所在第一行,httpd服务没有启动。
            1),rpm -qi httpd 显示httpd 已在安装cobbler时一起安装了,启动即可
                systemctl start httpd
            
        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 : change 'disable' to 'no' in /etc/xinetd.d/tftp
                4 : 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.
                5 : enable and start rsyncd.service with systemctl
                6 : debmirror package is not installed, it will be required to manage debian deployments and repositories
                7 : 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
                8 : 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.
                
                如上各问题的解决方法如下所示:
                1、修改/etc/cobbler/settings文件中的server参数的值为提供cobbler服务的主机相应的IP地址或主机名;
                2、修改/etc/cobbler/settings文件中的next_server参数的值为提供(cobbler)PXE服务的主机相应的IP地址;
                3、如果当前节点可以访问互联网,执行“cobbler get-loaders”命令即可;否则,需要安装syslinux程序包, 而后复制/usr/share/syslinux/*等文件至/var/lib/cobbler/loaders/目录中;
                4、执行“chkconfig rsync on”/systemctl start rsyncd.service命令即可;
                5、注释/etc/debmirror.conf文件中的“@dists="sid";”一行,centos7忽略;
                6、注释/etc/debmirror.conf文件中的“@arches="i386";”一行;centos7忽略;
                7、执行“openssl passwd -1 -salt $(openssl rand -hex 4)”生成密码,并用其替换/etc/cobbler/settings文件中default_password_crypted参数的值;
                8、执行“yum install cman fence-agents”命令安装相应的程序包即可;
    4,启动tftp服务
        systemctl start tftp
    5,安装dhcp服务并配置启动
        安装:yum install -y dhcp
        配置:vim /etc/dhcp/dhcpd.conf
        
                default-lease-time 600;
                max-lease-time 7200;

                log-facility local7;

                subnet 192.168.10.0 netmask 255.255.255.0 {
                        range 192.168.10.10 192.168.10.20;
                        filename="pxelinux.0";
                        next-server 192.168.10.2;
                }
        启动:systemctl start dhcpd
    
    6,接着重启cobblerd,而后执行“cobbler sync”同步新的配置至cobbler。
    7,导入发行版本,会生成最小安装的配置文件,同步
        cobbler import --name="CentOS7_x86_64-1503" --path=/media/cdrom
        cobbler sync
    
    
    
                

额外命令:
mount --bind diretory diretory /*目录挂载

目录
相关文章
|
1天前
|
Linux Python
Linux 安装python3.7.6
本教程介绍在Linux系统上安装Python 3.7.6的步骤。首先使用`yum`安装依赖环境,包括zlib、openssl等开发库。接着通过`wget`下载Python 3.7.6源码包并解压。创建目标文件夹`/usr/local/python3`后,进入解压目录执行配置、编译和安装命令。最后设置软链接,使`python3`和`pip3`命令生效。
|
3天前
|
Ubuntu Linux
Linux 各发行版安装 ping 命令指南
如何在不同 Linux 发行版(Ubuntu/Debian、CentOS/RHEL/Fedora、Arch Linux、openSUSE、Alpine Linux)上安装 `ping` 命令,详细列出各发行版的安装步骤和验证方法,帮助系统管理员和网络工程师快速排查网络问题。
56 20
|
4天前
|
Unix Linux 编译器
UNIX/Linux 上的安装
UNIX/Linux 上的安装。
19 2
|
29天前
|
NoSQL Linux PHP
如何在不同操作系统上安装 Redis 服务器,包括 Linux 和 Windows 的具体步骤
本文介绍了如何在不同操作系统上安装 Redis 服务器,包括 Linux 和 Windows 的具体步骤。接着,对比了两种常用的 PHP Redis 客户端扩展:PhpRedis 和 Predis,详细说明了它们的安装方法及优缺点。最后,提供了使用 PhpRedis 和 Predis 在 PHP 中连接 Redis 服务器及进行字符串、列表、集合和哈希等数据类型的基本操作示例。
56 4
|
1月前
|
存储 安全 数据管理
如何在 Rocky Linux 8 上安装和配置 Elasticsearch
本文详细介绍了在 Rocky Linux 8 上安装和配置 Elasticsearch 的步骤,包括添加仓库、安装 Elasticsearch、配置文件修改、设置内存和文件描述符、启动和验证 Elasticsearch,以及常见问题的解决方法。通过这些步骤,你可以快速搭建起这个强大的分布式搜索和分析引擎。
43 5
|
1月前
|
消息中间件 Linux RocketMQ
在Red Hat Enterprise Linux 9上使用Docker快速安装并部署
通过以上步骤,你可以在Red Hat Enterprise Linux 9上使用Docker快速安装并部署RocketMQ。这种方法不仅简化了安装过程,还提供了一个灵活的环境来管理和扩展消息队列系统。RocketMQ作为一款高性能的分布式消息系统,通过Docker可以实现快速部署和高效管理。
70 2
|
1月前
|
消息中间件 Linux RocketMQ
在Red Hat Enterprise Linux 9上使用Docker快速安装并部署
通过以上步骤,你可以在Red Hat Enterprise Linux 9上使用Docker快速安装并部署RocketMQ。这种方法不仅简化了安装过程,还提供了一个灵活的环境来管理和扩展消息队列系统。RocketMQ作为一款高性能的分布式消息系统,通过Docker可以实现快速部署和高效管理。
44 3
|
1月前
|
存储 缓存 Linux
【Linux】另一种基于rpm安装yum的方式
通过本文的方法,您可以在离线环境中使用RPM包安装YUM并进行必要的配置。这种方法适用于无法直接访问互联网的服务器或需要严格控制软件源的环境。通过配置本地YUM仓库,确保了软件包的安装和更新可以顺利进行。希望本文能够为您在特定环境中部署YUM提供实用的指导。
161 0
|
1月前
|
关系型数据库 MySQL Linux
Linux-安装Mariadb
本文介绍了在 Alibaba Cloud Linux 系统上安装和配置 MariaDB 10.5 的步骤。包括下载安装、初始化数据库、启动服务、处理启动失败的常见问题(如权限问题),以及如何连接数据库、设置密码和允许外部连接。通过这些步骤,您可以顺利完成 MariaDB 的安装和基本配置。
58 0
|
2月前
|
Linux 网络安全 虚拟化
适用于Linux的Windows子系统(WSL1)的安装与使用记录
并放到启动文件夹,就可以开机自动启动了。
77 0
下一篇
DataWorks