标签:cobbler自动化
Cobbler自动化
防伪码:凡事欲其成功,必要付出代价:奋斗。
前言:随着互联网时代的发展,IT迎来了自动化。什么自动化?自动化的流程是什么?为什么IT行业会使用自动化?让我们带着问题来学习今天的Cobbler自动化。
理论知识:
1. PXE流程
PXE属于C/S结构。
PXE+Kickstart工作概述
Cobbler安装配置自动化批量装系统
理论知识:
Cobbler功能:
Cobbler使用python编写,yum也使用python编写的。
Cobbler部署:
系统环境:CentOS 7
注意:为了系统稳定,Centos 7.3系统不太稳定,建议使用稳定的系统版本。
安装epel源
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
安装cobbler安装包
yum -y install httpd dhcp tftp cobbler
启动httpd和cobbler服务(注意顺序)
检测cobbler
cobbler check
出现如下报错:关闭selinux,并重启系统。
按着检测出的问题解决问题:
vim /etc/cobbler/settings
384 server: 192.168.226.144 (384行修改server的ip地址为cobbler地址)
重启cobbler服务并检测cobbler
根据问题解决问题。
vim /etc/cobbler/settings
272 next_server: 192.168.226.141 (272行 修改next_server的ip地址为cobbler地址)
根据问题解决问题。
yum -y install xinetd
vim /etc/xinetd,d/tftp
14 disable = no (14行改为no)
根据问题解决问题。
安装cobbler get-loaders
根据问题解决问题。
安装pykickstart
yum -y install pykickstart
根据问题结局问题。
systemctl start rsyncd.service
systemctl enable rsyncd.service
systemctl restart xinetd
根据问题解决问题。
设置cobbler密码生成加密密码,并复制下面的加密密码。
$1$123123$MAV.kVI/b3swmFLErPD2b0 (此处我服务器上生成的cobbler加密密码)
修改/etc/cobbler/settings文件中的密码一行
vim /etc/cobbler/settings
101 default_password_crypted: "$1$123123$MAV.kVI/b3swmFLErPD2b0"
(101行 加密密码改为之前复制的加密密码)
此处就是如上复制的加密密码需要写入到/etc/cobbler/settings配置文件中
检测cobbler
cobbler check
根据实际需要,如果生产环境需要,则解决一下两个问题,如生产环境不需要,则不用添加。
设置dhcp(最好让cobbler管理dhcp),要想让cobbler管理dhcp需要修改配置文件
/etc/cobbler/settings下的dhcp这一项
242 manage_dhcp: 1 (修改242行,把0改为1,代表让cobbler来管理dhcp,如果是0,代表手动自己管理dhcp)
重启cobblerd服务
systemctl restart cobblerd
修改/etc/cobbler/dhcp.template配置文件。
vim /etc/cobbler/dhcp.template
根据生产环境的需要修改dhcp。
注意:如果让cobbler来管理dhcp,就不能用/etc/dhcp/dhcp.conf来管理dhcp,需要用/etc/cobbler/dhcp.template来管理dhcp。
执行cobbler sync
查看dhcp端口号:
如果以后要是更改dhcp服务就要执行cobbler sync 做到同步
下面我们来使用cobbler来装系统试一下!
首先需要那些必备品呢?
1. 镜像
2. Kickstart
下面来挂在已经传上去的镜像,(我的镜像传到了/opt下,到时候根据生产环境自己调整)。
挂载镜像:
mount -o loop /opt/CentOS-7-x86_64-DVD-1511.iso /mnt
导入镜像:
cobbler import --path=/mnt/ --name=CentOS-7-x86 --arch=x86_64
参数:--path 导入路径 --name 起一个名字 --arch 架构是32还是64
导入成功后,yum仓库就做好了,那么导入到什么位置了?
在/var/www/cobbler/ks_mirror/CentOS-7-x86-x86_64/下。
为什么会放在/var/www/cobbler/ks_mirror/CentOS-7-x86-x86_64/下,那么我们可以看一下apache的配置文件 /etc/httpd/conf.d/cobbler.conf
执行cobbler list
cobbler list
会有两个CentOS-7-x86_64,profiles这个是可以修改的
安装时需要,如在VM中模仿,则需要关闭vmware workstation的dhcp功能
在/var/lib/cobbler/kickstarts中有很多自动安装文件,
如果使用xshell工具可以使用rz命令导入文件,
导入CentOS-7的文件:
切记CentOS 7 和CentOS 6.5的模板文件不一样,不可混用。
查看cobbler profile report
cobbler profile report
查看名称:
cobbler profile list
更改kickstarts配置:
cobbler profile edit --name=CentOS-7-x86_64 --kickstart=/var/lib/cobbler/kickstarts/CentOS-7.1-x86_64_cobbler.cfg
查看kickstarts是否更改:
cobbler profile report
显示已经更改。
更改网卡名称,增加内核参数:
cobbler profile edit --name=CentOS-7-x86_64 --kopts=‘net.ifnames=0 biosdevname=0‘
(--kopts是Kernel Options的缩写)
查看到已更改完成。
执行cobbler sync同步一下
cobbler sync
以上操作完成,我们可以试一下自动化安装一个系统看一下
创建一个新的虚拟机只需要下一步就可以在这里我就不多说,
出现如上图片说明已经可以自动安装了
如何更改
这个界面中的Cobbler | http://cobbler.github.io/如何更改呢?
修改/etc/cobbler/pxe/pxedefault.template文件
然后执行cobbler sync
cobbler sync
更改后的如下图:
选择CentOS-7-x86_64自动安装即可。
Cobbler设置profile还可以web界面中,图形化设置profile。
需要安装cobbler-web安装包
yum -y install cobbler-web
注意:cobbler是python编写的,cobbler的web界面是django编写的(django是python的一个框架)。
安装完毕后需要重启apache。(为什么重启apache呢?下面来看一下/etc/httpd/conf.d/下会有一个cobbler_web.conf,所以需要重新启动apache服务)
重启apache服务:
systemctl restart httpd
注意:重启服务不会影响自动安装,安装过程中遇到重启会卡顿一下后,自动重试10次再次继续安装。
那么安装完cobbler web界面如何访问呢?
访问cobbler web界面
注意:选择高级,使用https访问
访问成功的cobbler web界面:
注意:cobbler用户密码使用http的基本认证就可以。
访问时注意防火墙规则。
在/etc/cobbler/users.conf和/etc/cobbler/users.digest下,一个为cobbler用户文件,一个为cobbler密码文件。由于密码是加密的,不知道密码,只能生成一个新的密码。
生成密码:
htdigest /etc/cobbler/users.digest "Cobbler" cobbler
注意:“”中为描述信息 后面为用户
设置密码完成登陆cobbler web界面:
设置profile,可以在这里设置。
编辑profile界面:
Cobbler web界面很强大 ,在这里就不一一解释了。
编辑的代码放在哪里?不知道 可以在apache配置文件中查看存放位置。
在/usr/share/cobbler/web/下
这是一个django的一个工程。
Url存放位置:/usr/share/cobbler/web/urls.py文件下,所有的url都存放在这个文件下。
在view.py文件中设置请求方法。
查看自动安装是否安装完毕:
已安装完毕。
Koan实现自动化安装系统
假如我需要重装这一台服务器,但是又不想去机房重装这台服务器,那么我该怎么安装呢?
下面介绍一下cobbler 提供的一个koan功能。
首先需要安装koan这个包(一般没有次包,需要安装epel源)
安装epel源:
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
yum -y install koan
Koan 是cobbler自带的一个自动化的软件包。可以通过koan选择需要安装的系统自动化安装。
查看重装的系统:
自动化重新安装系统:
koan --replace-self --server=192.168.226.128 --profile=CentOS-7-x86_64
注:--replace-self 重装那台服务器系统(写cobbler系统的ip)
--profile= 在cobbler上显示的系统
为什么会执行reboot就会重新装系统呢?
执行完koan --replace-self --server=192.168.226.128 --profile=CentOS-7-x86_64
命令后,会在/boot/grub2/grub.cfg下生成一个启动项。
执行reboot后,会显示如下图。
可以自动化安装了。
注意:自动化安装需要执行以上的三部就可以实现自动化安装。
可以使用cobbler distro help 查看命令帮助
使用cobbler distro report列出所有发行版
如何导入其他源呢?我们来试一下导入epel源 (注意物理环境要查看磁盘空间再考虑导入)在这里我就不导入了,占用磁盘太大。
导入epel源:
cobbler repo add --name=CentOS-7-x86_64-epel --mirror=https://mirrors.aliyum.com/el/7Server/x86_64/ --arch=x86_64 --breed=yum
执行cobbler reposync下载到本地并构建
cobbler reposync
尝试导入openstack源,下载到本地并构建
cobbler repo add --name=openstack-newton --mirror=https://mirrors.aliyun.com/cent/7.3.1611/cloud/x86_64/openstack-newton/ --arch=x86_64 --breed=yum
执行cobbler reposync
成功后,如何已自动安装就有openstack-newton呢?
两种方法:
一、使用cobbler web界面在profiles中添加。
二、使用命令:cobbler profile edit --name=xxx --repo=”xxx”
以上两种方法都可以使用。
如果要想每天同步可以使用crontab
#每天一点一分进行同步,检查机制,这样可以增量同步
1 1 * * * cobbler reposync --tries=3 --no-fail
Cobbler不仅仅只限先于自动化装机。
详细cobbler原理请参考:
Cobbler学习地址(手册)
http://www.ibm.com/developerworks/cn/linux/l-cobbler/index.html
官网地址:http://cobbler.github.io/manuals/2.8.0/
Cobbler还可以使用MAC地址对服务器使用定制化的自动安装
首先生成一个固定的MAC地址,然后执行如下操作:
cobbler system add --name=linux-node1 --mac=00:50:56:3C:E6:18 --profile=CentOS-7-x86_64 --ip-address=192.168.226.110 --subnet=255.255.255.0 --gateway=192.168.226.2 --interface=eth0 --static=1 --hostname=linux-node1.example.com --name-servers="192.168.226.2" --kickstart=/var/lib/cobbler/kickstarts/CentOS-7.1-x86_64_cobbler.cfg
就可以按着设置安装服务器系统
通过API方式自动化安装系统。
首先生成一个固定的MAC地址,然后执行如下操作:
用python编写两个小脚本。
1. cobbler_list.py
2. cobbler-api.py
存放在/var/lib/cobbler/kickstarts下。
执行cobbler system list
再执行python cobbler-api.py
True代表成功。
使用cobbler system list 发现会多一个要自动安装的系统:
下面字就可以自动化安装了。
cobbler支持电源管理。
希望大家能学会cobbler自动化,真希望能帮助大家!谢谢!
本文出自 “卢春宁” 博客,谢绝转载!
标签:cobbler自动化
原文地址:http://luchunning.blog.51cto.com/12092606/1899657