cobbler自动安装系统
一、简介
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自动安装系统的更多相关文章
- cobbler自动安装系统(Centos7.X)
环境: [root@kickstart ~]# cat /etc/redhat-release CentOS Linux release (Core) [root@kickstart ~]# unam ...
- s32 kickstart 批量自动安装系统
1. 自动安装操作系统 http://blog.oldboyedu.com/autoinstall-kickstart/ 自动安装操作系统的解决方案:kickstart.cobbler(披着web ...
- cobbler 自定义安装系统
1.自定义安装系统(根据mac地址)--name=定义名称--mac=客户端的mac地址--ip-address=需求的ip--subnet=掩码 --gateway=网关--interface=网口 ...
- 其他综合-Cobbler无人值守安装系统 CentOS 7
Cobbler 无人值守安装系统 CentOS 7 1.实验描述 1.1 概述 作为运维,在公司经常遇到一些机械性重复工作要做,例如:为新机器装系统,一台两台机器装系统,可以用光盘.U盘等介质安装,1 ...
- Cobbler自定义安装系统和私有源
1.自定义安装系统(根据mac地址) --name=定义名称 --mac=客户端的mac地址 --ip-address=需求的ip --subnet=掩码 --gateway=网关 --interfa ...
- centos7系统部署cobbler批量安装系统
系统环境: 一.开启两个网卡.一个仅主机模式,一个桥接模式,主机模式对内提供cobbler服务 [root@localhost ~]# ip a 1: lo: <LOOPBACK,UP,LOWE ...
- cobbler PXE 安装系统时出现的问题
cobbler PXE 安装系统时出现的问题 1.安装包未找到.解决方法:ios镜像里没有软件包,换掉该软件包的ios镜像,或者在ks.cfg 文件里删去或注释掉%packages 里指定安装的软件包 ...
- 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文件生 ...
- Centos 7 自动安装系统-pxe
一.简介 PXE(Pre-boot Execution Environment,预启动执行环境)是由Intel公司开发的最新技术,工作于Client/Server的网络模式,支持工作站通过网络从远端服 ...
随机推荐
- Fiddler 模拟请求的操作方法
此文记录使用Fidder Web Debugger工具,模拟请求的操作步骤! 首先简述一下fiddler的使用: 1.下载安装Fidder抓包工具. 2.打开fiddler发现有左边的栏有请求的url ...
- [转载] A successful Git branching model/GIT分支管理是一门艺术
转载自:http://www.cnblogs.com/baiyw/p/3303125.html 英文原文:http://www.nvie.com/posts/a-successful-git-bran ...
- 一次开放接口从需求分析到发布sdk线上包
新年开场篇,欢迎来点赞:本篇和大家分享的是使用webapi做得接口服务验证框架,需求来源是我打算把上篇提到的图片验证码做成一种服务提供给大家,尽管我在上篇已经把代码打包开源了,但是如果有一种快速对接成 ...
- AngularJS自定义指令之可选参数replace
replace是一个可选参数,如果设置了这个参数,值必须为true,因为默认值为false.默认值意味着模板会被当作子元素插入到调用此指令的元素内部: 如: <my-directive>& ...
- phpcms 列表项 内容项
根据上一篇内容继续 首页替换完成后 接下来替换列表页 首先把列表的静态网页放入相应模板的content文件夹下,并改名为 list.html 并且创建栏目时选择下面一项 同样,头尾去掉,利用{temp ...
- 国内不能使用Google解决方案(不断更新与递增中...)
1.修改hosts方式可以根据对hosts的配置,解决Google搜索.Gmail.谷歌学术.维基百科.GitHub.Twitter.Facebook.Flickr.imgur.Google Serv ...
- Eclipse中debug调试java代码一直报Source not found的解决办法
今天使用eclipse的debug调试代码,一直没法正常调试,一按F6就提示Source not found 根据提示发现可能是另一个项目影响了,所以把另一个项目Close Project,这次直接t ...
- EFcore与动态模型
在开发商城系统的时候,大家会遇到这样的需求,商城系统里支持多种商品类型,比如衣服,手机,首饰等,每一种产品类型都有自己独有的参数信息,比如衣服有颜色,首饰有材质等,大家可以上淘宝看一下就明白了.现在的 ...
- 自行搭建私有云ownCloud,启用SSL,其他配置
ownCloud简介 ownCloud(官网)是一款开源的私有云框架,可以通过它实现个人网盘的功能,如果拥有一个性能不错的VPS,那么就可以摆脱奇慢无比的百度云等网盘啦!我花了大约一天的时间总算搭好了 ...
- Java 同步容器和并发容器
同步容器(在并发下进行迭代的读和写时并不是线程安全的) Vector.Stack.HashTable Collections类的静态工厂方法创建的类(如Collections.synchr ...