zoukankan      html  css  js  c++  java
  • 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进行保存

     

    开启虚拟机

     

     

    回车~

    一键装机到此结束

  • 相关阅读:
    C#中 @ 的用法
    ASP.NET页面间传值
    ASP.NET中常用的文件上传下载方法
    把图片转换为字符
    把图片转换为字符
    JavaScript 时间延迟
    Using WSDLs in UCM 11g like you did in 10g
    The Definitive Guide to Stellent Content Server Development
    解决RedHat AS5 RPM安装包依赖问题
    在64位Windows 7上安装Oracle UCM 10gR3
  • 原文地址:https://www.cnblogs.com/wsy1030/p/8431929.html
Copyright © 2011-2022 走看看