一、简介

Cobbler是一个快速网络安装linux的服务,而且在经过调整也可以支持网络安装windows。该工具使用python开发,小巧轻便(才15k行python代码),使用简单的命令即可完成PXE网络安装环境的配置,同时还可以管理DHCP、DNS、以及yum仓库、构造系统ISO镜像。

Cobbler支持命令行管理,web界面管理,还提供了API接口,可以方便二次开发使用。

Cobbler客户端Koan支持虚拟机安装和操作系统重新安装,使重装系统更便捷。

二、cobbler提供的功能

使用 Cobbler,您无需进行人工干预即可安装机器。Cobbler 设置一个 PXE 引导环境(它还可使用 yaboot 支持 PowerPC),并控制与安装相关的所有方面,比如网络引导服务(DHCP 和 TFTP)与存储库镜像。当希望安装一台新机器时,Cobbler 可以:

l  使用一个以前定义的模板来配置 DHCP 服务(如果启用了管理 DHCP)

l  将一个存储库(yum 或 rsync)建立镜像或解压缩一个媒介,以注册一个新操作系统

l  在 DHCP 配置文件中为需要安装的机器创建一个条目,并使用您指定的参数(IP 和 MAC 地址)

l  在 TFTFP 服务目录下创建适当的 PXE 文件

l  重新启动 DHCP 服务以反映更改

l  重新启动机器以开始安装(如果电源管理已启用)

安装环境:centos 7

首先关闭防火墙和selinux

[root@localhost ~]#systemctl stop firewalld

[root@localhost ~]#setenforce 0

1、安装centos 7 yum源

[root@localhost ~]#rpm -ivh https://mirrors.aliyun.com/epel/epel-release-latest-7.noarch.rpm

2、安装cobbler工具

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

3、启动并检查和进行初始操作

[root@localhost ~]#systemctl start cobblerd

[root@localhost ~]#systemctl start httpd

[root@localhost ~]#systemctl start xinetd

[root@localhost ~]#cobbler check

根据提示一步步完成,然后重启cobbler

3.1、在/etc/cobbler/settings文件第384行

server: 127.0.0.1改成server: 192.168.56.133(本机ip)

3.2、在/etc/cobbler/settings文件第272行

next_server: 127.0.0.1改成192.168.56.133(本机ip)

3.3、在/etc/xinetd.d/tftp文件里

disable= yes改成disable= no

3.4、生成cobbler默认密码,然后

[root@linux-node2 ~]# openssl passwd -1 -salt 'cobbler' 'cobbler'

$1$cobbler$M6SE55xZodWc9.vAKLJs6.

3.5、在etc/cobbler/settings第101行,

default_password_crypted: "$1$mF86/UHC$WvcIcX2t6crBz2onWxyac."修改成刚生成的        密码default_password_crypted: "$1$cobbler$M6SE55xZodWc9.vAKLJs6."

3.6、启动rsync服务

systemctl start rsyncd

3.7、执行cobbler get-loaders命令下载相关的文件

3.8、重启cobbler并在此检测

[root@localhost ~]#systemctl restart cobblerd

[root@localhost ~]#cobbler check

这三项可以不用管

3.9、让cobbler来管理dhcp

在/etc/cobbler/settings文件第242行

manage_dhcp:0改成manage_dhcp:1即可

然后修改cobbler的dhcp模版文件在自动生成dhcp文件

路径:/etc/cobbler/dhcp.template

只需修改如下几行即可(修改成自己的网段等)

