• cobbler 实现无人值守网络批量安装操作系统


    2016-12-02

    这里只是安装文档:不涉及介绍

    环境:
         VMware: 12
         cobbler 主机:CentOS 6.7 
         IP: 
              eth0:10.10.111.20/24 管理使用
              eth1: VM dhcp 联网
         
         dhcp地址池:10.10.111.191-10.10.111.200/24
              GATEWAY:10.10.111.1 (物理的vm1网卡地址)                
    
    环境配置:
         关闭selinux:
         sed -i '/^SELINUX=/ s/^SELINUX=.*/SELINUX=disabled/g' /etc/selinux/config
         关闭iptables:
         service iptables stop && chkconfig iptables off
         重启生效
    
    安装配置epel源:
         安装yum优先级插件:
         yum install yum-priorities -y
         安装epel源:
         rpm -Uvh http://mirrors.ustc.edu.cn/fedora/epel/6/x86_64/epel-release-6-8.noarch.rpm
         rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm
         导入key:
          rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6
         重建缓存
         yum makecache
    
    安装Cobbler:
         这里 sync tftpd都是使用Cobbler自带
         yum install cobbler cobbler-web pykickstart debmirror cman fence-agents dhcp bind -y
         
    启动服务:
         service httpd start && service cobblerd start
    
    cobbler配置文件路径:/etc/cobbler/
         主配置文件:settings
    
    检查cobbler环境:
         cobbler check
         问题:
        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 : change 'disable' to 'no' in /etc/xinetd.d/rsync
        6 : file /etc/xinetd.d/rsync does not exist
        7 : comment out 'dists' on /etc/debmirror.conf for proper debian support
        8 : comment out 'arches' on /etc/debmirror.conf for proper debian support
        9 : 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
         问题解决:根据提示解决,个人的如下
              修改配置文件:settings
                       server  IP 为管理地址:10.10.111.20
                       next_server  IP 为管理地址:10.10.111.20 这个需要在配置dhcpd 一样
              修改/etc/xinetd.d/ tftp 和 rsync 文件:
              sed -i '/disable/c disable = no' /etc/xinetd.d/tftp
              sed -i -e 's/= yes/= no/g' /etc/xinetd.d/rsync
              service xinetd restart                 
              执行cobbler get-loaders 加载部分缺失的网络boot-loaders
              注释文件/etc/debmirror.conf 中的 dists 和 arches
              创建系统默认初始密码:cobbler' and should be changed, try: "openssl   passwd -1 -salt 'random-phrase-here' '12345678'  12345678就是系统安装好后root初始密码
                   修改settings 文件:default_password_crypted: "$1$222222$D38AxheCTHf/nVAzlN0.z0"
      
    配置dhcpd服务:
         cd /etc/dhcp   &&   cp /usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample ./dhcpd.conf
              #############vim dhcpd.conf
              # option definitions common to all supported networks...
              option domain-name "flinux.org";
              option domain-name-servers 10.10.111.20, 192.168.131.2;
              default-lease-time 43200;
              max-lease-time 86400;
              # Use this to enble / disable dynamic dns updates globally.
              #ddns-update-style none;
              # If this DHCP server is the official DHCP server for the local
              # network, the authoritative directive should be uncommented.
              #authoritative;
              # Use this to send dhcp log messages to a different log file (you also
              # have to hack syslog.conf to complete the redirection).
              log-facility local7;
              # No service will be given on this subnet, but declaring it helps the
              subnet 10.10.111.0 netmask 255.255.255.0 {
                    option routers             10.10.111.1;
                    range dynamic-bootp        10.10.111.191 10.10.111.200;
              }
              next-server 10.10.111.20;
              filename="pxelinux.0";
    
    配置服务:
         service httpd start 
         service cobblerd restart
         service dhcpd restart
         chkconfig httpd on
         chkconfig cobblerd on
         chkconfig dhcpd on
    
    同步数据:
         cobbler  sync  基本修改操作之后都要运行
    
    添加镜像:
    这里使用光盘挂载添加:
         cobbler import --path=/media/ --name=CentOS-6.7-x86_64       
         --arch=x86_64
         --path:镜像路径
         --name:生成镜像名称:
         --arch:32位或者64位
    
         其实到这里,就可以使用上面导入的镜像profile进行无人值守网络安装了:
         查看distro和profile
         cobbler distro list
         cobbler profile list    
    
    /var/lib/tftpboot/pxelinux.cfg/default
    小小的排错思路:
    1、一个是dhcp不能配置好,dhcpd next-server 10.10.111.20; ====》本地管理地址,也是cobbler的 next_server 地址
    2、一个小小的坑:vm默认开启dhcp。所以这会对实验有影响。在安装系统的时候:影响就是找不到http://10.10.111.20/cblr/svc/op/ks/profile/CentOS-6.5-x86_64  这是自己的镜像 。关闭vm的dhcp
    
    自己定制镜像模板profile:
    先写一个xxx.cfg
         
    
    创建profile:
    cobbler profile add --name=centos-6.7-x86_64-basic 
         --distro=centos-6.7-x86_64    
         --kickstart=/var/lib/cobbler/kickstarts/CentOS-6.7-x86_64.cfg
         --name:定义profile名称
         --distro:指定distro
         --kickstart: 指定kickstart文件 xxx.cfg
    
         
    安装系统的时候,可以使用原导入的镜像profile。也可以使用新建的profile
            

     .cfg文件附上:

    #Kickstart Configurator by Jason Zhao
    #platform=x86, AMD64, or Intel EM64T
    #System language
    lang en_US
    #System keyboard
    keyboard us
    #Sytem timezone
    timezone Asia/Shanghai
    #Root password
    rootpw --iscrypted$default_password_crypted
    #rootpw --iscrypted$1$ops-node$7hqdpgEmIE7Z0RbtQkxW20
    #Use text mode install
    text
    #Install OS instead of upgrade
    install
    #Use NFS installation Media
    url --url=$tree
    #url--url=http://172.16.1.199/CentOS-6.7-x86_64
    #System bootloader configuration
    bootloader --location=mbr
    #Clear the Master Boot Record
    zerombr
    #Partition clearing information
    clearpart --all --initlabel 
    #Disk partitioning information
    part /boot --fstype ext4 --size 1024--ondisk sda
    part swap --size 16384 --ondisk sda
    part / --fstype ext4 --size 1 --grow--ondisk sda
    #System authorization infomation
    auth --useshadow  --enablemd5 
    #Network information
    $SNIPPET('network_config')
    #network --bootproto=dhcp --device=eth0--onboot=on
    # Reboot after installation
    reboot
    #Firewall configuration
    firewall --disabled 
    #SELinux configuration
    selinux --disabled
    #Do not configure XWindows
    skipx
     
    %pre
    $SNIPPET('log_ks_pre')
    $SNIPPET('kickstart_start')
    $SNIPPET('pre_install_network_config')
    # Enable installation monitoring
    $SNIPPET('pre_anamon')
    %end
     
    #Package install information
    %packages
    @ base
    @ core
    @debugging
    @development
    sysstat
    tree
    telnet
    dos2unix
    ntp
    lrzsz
    nfs-utils
    rpcbind
    openssl-devel
    zlib-devel
    nmap
    screen
    %end
     
    %post
    %end
    View Code


     

  • 相关阅读:
    多线程设计的要素—任务线程确定
    https://www.neroxie.com/2019/01/22/深入理解GCD之dispatch-group/
    性能、指标、监控、数据大盘
    iOS PhotoKit 笔记
    多线程的核心问题是控制共享变量的无序访问(读写)
    objective-c arc -对象、变量、变量修饰符、赋值
    大幅降低存储成本,Elasticsearch可搜索快照是如何办到的?
    压测利器:TarsBenchmark正确打开方式
    跨国合作:Serverless Components 在腾讯云的落地和实践
    前端视角谈物联网三部曲:连接智能、交互智能、数据智能
  • 原文地址:https://www.cnblogs.com/shenzhonglin/p/6126466.html
Copyright © 2020-2023  润新知