zoukankan      html  css  js  c++  java
  • cobbler无人值守装机

    安装

    [root@ c7-41 ~]# yum -y install cobbler cobbler-web tftp-server pykickstart httpd dhcp xinetd debmirror

    启动相关程序

    [root@ c7-41 ~]# systemctl start httpd cobblerd
    [root@ c7-41 ~]# systemctl enable httpd cobblerd

    检查cobbler的配置

    [root@ c7-41 ~]# 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 : comment out 'dists' on /etc/debmirror.conf for proper debian support
    7 : comment out 'arches' on /etc/debmirror.conf for proper debian support
    8 : 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
    9 : 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.

    解决问题,首先设置为动态

    [root@ c7-41 ~]# sed -ri '/allow_dynamic_settings:/callow_dynamic_settings: 1' /etc/cobbler/settings
    [root@ c7-41 ~]# grep allow_dynamic_settings /etc/cobbler/settings
    allow_dynamic_settings: 1
    [root@ c7-41 ~]# systemctl restart cobblerd

    开始解决问题

    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.
    解决办法
    [root@ c7-41 ~]# cobbler setting edit --name=server --value=10.0.0.41
    
    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.
    解决办法
    [root@ c7-41 ~]# cobbler setting edit --name=next_server --value=10.0.0.41
    
    change 'disable' to 'no' in /etc/xinetd.d/tftp
    解决办法
    [root@ c7-41 ~]# sed -ri '/disable/cdisable = no' /etc/xinetd.d/tftp
    
    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.
    解决办法
    [root@ c7-41 ~]# systemctl enable xinetd
    [root@ c7-41 ~]# systemctl restart xinetd
    [root@ c7-41 ~]# cobbler get-loaders
    task started: 2020-05-07_192906_get_loaders
    task started (id=Download Bootloader Content, time=Thu May  7 19:29:06 2020)
    downloading https://cobbler.github.io/loaders/README to /var/lib/cobbler/loaders/README
    downloading https://cobbler.github.io/loaders/COPYING.elilo to /var/lib/cobbler/loaders/COPYING.elilo
    downloading https://cobbler.github.io/loaders/COPYING.yaboot to /var/lib/cobbler/loaders/COPYING.yaboot
    downloading https://cobbler.github.io/loaders/COPYING.syslinux to /var/lib/cobbler/loaders/COPYING.syslinux
    downloading https://cobbler.github.io/loaders/elilo-3.8-ia64.efi to /var/lib/cobbler/loaders/elilo-ia64.efi
    downloading https://cobbler.github.io/loaders/yaboot-1.3.17 to /var/lib/cobbler/loaders/yaboot
    downloading https://cobbler.github.io/loaders/pxelinux.0-3.86 to /var/lib/cobbler/loaders/pxelinux.0
    downloading https://cobbler.github.io/loaders/menu.c32-3.86 to /var/lib/cobbler/loaders/menu.c32
    downloading https://cobbler.github.io/loaders/grub-0.97-x86.efi to /var/lib/cobbler/loaders/grub-x86.efi
    downloading https://cobbler.github.io/loaders/grub-0.97-x86_64.efi to /var/lib/cobbler/loaders/grub-x86_64.efi
    *** TASK COMPLETE ***
    
    enable and start rsyncd.service with systemctl
    解决办法
    [root@ c7-41 ~]# systemctl start rsyncd
    [root@ c7-41 ~]# systemctl enable rsyncd
    
    comment out 'dists' on /etc/debmirror.conf for proper debian support
    解决办法
    [root@ c7-41 ~]# sed -i 's#@dists="sid";##@dists="sid";#gp' /etc/debmirror.conf
    
    comment out 'arches' on /etc/debmirror.conf for proper debian support
    解决办法
    [root@ c7-41 ~]# sed -i 's#@arches="i386";##@arches="i386";#g' /etc/debmirror.conf
    
    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
    解决办法
    [root@ c7-41 ~]# openssl passwd -1 -salt `openssl rand -hex 4` '123456'
    $1$ff281a82$t6KM54B116neojwiYjbGu/
    [root@ c7-41 ~]# cobbler setting edit --name=default_password_crypted --value='$1$ff281a82$t6KM54B116neojwiYjbGu/'
    
    fencing tools were not found, and are required to use the (optional) power management features. install cman or fence-agents to use them
    解决办法
    [root@ c7-41 ~]# yum -y install fence-agents
    
    重启cobbler [root@ c7
    -41 ~]# systemctl restart cobblerd [root@ c7-41 ~]# cobbler sync task started: 2020-05-07_193756_sync task started (id=Sync, time=Thu May 7 19:37:56 2020) running pre-sync triggers cleaning trees removing: /var/lib/tftpboot/grub/images copying bootloaders trying hardlink /var/lib/cobbler/loaders/pxelinux.0 -> /var/lib/tftpboot/pxelinux.0 trying hardlink /var/lib/cobbler/loaders/menu.c32 -> /var/lib/tftpboot/menu.c32 trying hardlink /var/lib/cobbler/loaders/yaboot -> /var/lib/tftpboot/yaboot trying hardlink /usr/share/syslinux/memdisk -> /var/lib/tftpboot/memdisk trying hardlink /var/lib/cobbler/loaders/grub-x86.efi -> /var/lib/tftpboot/grub/grub-x86.efi trying hardlink /var/lib/cobbler/loaders/grub-x86_64.efi -> /var/lib/tftpboot/grub/grub-x86_64.efi copying distros to tftpboot copying images generating PXE configuration files generating PXE menu structure rendering TFTPD files generating /etc/xinetd.d/tftp cleaning link caches running post-sync triggers running python triggers from /var/lib/cobbler/triggers/sync/post/* running python trigger cobbler.modules.sync_post_restart_services running shell triggers from /var/lib/cobbler/triggers/sync/post/* running python triggers from /var/lib/cobbler/triggers/change/* running python trigger cobbler.modules.manage_genders running python trigger cobbler.modules.scm_track running shell triggers from /var/lib/cobbler/triggers/change/* *** TASK COMPLETE ***
    [root@ c7-41 ~]# cobbler check No configuration problems found. All systems go. 问题解决了

    配置DHCP

    [root@ c7-41 ~]# cobbler setting edit --name=manage_dhcp --value=1
    [root@ c7-41 ~]# 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 223.5.5.5;
         option subnet-mask         255.255.255.0;
         range dynamic-bootp        10.0.0.100 10.0.0.254;
         default-lease-time         21600;
         max-lease-time             43200;
         next-server                10.0.0.41;
    
    [root@ c7-41 ~]# cobbler sync
    task started: 2020-05-07_194644_sync
    task started (id=Sync, time=Thu May  7 19:46:44 2020)
    running pre-sync triggers
    cleaning trees
    removing: /var/lib/tftpboot/pxelinux.cfg/default
    removing: /var/lib/tftpboot/grub/images
    removing: /var/lib/tftpboot/grub/grub-x86.efi
    removing: /var/lib/tftpboot/grub/grub-x86_64.efi
    removing: /var/lib/tftpboot/grub/efidefault
    removing: /var/lib/tftpboot/s390x/profile_list
    copying bootloaders
    trying hardlink /var/lib/cobbler/loaders/grub-x86.efi -> /var/lib/tftpboot/grub/grub-x86.efi
    trying hardlink /var/lib/cobbler/loaders/grub-x86_64.efi -> /var/lib/tftpboot/grub/grub-x86_64.efi
    copying distros to tftpboot
    copying images
    generating PXE configuration files
    generating PXE menu structure
    rendering DHCP files
    generating /etc/dhcp/dhcpd.conf
    rendering TFTPD files
    generating /etc/xinetd.d/tftp
    cleaning link caches
    running post-sync triggers
    running python triggers from /var/lib/cobbler/triggers/sync/post/*
    running python trigger cobbler.modules.sync_post_restart_services
    running: dhcpd -t -q
    received on stdout:
    received on stderr:
    running: service dhcpd restart
    received on stdout:
    received on stderr: Redirecting to /bin/systemctl restart dhcpd.service
    
    running shell triggers from /var/lib/cobbler/triggers/sync/post/*
    running python triggers from /var/lib/cobbler/triggers/change/*
    running python trigger cobbler.modules.manage_genders
    running python trigger cobbler.modules.scm_track
    running shell triggers from /var/lib/cobbler/triggers/change/*
    *** TASK COMPLETE ***

     cobbler命令

    上传镜像

     

     创建挂载点并挂载

    [root@ c7-41 ~]# mkdir /centos6.10
    [root@ c7-41 ~]# mount -o loop CentOS-6.10-x86_64-bin-DVD1.iso /centos6.10
    mount: /dev/loop0 is write-protected, mounting read-only
    [root@ c7-41 ~]# df -h
    Filesystem               Size  Used Avail Use% Mounted on
    devtmpfs                 475M     0  475M   0% /dev
    tmpfs                    487M     0  487M   0% /dev/shm
    tmpfs                    487M  7.7M  479M   2% /run
    tmpfs                    487M     0  487M   0% /sys/fs/cgroup
    /dev/mapper/centos-root   17G  5.9G   12G  35% /
    /dev/sda1               1014M  137M  878M  14% /boot
    tmpfs                     98M     0   98M   0% /run/user/0
    /dev/loop0               3.8G  3.8G     0 100% /centos6.10

    查看挂载后的目录

    [root@ c7-41 ~]# ll /centos6.10/
    total 566
    -r--r--r-- 2 root root     14 Jun 29  2018 CentOS_BuildTag
    dr-xr-xr-x 3 root root   2048 Jun 30  2018 EFI
    -r--r--r-- 2 root root    212 Nov 27  2013 EULA
    -r--r--r-- 2 root root  18009 Nov 27  2013 GPL
    dr-xr-xr-x 3 root root   2048 Jun 30  2018 images
    dr-xr-xr-x 2 root root   2048 Jun 30  2018 isolinux
    dr-xr-xr-x 2 root root 536576 Jun 30  2018 Packages
    -r--r--r-- 2 root root   1363 Jun 29  2018 RELEASE-NOTES-en-US.html
    dr-xr-xr-x 2 root root   4096 Jun 30  2018 repodata
    -r--r--r-- 2 root root   1706 Nov 27  2013 RPM-GPG-KEY-CentOS-6
    -r--r--r-- 2 root root   1730 Nov 27  2013 RPM-GPG-KEY-CentOS-Debug-6
    -r--r--r-- 2 root root   1730 Nov 27  2013 RPM-GPG-KEY-CentOS-Security-6
    -r--r--r-- 2 root root   1734 Nov 27  2013 RPM-GPG-KEY-CentOS-Testing-6
    -r--r--r-- 1 root root   3380 Jun 30  2018 TRANS.TBL

    导入镜像

    [root@ c7-41 ~]# cobbler import --path=/centos6.10 --name=centos6.10 --arch=x86_64
    # --path 镜像路径
    # --name为安装源定义-个名字
    # --arch指定安装源是32位、64位、 ia64, 目前支持的选项有: x86 |x86_ 64|ia64
    #安装源的唯标示就是根据name参数来定义 ,本例导入成功后,安装源的唯一标示就是: centos6.10,如果重复,系统会提示导入失败。

    查看导入后镜像

    [root@ c7-41 ~]# cobbler distro report --name=centos6.10-x86_64
    Name                           : centos6.10-x86_64
    Architecture                   : x86_64
    TFTP Boot Files                : {}
    Breed                          : redhat
    Comment                        :
    Fetchable Files                : {}
    Initrd                         : /var/www/cobbler/ks_mirror/centos6.10-x86_64/images/pxeboot/initrd.img
    Kernel                         : /var/www/cobbler/ks_mirror/centos6.10-x86_64/images/pxeboot/vmlinuz
    Kernel Options                 : {}
    Kernel Options (Post Install)  : {}
    Kickstart Metadata             : {'tree': 'http://@@http_server@@/cblr/links/centos6.10-x86_64'}
    Management Classes             : []
    OS Version                     : rhel6
    Owners                         : ['admin']
    Red Hat Management Key         : <<inherit>>
    Red Hat Management Server      : <<inherit>>
    Template Files                 : {}

    配置ks文件

    [root@ c7-41 ~]# cd /var/lib/cobbler/kickstarts/
    [root@ c7-41 kickstarts]# cp sample_end.ks centos6.10.ks
    [root@ c7-41 kickstarts]# vim centos6.10.ks
    # This kickstart file should only be used with EL > 5 and/or Fedora > 7.
    # For older versions please use the sample.ks kickstart file.
    # Install OS instead of upgrade
    install
    # Use text mode install
    text
    # System keyboard
    keyboard us
    # System language
    lang en_US
    # System timezone
    timezone  Asia/ShangHai
    #Root password
    rootpw --iscrypted $default_password_crypted
    # System authorization information
    auth  --useshadow  --enablemd5
    # Firewall configuration
    firewall --disabled
    # SELinux configuration
    selinux --disabled
    # Use network installation
    url --url=$tree
    
    # Clear the Master Boot Record
    zerombr
    # System bootloader configuration
    bootloader --location=mbr
    # Partition clearing information
    clearpart --all --initlabel
    part /boot --fstype=ext4 --size=200
    part swap --fstype=swap --size=2048
    part / --fstype=ext4 --grow --size=200 --asprimary
    
    # If any cobbler repo definitions were referenced in the kickstart profile, include them here.
    $yum_repo_stanza
    # Network information
    $SNIPPET('network_config')
    # Do not configure the X Window System
    skipx
    # Run the Setup Agent on first boot
    firstboot --disable
    # Reboot after installation
    reboot
    
    
    %pre
    $SNIPPET('log_ks_pre')
    $SNIPPET('kickstart_start')
    $SNIPPET('pre_install_network_config')
    # Enable installation monitoring
    $SNIPPET('pre_anamon')
    %end
    
    %packages
    $SNIPPET('func_install_if_enabled')
    @core
    @base
    tree
    nmap
    wget
    lftp
    lrzsz
    telnet
    %end
    
    %post --nochroot
    $SNIPPET('log_ks_post_nochroot')
    %end
    
    %post
    $SNIPPET('log_ks_post')
    # Start yum configuration
    $yum_config_stanza
    # End yum configuration
    $SNIPPET('post_install_kernel_options')
    $SNIPPET('post_install_network_config')
    $SNIPPET('func_register_if_enabled')
    $SNIPPET('download_config_files')
    $SNIPPET('koan_environment')
    $SNIPPET('redhat_register')
    $SNIPPET('cobbler_register')
    # Enable post-install boot notification
    $SNIPPET('post_anamon')
    # Start final steps
    $SNIPPET('kickstart_done')
    # End final steps
    
    sed -ri "/^#UseDNS/cUseDNS no" /etc/ssh/sshd_config
    sed -ri "/^GSSAPIAuthentication/cGSSAPIAuthentication no" /etc/ssh/sshd_config
    %end

    动态编辑指定kickstart文件

    [root@ c7-41 kickstarts]# cobbler profile edit --name=centos6.10-x86_64 --kickstart=/var/lib/cobbler/kickstarts/centos6.10.ks
    
    检测是否更改成功
    [root@ c7-41 kickstarts]# cobbler profile report --name=centos6.10-x86_64
    Name                           : centos6.10-x86_64
    TFTP Boot Files                : {}
    Comment                        :
    DHCP Tag                       : default
    Distribution                   : centos6.10-x86_64
    Enable gPXE?                   : 0
    Enable PXE Menu?               : 1
    Fetchable Files                : {}
    Kernel Options                 : {}
    Kernel Options (Post Install)  : {}
    Kickstart                      : /var/lib/cobbler/kickstarts/centos6.10.ks
    Kickstart Metadata             : {}
    Management Classes             : []
    Management Parameters          : <<inherit>>
    Name Servers                   : []
    Name Servers Search Path       : []
    Owners                         : ['admin']
    Parent Profile                 :
    Internal proxy                 :
    Red Hat Management Key         : <<inherit>>
    Red Hat Management Server      : <<inherit>>
    Repos                          : []
    Server Override                : <<inherit>>
    Template Files                 : {}
    Virt Auto Boot                 : 1
    Virt Bridge                    : xenbr0
    Virt CPUs                      : 1
    Virt Disk Driver Type          : raw
    Virt File Size(GB)             : 5
    Virt Path                      :
    Virt RAM (MB)                  : 512
    Virt Type                      : kvm

  • 相关阅读:
    iOS应用程序间共享数据(转)
    解决右滑返回手势和UIScrollView中的手势冲突(转)
    (转)iOS被开发者遗忘在角落的NSException-其实它很强大
    iOS 身份证最后一位是X,输入17位后自动补全X(转)
    springboot单机秒杀之queue队列
    springboot单机秒杀-aop+锁
    springbot单机秒杀,锁与事务之间的大坑
    spring-cloud学习之4.微服务请求打通
    spring-cloud学习之3.使用feign实现负载均衡
    spring-cloud学习之2.搭建请求网关spring-cloud-getway
  • 原文地址:https://www.cnblogs.com/rm580036/p/12845428.html
Copyright © 2011-2022 走看看