subnet 192.168.56.0 netmask 255.255.255.0 {

option routers             192.168.56.2;

option domain-name-servers 192.168.56.2;

option subnet-mask         255.255.255.0;

range dynamic-bootp        192.168.56.100 192.168.56.254;

3.10、重启cobbler及cobbler check

[root@localhost ~]#systemctl restart cobblerd

[root@localhost ~]#cobbler check   #自动生成dhcp文件并重启dhcp

可以看到是由cobbler在管理dhcp

4、镜像导入

4.1、挂载镜像

[root@localhost ~]#mount /dev/cdrom /mnt

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

4.2、导入(会把镜像导入到/var/www/cobbler/ks_mirror/目录下)

[root@localhost ~]#cobbler import --path=/mnt/ --name=centos-7-x86_64 --arch=x86_64

4.3、cobbler profile 指令

[root@localhost ~]#  cobbler profile

usage

=====

cobbler profile add

cobbler profile copy

cobbler profile dumpvars

cobbler profile edit

cobbler profile find

cobbler profile getks

cobbler profile list

cobbler profile remove

cobbler profile rename

cobbler profile report

可以看到 cobbler profile的各指令

[root@localhost ~]# cobbler profile list

centos-7-x86_64

可以看到有几个镜像

[root@localhost ~]# cobbler profile report

Name                           : centos-7-x86_64

TFTP Boot Files                : {}

Comment                        :

DHCP Tag                       : default

Distribution                   : centos-7-x86_64

Enable gPXE?                   : 0

Enable PXE Menu?               : 1

Fetchable Files                : {}

Kernel Options                 : {}

Kernel Options (Post Install)  : {}

Kickstart                      : /var/lib/cobbler/kickstarts/sample_end.ks      #默认的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

可以看到各镜像的详细信息

4.3、加载自定义的ks文件

[root@localhost ~]#cobbler profile edit --name=centos-7-x86_64 --kickstart=/var/lib/cobbler/kickstarts/centos7.cfg

4.4、修改centos7内核参数把网卡变成eth模式

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

4.5、运行cobbler sync更新配置即可

[root@localhost ~]#cobbler sync

4.6、重新创建个虚拟机启动,看到如下表示ok的,就会自动安装了

注:ks文件内容如下

lang en_US

keyboard us

timezone Asia/Shanghai

rootpw --iscrypted $default_password_crypted

text

install

url --url=$tree

bootloader --location=mbr

zerombr

clearpart --all --initlabel

part /boot --fstype xfs --size 1024 --ondisk sda

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

auth --useshadow --enablemd5

$SNIPPET('network_config')

reboot

firewall --disabled

selinux --disabled

skipx

%pre

$SNIPPET('log_ks_pre')

$SNIPPET('kickstart_start')

$SNIPPET('pre_install_network_config')

$SNIPPET('pre_anamon')

%end

%packages

@base

@core

sysstat

iptraf

ntp

lrzsz

ncurses-devel

openssl-devel

zlib-devel

OpenIPMI-tools

nmap

screen

%end

%post

systemctldisable postfix.service

$yum_config_stanza

%end

cobbler自动安装系统的更多相关文章

  1. cobbler自动安装系统(Centos7.X)

    环境: [root@kickstart ~]# cat /etc/redhat-release CentOS Linux release (Core) [root@kickstart ~]# unam ...

  2. s32 kickstart 批量自动安装系统

    1. 自动安装操作系统 http://blog.oldboyedu.com/autoinstall-kickstart/   自动安装操作系统的解决方案:kickstart.cobbler(披着web ...

  3. cobbler 自定义安装系统

    1.自定义安装系统(根据mac地址)--name=定义名称--mac=客户端的mac地址--ip-address=需求的ip--subnet=掩码 --gateway=网关--interface=网口 ...

  4. 其他综合-Cobbler无人值守安装系统 CentOS 7

    Cobbler 无人值守安装系统 CentOS 7 1.实验描述 1.1 概述 作为运维,在公司经常遇到一些机械性重复工作要做,例如:为新机器装系统,一台两台机器装系统,可以用光盘.U盘等介质安装,1 ...

  5. Cobbler自定义安装系统和私有源

    1.自定义安装系统(根据mac地址) --name=定义名称 --mac=客户端的mac地址 --ip-address=需求的ip --subnet=掩码 --gateway=网关 --interfa ...

  6. centos7系统部署cobbler批量安装系统

    系统环境: 一.开启两个网卡.一个仅主机模式,一个桥接模式,主机模式对内提供cobbler服务 [root@localhost ~]# ip a 1: lo: <LOOPBACK,UP,LOWE ...

  7. cobbler PXE 安装系统时出现的问题

    cobbler PXE 安装系统时出现的问题 1.安装包未找到.解决方法:ios镜像里没有软件包,换掉该软件包的ios镜像,或者在ks.cfg 文件里删去或注释掉%packages 里指定安装的软件包 ...

  8. CentOS 6.9 CentOS 7.4 自动安装系统 kickstart

    通过ks文件 实现 CentOS 6.9 & 7.4 自动安装系统 环境: VMware 14.0 Pro版 光盘镜像: CentOS-6.9-x86_64-minimal.iso ks文件生 ...

  9. Centos 7 自动安装系统-pxe

    一.简介 PXE(Pre-boot Execution Environment,预启动执行环境)是由Intel公司开发的最新技术,工作于Client/Server的网络模式,支持工作站通过网络从远端服 ...

随机推荐

  1. C语言高效位操作

    思考: 1. 如何将一个数据中的多个不连续位清位? 1. 如何将一个数据中的多个不连续位置位? 1. 如何反转一个数据中的多个不连续位(1->0, 0->1)? 基础知识:C 语言位操作 ...

  2. IOS网络请求之AFNetWorking 3.x 使用

    前言: 计划把公司的网络请求与业务解耦,所以想着学习一下网络请求,最近学习了NSURLSession,今天来学习一下基于NSURLSession封装的优秀开源框架AFNetWorking 3.x,之前 ...

  3. angular2使用官网npm install下载依赖失败的处理方法

    上一两个月在学习angular2,在下载依赖阶段看官网是直接自动下载的,[npm install] 就能把依赖全部弄下来.不过作为新手的我,是倒腾来倒腾去都倒不出来,因为老是报同一个错.官网也还有手动 ...

  4. 【小分享】Date对象封装,时间格式化函数time()

    今天再来分享下Date的应用知识点 先看效果,类似于php里边的time('yyyy-mm-dd')用法,但是我这里没有完全依照php的参数格式来,如果有需要稍微修改一下就行. 首先,明确需要用到的参 ...

  5. C#委托简介

    C#中委托是一种引用类型,该引用类型与其他引用类型不同,在委托对象的引用中存放的不是对数据的引用而是存放对方法的引用,即委托的内部包含一个指向某个方法的指针.通过使用委托把方法的引用封装在委托对象中, ...

  6. Java排序小算法(冒泡和选择)

    package MyTest; import java.util.Scanner; public class BubbleSort { public void Init(int array[]) { ...

  7. [css 揭秘]:CSS揭秘 技巧(三):背景定位

    我的github地址:https://github.com/FannieGirl/ifannie 源码都在这上面哦! 喜欢的给我一个星吧 背景定位 问题:很多时候,我们想针对容器某个角对背景图片做便宜 ...

  8. java初级开发程序员(第三单元)

    1.if基本选择结构: 语法: if(条件){     //程序执行时,先判断条件.当结果为true(真)时,程序先执行大括号的代码块,再执行if结构(即{}部分)后面的代码.当结果为false(假) ...

  9. HNOI2015 Day 1

    HNOI2015的题还是非常漂亮的,几道题都有很大的借鉴意义,都有很强的思考性 T1亚瑟王(概率论) 描述:http://www.lydsy.com/JudgeOnline/problem.php?i ...

  10. 最新虚拟机SAP ECC6.0 EHP7带示例数据IDES版+BW740

    学习SAP,需要虚拟机,请联系QQ:858-048-581 版本:ECC6.0 EHP7.虚拟机操作系统:windows server 2008 64bit..数据库:SQL2008 R2.系统已经做 ...