• Coobler 无人值守安装


    一、coobler部署

    1.安装服务相关软件以及环境

    [root@cobbler ~]# yum install httpd dhcp tftp cobbler  cobbler-web pykickstart xinetd
    

    cobbler #cobbler 程序包
    cobbler-web #cobbler的web 服务包
    pykickstart #cobbler 检查 kickstart 语法错误
    httpd #Apache web服务

    2.启动服务

    [root@cobbler ~]# systemctl start httpd xinetd cobblerd
    [root@cobbler ~]# systemctl enable httpd xinetd cobblerd
    

    3.通过cobbler check 核对当前设置

    [root@cobbler ~]# cobbler check
    The following are potential configuration items that you may want to fix:
    
    ##将/etc/cobbler/settings中的"server"字段设置为本机IP
    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.
    
    ##/etc/cobbler/settings中的'next_server'字段设置为本机IP
    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.
    
    ##/etc/xinetd.d/tftp中的"disable"更改为"no"
    3 : change 'disable' to 'no' in /etc/xinetd.d/tftp
    
    ##缺少一些网络引导加载程序,下载命令:"cobbler get-loaders"来下载
    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.
    
    ##启动rsync服务,并且开机自启动
    5 : enable and start rsyncd.service with systemctl
    
    ##debian 相关,可以忽略
    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
    
    ##重启cobblerd,然后运行"cobbler sync"应用。
    Restart cobblerd and then run 'cobbler sync' to apply changes.
    

    04.解决问题

    #问题1、2
    [root@cobbler ~]# sed -i 's/server: 127.0.0.1/server: 10.0.0.105/' /etc/cobbler/settings
    [root@cobbler ~]# sed -i 's/next_server: 127.0.0.1/next_server: 10.0.0.105/' /etc/cobbler/settings
    
    #问题3
    [root@cobbler ~]# vim /etc/xinetd.d/tftp
    service tftp
    {
            disable                 = no
            socket_type             = dgram
            protocol                = udp
    }
    
    #问题4
    [root@cobbler ~]# cobbler get-loaders
    
    #问题5
    [root@cobbler ~]# systemctl start rsyncd
    [root@cobbler ~]# systemctl enable rsyncd
    
    #问题7 
    [root@cobbler ~]# openssl passwd -1 -salt '123456' '123456'
    $1$123456$wOSEtcyiP2N/IfIl15W6Z0
    [root@cobbler ~]# sed -i '/^default_password_crypted:/c default_password_crypted: "$1$123456$wOSEtcyiP2N/IfIl15W6Z0"' /etc/cobbler/settings
    

    05.在cobbler中开启dhcp功能

    [root@cobbler ~]# sed -i 's/manage_dhcp: 0/manage_dhcp: 1/' /etc/cobbler/settings
    

    06.配置dhcp文件

    [root@default cobbler]# vim /etc/cobbler/dhcp.template
    subnet 10.0.0.0 netmask 255.255.255.0 {					#设置网段
         option routers             10.0.0.254;				#设置网关
         option domain-name-servers 10.0.0.254;				#设置dns服务器地址
         option subnet-mask         255.255.255.0;			#网段
         range dynamic-bootp        10.0.0.2 10.0.0.254;	#设置dhcp服务器IP地址租用的范围
         default-lease-time         21600;
         max-lease-time             43200;
         next-server                $next_server;
         }
    

    07.导入CentOS镜像

    挂载光盘镜像
    [root@cobbler ~]# mount /dev/cdrom /mnt/		
    mount: /dev/sr0 is write-protected, mounting read-only
    
    cobbler 导入镜像
    [root@cobbler ~]# cobbler import --path=/mnt/ --name=CentOS-7.6-x86_64 --arch=x86_64
    
    查看下cobble 列表
    [root@cobbler ~]# cobbler list 
    
    查看cobbler配置信息
    [root@cobbler ~]# cobbler profile report
    

    08.自定义kickstart系统安装信息文件,指定ks文件

    [root@cobbler /]# cobbler profile edit --name=CentOS-7.6-x86_64 --kickstart=/var/lib/cobbler/kickstarts/CentOS-7.6-x86_64.cfg
    

    配置的ks文件(简单配置、具体按照业务需要来配置)

    [root@cobbler ~]# cat /var/lib/cobbler/kickstarts/CentOS-7.6-x86_64.cfg
    # Kickstart Configurator for cobbler by lpc
    # platform=x86, AMD64, or Intel EM64T
    # System language
    lang en_US
    # System keyboard
    keyboard us
    # System timezone
    timezone Asia/Shanghai
    #Root password
    rootpw --iscrypted $default_password_crypted
    # Use text mode install
    text
    # Install OS instead of upgrade
    install
    # Use network installation media
    url --url=$tree
    # System bootloader configuration
    bootloader --location=mbr
    # Clear the Master Boot Record
    zerombr
    # Partition clearing information
    clearpart --all --initlabel
    # Disk partitioning information
    part /boot --fstype xfs --size 200 --ondisk sda
    part swap --size 1024 --ondisk sda
    part / --fstype xfs --size 1 --grow --ondisk sda
    # System authorization information
    auth  --useshadow  --enablemd5
    # Network information
    $SNIPPET('network_config')
    # network --bootproto=dhcp --device=eml --onboot=on
    # Reboot after installation
    reboot
    # Firewall configuration
    firewall --disabled
    # SELinux configuration
    selinux --disabled
    # Do not configure the X Window System
    skipx
    #Package install information
    %pre
    $SNIPPET('log_ks_pre')
    $SNIPPET('kickstart_start')
    $SNIPPET('pre_install_network_config')
    # Enable installation monitoring
    $SNIPPET('pre_anamon')
    %end
    
    %packages 
    @ base
    @ core
    lrzsz
    wget
    ntp
    rsync
    unzip
    iotop
    sysstat
    net-tools
    tree
    vim
    bash-completion
    nc
    nmap
    telnet
    bc
    lsof
    ncurses-devel
    openssl-devel
    zlib-devel
    OpenIPMI-tools
    screen 
    iptraf
    python-devel
    %end
    
    %post
    systemctl disable postfix.service
    %end
    

    09.修改默认网卡名称为eth0(CetnOS7需要更改)

    [root@cobbler ~]# cobbler profile edit --name=CentOS-7.6-x86_64 --kopts='net.ifnames=0 biosdevname=0'
    

    10.重启同步cobbler

    [root@cobbler ~]# systemctl restart cobblerd.service 
    [root@cobbler ~]# cobbler sync
    

    11.测试cobbler是否搭建成功

    新建一台虚拟机,内存一定要大于2G以上,否则会报错


    默认安装

    二、cobbler扩展功能

    编辑pxe模板实现完全自动部署(不需手动选着我们要安装的版本)

    [root@cobbler ~]# vim /etc/cobbler/pxe/pxedefault.template  
    DEFAULT menu
    PROMPT 0
    MENU TITLE Cobbler | http://cobbler.github.io/
    TIMEOUT 200
    TOTALTIMEOUT 6000
    ONTIMEOUT CentOS-7.6-x86_64	##修改默认安装的profile也就是说当你没有选择,超时操作后自动安装此profile
    
    LABEL local
            MENU LABEL (local)
            MENU DEFAULT
            LOCALBOOT -1
    
    $pxe_menu_items
    
    MENU end
    

    cobbler服务web管理界面

    安装环境依赖

    web页面需要下载: cobbler-web;
    Django版本需要较高,这里安装Django==1.8.9,使用python的pip进行安装;
    配置阿里源,安装python-pip和python-devel软件,升级pip,安装Django-1.8.9

    [root@cobbler ~]#  mkdir -p /root/.pip
    [root@cobbler ~]#  cat >~/.pip/pip.conf <<EOF
    [global]
    index-url = http://mirrors.aliyun.com/pypi/simple/
    [install]
    trusted-host=mirrors.aliyun.com
    EOF
    [root@cobbler ~]#  yum -y install python-pip python-devel cobbler-web
    [root@cobbler ~]#  pip install --upgrade pip
    [root@cobbler ~]#  pip install Django==1.8.9
    

    通过浏览器访问
    https://IP/cobbler_web

    注意这里使用的是HTTPS

    默认用户名:cobbler
    默认密码:cobbler

    03.通过mac地址绑定IP地址安装

    #定制一个system,收集mac地址
    cobbler system add --name=cobbler-one --mac=00:50:56:3A:11:FF --ip-address=10.0.0.122 --subnet=255.255.255.0 --gateway=10.0.0.254 --interface=eth0 --static=1 --profile=CentOS-7.6-x86_64 --hostname=cobbler-test --netboot-enabled=true --name-servers="202.106.0.20"
    
    cobbler system edit --name=cobbler-one --mac=00:50:56:3F:5C:97 --ip-address=172.16.1.122 --subnet=255.255.255.0 --interface=eth1 --static=1
    
    #参数说明
    #--name : system 实例的名称
    #--mac : 与实例对应的mac地址
    #--ip-address : 实例所使用的网络接口的ip地址
    #-subnet : 对应的网络掩码
    #--gateway : 网关地址
    #--interface : 网络接口的名称
    #--static=1 : 使用静态ip也就是我们之前设置ip地址
    #--hostname : 定义主机名
    #--name-servers : 定义dns
    # --netboot-enabled=true :  cobbler 可以设置成一个新服务器的安装过后,第二次PXE启动的时候 能自动选择跳过(避免重复安装)
    
  • 相关阅读:
    组件库设计
    kill 3000
    nextjs服务端渲染原理
    Web交互增强
    webpack4.0打包的时候一些技巧
    把网站部署到阿里云上的步骤
    typescript使用小结
    webpack 4.0尝鲜
    基于Quick-cocos2d-x的资源更新方案 二
    Android APK是否需要预解压
  • 原文地址:https://www.cnblogs.com/lpcsf/p/12145803.html
Copyright © 2020-2023  润新知