Cobbler 自动安装CentOS7
1. Cobbler介绍
Cobbler是一个Linux服务器安装的服务,可以通过网络启动(PXE)的方式来快速安装、重装物理服务器和虚拟机,同时还可以管理DHCP,DNS等。
Cobbler可以使用命令行方式管理,也提供了基于Web的界面管理工具(cobbler-web),还提供了API接口,可以方便二次开发使用。
Cobbler是较早前的kickstart的升级版,优点是比较容易配置,还自带web界面比较易于管理。
1.1 Cobbler集成的服务
PXE服务支持
DHCP服务管理
DNS服务管理(可选bind,dnsmasq)
电源管理
Kickstart服务支持
YUM仓库管理
TFTP(PXE启动时需要)
2 Cobbler所需软件包(默认存在epel repo)
]# yum -y install cobbler cobbler-web dhcp tftp-server pykickstart httpd xinetd
3 启动相关服务并设置开机自启
systemctl start httpd
systemctl enable httpd
systemctl start cobblerd
systemctl enable cobblerd
systemctl start rsyncd
systemctl enable rsyncd
systemctl start dhcpd
systemctl enable dhcpd
systemctl start xinetd
systemctl enable xinetd
3 根据cobbler提示配置文件
cobbler check
3.1 修改/etc/cobbler/settings文件,将默认server的127.0.0.1替换为本机IP地址
sed -i 's#^server: 127.0.0.1#server: 192.168.50.101#' /etc/cobbler/settings
3.2 修改/etc/cobbler/settings文件,将默认next_server的127.0.0.1替换为本机IP地址
sed -i 's#^next_server: 127.0.0.1#next_server: 192.168.50.101#' /etc/cobbler/settings
3.3 用Cobbler管理DHCP
sed -i 's/manage_dhcp: 0/manage_dhcp: 1/' /etc/cobbler/settings #也可以自行配置DHCP服务而无需cobbler管理
3.4 设置通过PXE安装系统密码。根据'cobbler check'提示6中的格式
"openssl passwd -1 -salt 'random-phrase-here' 'your-password-here'"
"openssl passwd -1 -salt 'ankon' '123456'"
生成的随机码:$1$ankon$3lP2z1SgXln3JB/WPLXyM/
vim /etc/cobbler/settings
default_password_crypted: "$1$ankon$3lP2z1SgXln3JB/WPLXyM/"
3.5 下载cobbler引导程序
cobbler get-loaders
3.6 开启tftp服务,修改'disable'为'no'
vim /etc/xinetd.d/tftp
disable = no
systemctl restart xinetd.service
3.7 重启cobbler服务
systemctl restart cobbler
cobbler check #检查cobbler配置是否正确
出现debian和fence信息。可以不用管,如果需要支持debian和fence,可以yum install对应包
4 配置dhcp服务
vim /etc/cobbler/dhcp.template
--------------------
根据你上面配置的/etc/cobbler/settings 里设置的IP地址自动生成
subnet 192.168.50.0 netmask 255.255.255.0 {
option routers 192.168.50.1; #网关地址(也可以填写本机IP)
option domain-name-servers 192.168.50.1; #DNS(也可以填写本机IP)
option subnet-mask 255.255.255.0; #掩码
range dynamic-bootp 192.168.50.120 192.168.50.130; #网段
5 同步cobbler配置
cobbler sysnc
6 导入镜像
mount /dev/cdrom /mnt/ # 挂载CentOS7的系统镜像。
cobbler import --path=/mnt/ --name=CentOS-7 --arch=x86_64
cobbler distro list # 查看镜像列表
7 编辑kickstart文件
在第一次导入系统镜像后,Cobbler会给镜像指定一个默认的kickstart自动安装文件在/var/lib/cobbler/kickstarts下的sample_end.ks。
也可以导入自定义ks文件
cp ks.cfg /var/lib/cobbler/kickstarts/
7.1 查看安装镜像文件信息
cobbler distro report --name=CentOS-7-x86_64
7.2 编辑profile,修改关联的ks文件
cobbler profile edit --name=CentOS-7-x86_64 --kickstart=/var/lib/cobbler/kickstarts/sample_end.ks
进行PXE过程中,可能出现python的字符集编码不一致造成的错误
Exception occured: <type 'exceptions.UnicodeDecodeError'>
Exception value: 'ascii' codec can't decode byte 0xe8 in position 117: ordinal not in range(128)
Exception Info:
File "/usr/lib/python2.7/site-packages/cobbler/remote.py", line , in run
rc = self._run(self)
File "/usr/lib/python2.7/site-packages/cobbler/remote.py", line , in runner
return self.remote.api.validateks(logger=self.logger)
File "/usr/lib/python2.7/site-packages/cobbler/api.py", line , in validateks
return validator.run()
File "/usr/lib/python2.7/site-packages/cobbler/action_validate.py", line , in run
(result, errors) = self.checkfile(x, True)
File "/usr/lib/python2.7/site-packages/cobbler/action_validate.py", line , in checkfile
self.kickgen.generate_kickstart_for_profile(obj.name)
File "/usr/lib/python2.7/site-packages/cobbler/kickgen.py", line , in generate_kickstart_for_profile
return self.generate_kickstart(profile=g)
File "/usr/lib/python2.7/site-packages/cobbler/kickgen.py", line , in generate_kickstart
data = self.templar.render(raw_data, meta, None, obj)
File "/usr/lib/python2.7/site-packages/cobbler/templar.py", line , in render
data_out = self.render_cheetah(raw_data, search_table, subject)
File "/usr/lib/python2.7/site-packages/cobbler/templar.py", line , in render_cheetah
t = Template(source=raw_data, searchList=[search_table], compilerSettings={'useStackFrame':False})
File "DynamicallyCompiledCheetahTemplate.py", line , in __init__
File "_etc_cobbler_cheetah_macros.py", line , in __init__
File "/usr/lib64/python2.7/site-packages/Cheetah/Template.py", line , in __init__
self._compile(source, file, compilerSettings=compilerSettings)
File "/usr/lib64/python2.7/site-packages/Cheetah/Template.py", line , in _compile
keepRefToGeneratedCode=True)
File "/usr/lib/python2.7/site-packages/cobbler/template_api.py", line , in compile
return Cheetah.Template.Template.compile(*args, **kwargs)
File "/usr/lib64/python2.7/site-packages/Cheetah/Template.py", line , in compile
settings=(compilerSettings or {}))
File "/usr/lib64/python2.7/site-packages/Cheetah/Compiler.py", line , in __init__
source = unicode(source) !!! TASK FAILED !!!
修改对应字符集:
cat >> /usr/lib/python2./site-packages/sitecustomize.py <<EOF
# encoding=utf8
import sys
reload(sys)
sys.setdefaultencoding('utf8')
EOF
Cobbler 自动安装CentOS7的更多相关文章
- cobbler自动安装系统(Centos7.X)
环境: [root@kickstart ~]# cat /etc/redhat-release CentOS Linux release (Core) [root@kickstart ~]# unam ...
- cobbler自动安装系统
一.简介 Cobbler是一个快速网络安装linux的服务,而且在经过调整也可以支持网络安装windows.该工具使用python开发,小巧轻便(才15k行python代码),使用简单的命令即可完成P ...
- cobbler自动安装操作系统
cobbler介绍 快速网络安装linux操作系统的服务,支持众多的Linux发行版: Red Hat, Fedora,CentOS,Debian,Ubuntu和SuSE 也可以支持网络安装windo ...
- cobbler自动安装
基础环境:centos7.2 本地IP地址:192.168.56.12 网络环境:桥接模式 一.安装cobbler # rpm -ivh http://mirrors.aliyun.com/epel/ ...
- cobbler自动安装linux
1- cobbler简介 cobbler是一个系统启动服务boot server,可以通过pxe得方式用来快速安装.重装系统,支持安装不同linux发行版和windows. 基于python开 ...
- cobbler自动安装脚本
#!/bin/sh #coding=utf8 ################################################################## #将如下IP修改成你 ...
- Cobbler自动安装的Linux系统ssh无法进入
Linux ssh登陆老提示“permission denied,please try again” ,但是iptables已经关掉了 修改/etc/ssh/sshd_config文件.找如下的一句 ...
- centos7系统部署cobbler批量安装系统
系统环境: 一.开启两个网卡.一个仅主机模式,一个桥接模式,主机模式对内提供cobbler服务 [root@localhost ~]# ip a 1: lo: <LOOPBACK,UP,LOWE ...
- cobbler无人值守自动安装
无人值守安装(自动按定制的需求来批量安装linux系统) kickstart cobbler linux安装系统的方法: 1,光盘 把iso镜像刻录(windows下有类似nero这类软件)到光盘 ...
随机推荐
- gmap 获取瓦片数
在 gmap1.7版本中 gMapControl1.MapProvider.Projection.GetAreaTileCount(area, i, 0); 可用来获取到erea里i层的瓦片数量. 但 ...
- POJ 1986:Distance Queries(倍增求LCA)
http://poj.org/problem?id=1986 题意:给出一棵n个点m条边的树,还有q个询问,求树上两点的距离. 思路:这次学了一下倍增算法求LCA.模板. dp[i][j]代表第i个点 ...
- Codeforces 758D:Ability To Convert(思维+模拟)
http://codeforces.com/problemset/problem/758/D 题意:给出一个进制数n,还有一个数k表示在n进制下的值,求将这个数转为十进制最小可以是多少. 思路:模拟着 ...
- 两个域名同时访问一个tomcat下的两个项目
两个域名,分别映射一个TOMCAT底下,两个应用. 分三个步骤完成. 1.域名与IP的解析,此步骤在万网等机构完成. 2.APACHE的httpd.conf的配置 <VirtualHost *: ...
- maven多仓库配置(公司服务器与阿里云仓库)
1. 问题描述 公司内网搭建的有maven私有服务器,但是碰到好几次只有gav没有jar的情况或者最新版本更新不及时,所以需要公司服务器和远程仓库(阿里云)相结合来满足项目需求. 2. 解决方案: m ...
- idea中的beautiful插件-自动生成对象set方法
1. 描述 从前端获取VO对象后,好多时候又要生成数据库对象,需要进行赋值,一个个写很浪费时间,介绍一款idea中的beautiful插件,代码开发过程中自动生成对象的set方法,很好用. 2 .插件 ...
- 完全平方数(C语言实现)
一.题目 一个整数,它加上100后是一个完全平方数请问该数是多少? 二.程序分析 1.题目中没有限定这个整数的范围,因此,可以在代码中#define scope 10000,即使用scope变量定义一 ...
- 第一章 Servlet
JavaEEe技术包括Servlet/Jsp.Java Message Service(JMS).Enterprise JavaBeans(EJB).JavaServer Faces(JSF),以及J ...
- 和朱晔一起复习Java并发(三):锁(含锁性能测试)
这个专题我发现怎么慢慢演化为性能测试了,遇到任何东西我就忍不住去测一把.本文我们会大概看一下各种锁数据结构的简单用法,顺便也会来比拼一下性能. 各种并发锁 首先,我们定一个抽象基类,用于各种锁测试的一 ...
- Python学习2——Python单行注释、整段注释使用方法
Python中的注释有多种,有单行注释,多行注释,批量注释,中文注释也是常用的. python注释也有自己的规范,在文章中会介绍到. 注释可以起到一个备注的作用,团队合作的时候,个人编写的代码经常会被 ...