• Cobbler无人值守安装linux系统


    简介

    Cobbler是一个Linux服务器安装的服务,可以通过网络启动(PXE)的方式来快速安装、重装物理服务器和虚拟机,同时还可以管理DHCPDNS等。

    Cobbler可以使用命令行方式管理,也提供了基于Web的界面管理工具(cobbler-web),还提供了API接口,可以方便二次开发使用。

    Cobbler是较早前的kickstart的升级版,优点是比较容易配置,还自带web界面比较易于管理。

    Cobbler内置了一个轻量级配置管理系统,但它也支持和其它配置管理系统集成,如Puppet,暂时不支持SaltStack

     


    kickstart基本原理拓扑图


    cobbler和kickstart原理是一致的,只是个人认为cobbler比较好用


    搭建

    直接给命令了,红字(不包括前边的#,#只是代表命令行)

    环境准备

    系统版本CentOS7.2

    # cat /etc/redhat-release

    CentOS Linux release 7.2.1511 (Core)

    关闭selinux

    # getenforce

    Disabled

    关闭防火墙

    # systemctl status firewalld.service

    ● firewalld.service - firewalld - dynamic firewall daemon

       Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled)

       Active: inactive (dead)

    # hostname -I   #本机IP地址

    192.168.110.18

     

    yum源

    # curl -o /etc/yum.repos.d/CentOS-Base.repohttp://mirrors.aliyun.com/repo/Centos-7.repo

    # curl -o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo

    使用yum安装cobbler

    # yum -y install cobbler cobbler-web dhcp tftp-serverpykickstart httpd

     

    启动http和cobbler

    # systemctl start httpd.service

    # systemctl start cobblerd.service

     

    进行语法检查

    # cobbler check

     

    出现8个错,英文的让你修改配置

     

    解决报错

    # cp /etc/cobbler/settings{,.ori}

    # sed -i 's/server: 127.0.0.1/server: 192.168.110.18/'/etc/cobbler/settings

    # sed -i 's/next_server: 127.0.0.1/next_server: 192.168.110.18/'/etc/cobbler/settings

    # sed -i 's/manage_dhcp: 0/manage_dhcp: 1/'/etc/cobbler/settings  #防止重装

    # sed -i 's/pxe_just_once: 0/pxe_just_once: 1/'/etc/cobbler/settings #修改dhcp模板

    # sed -ri "/default_password_crypted/s#(.*:).*#1" `openssl passwd -1 -salt  cobbler '123456'` "#"/etc/cobbler/settings    ###123456是root密码

    # sed -i 's#yes#no#' /etc/xinetd.d/tftp

     

    配置dhcp 照着改吧

    # vim /etc/cobbler/dhcp.template

    subnet 192.168.110.0 netmask 255.255.255.0 {

         optionrouters             192.168.110.1;         #网关

         optionsubnet-mask         255.255.255.0;     #子网掩码

         rangedynamic-bootp        192.168.110.33 192.168.110.99; ##自动分配的ip段

        default-lease-time         21600;

        max-lease-time             43200; 

    :wq    #改完了保存退出

    重启

     

    # systemctl restart rsyncd tftp.socket cobblerd

    # systemctl enable rsyncd tftp.socket cobblerd

     

    启动rsync服务

    # systemctl start rsyncd.service

    # systemctl enable rsyncd.service

    同步 (每次改完配置都要同步)

    # cobbler sync

    下载包所需的软件包(cobbler下载自己所需要的文件)

    cobbler get-loaders

    ls /var/lib/cobbler/loaders

    COPYING.elilo     elilo-ia64.efi   menu.c32   yaboot

    COPYING.syslinux  grub-x86_64.efi  pxelinux.0

    COPYING.yaboot    grub-x86.efi     README

    debian相关无需修改(不用debian就不需要管了)

    再次检查

    # cobbler check

    The following are potential configurationitems that you may want to fix:

     

    1 : debmirror package is not installed, itwill be required to manage debian deployments and repositories

    2 : fencing tools were not found, and arerequired to use the (optional) power management features. install cman orfence-agents to use them

     

    Restart cobblerd and then run 'cobblersync' to apply changes.

     

    重启所有服务

    systemctl restart httpd cobblerd dhcpd rsyncdtftp.socket

    cobbler安装完成,下面进行web界面的操作。

     

    cobblerweb及界面操作

    浏览器访问https://192.168.110.18/cobbler_web

    注意CentOS7cobbler只支持https访问。

    账号密码默认均为cobbler

    操作说明--导入镜像

    在虚拟机上添加上镜像

    vmware:

    挂载上镜像

    # mount /dev/cdrom /mnt/

    mount: /dev/sr0 is write-protected,mounting read-only

    # df -h |grep mnt

    /dev/sr0        4.3G 4.3G     0 100% /mnt

     

    进行导入镜像

    选择ImportDVD  输入Prefix(命名)Arch(架构),Breed(版本),Path(镜像的路径)

    # ls /var/www/cobbler/ks_mirror/

    CentOS7x86_64  config

     

    导入过程使用rsync进行导入,三个进程消失表示导入完毕

    # ps -ef |greprsync

    创建一台空白虚拟机,进行测试网路安装

    注意:虚拟机的内存不能小于2G,网卡的配置要保证网络互通

    启动虚拟机

    启动虚拟机即可发现会有cobbler的选择界面

     

    此界面修改

    # more /etc/cobbler/pxe/pxedefault.template

    DEFAULT menu

    PROMPT 0

    MENU TITLE Cobbler | http://cobbler.github.io/

    TIMEOUT 100

    TOTALTIMEOUT 6000

    ONTIMEOUT $pxe_timeout_profile

    MENU DEFAULT

    $pxe_menu_items

    LABEL local

    MENU LABEL(local)

    LOCALBOOT -1

    MENU end

     

     

    定制化安装操作系统

    添加内核参数

     

    查看导入的镜像,点击edit

    在内核参数中添加net.ifnames=0biosdevname=0

    能够让显示的网卡变为eth0 ,而不是CentOS7中的ens33

    编写ks文件

     

    参考


    install

    url --url=$tree

    text

    lang en_US.UTF-8

    keyboard us

    zerombr

    bootloader --location=mbr --driveorder=sda--append="crashkernel=auto rhgb quiet"

    #Network information

    $SNIPPET('network_config')

    #network --bootproto=dhcp --device=eth0--onboot=yes --noipv6 --hostname=CentOS7

    timezone --utc Asia/Shanghai

    authconfig --enableshadow --passalgo=sha512

    rootpw --iscrypted $default_password_crypted

    clearpart --all --initlabel

    part /boot --fstype xfs --size 1024

    part swap --size 2048

    part / --fstype xfs --size 1 --grow

    firstboot --disable

    selinux --disabled

    firewall --disabled

    logging --level=info

    reboot

     

    %pre

    $SNIPPET('log_ks_pre')

    $SNIPPET('kickstart_start')

    $SNIPPET('pre_install_network_config')

    # Enable installation monitoring

    $SNIPPET('pre_anamon')

    %end

     

    %packages

    @^minimal

    @compat-libraries

    @core

    @debugging

    @development

    bash-completion

    chrony

    dos2unix

    kexec-tools

    lrzsz

    nmap

    sysstat

    telnet

    tree

    vim

    wget

    lsof

    net-tools

    %end

     

    %post

    systemctl disable postfix.service

     

    %end

     


     

    路径为/var/lib/cobbler/kickstarts/ 

    小技巧:如果想定义开机执行命令在倒数第二行添加

     

    设置profile


    选择刚才创建的cfg文件

     

    自定义安装系统

     

    选择systems 创建一个新的系统

    以上的所有配置完成后,点击Save进行保存

     

    开启虚拟机

     

     

    回车~

    一键装机到此结束

  • 相关阅读:
    模拟测试48
    模拟测试47
    模拟测试46
    NOIP模拟测试29(A)
    NOIP模拟测试19
    NOIP模拟测试18(T3待更新)
    杂题
    noip模拟测试18 T2搜索
    noip模拟测试17 2019-08-11 考后反思
    noip模拟测试14 20190807 考试反思
  • 原文地址:https://www.cnblogs.com/wsy1030/p/8431929.html
Copyright © 2020-2023  润新知