cobbler实践指南
cobbler简介
cobbler介绍
Cobbler是一个Linux服务器安装的服务,可以通过网络启动(PXE)的方式来快速安装、重装物理服务器和虚拟机,同时还可以管理DHCP,DNS等。
Cobbler可以使用命令行方式管理,也提供了基于Web的界面管理工具(cobbler-web),还提供了API接口,可以方便二次开发使用。
Cobbler是较早前的kickstart的升级版,优点是比较容易配置,还自带web界面比较易于管理。
Cobbler内置了一个轻量级配置管理系统,但它也支持和其它配置管理系统集成,如Puppet,暂时不支持SaltStack。
cobbler集成的服务
- PXE服务支持
- DHCP服务管理
- DNS服务管理(可选bind,dnsmasq)
- 电源管理
- Kickstart服务支持
- YUM仓库管理
- TFTP(PXE启动时需要)
- Apache(提供kickstart的安装源,并提供定制化的kickstart配置)
cobbler部署
cobbler服务器基本设置:CentOS7最小化安装,关闭防火墙,selinux设置为disabled,虚拟机网卡这里为桥接模式
安装EPEL源
rpm -ivh http://mirrors.kernel.org/fedora-epel/7/x86_64/e/epel-release-7-10.noarch.rpm
yum repolist
yum安装cobbler
yum install -y httpd dhcp tftp cobbler cobbler-web pykickstart
用命令(rpm -ql cobbler)查看安装的文件,下面列出部分。
配置文件目录 /etc/cobbler
/etc/cobbler # 配置文件目录
/etc/cobbler/settings # cobbler主配置文件,这个文件是YAML格式,Cobbler是python写的程序。
/etc/cobbler/dhcp.template # DHCP服务的配置模板
/etc/cobbler/tftpd.template # tftp服务的配置模板
/etc/cobbler/rsync.template # rsync服务的配置模板
/etc/cobbler/iso # iso模板配置文件目录
/etc/cobbler/pxe # pxe模板文件目录/etc/cobbler/power # 电源的配置文件目录
/etc/cobbler/users.conf # Web服务授权配置文件
/etc/cobbler/users.digest # 用于web访问的用户名密码配置文件
/etc/cobbler/dnsmasq.template # DNS服务的配置模板
/etc/cobbler/modules.conf # Cobbler模块配置文件
数据目录
/var/lib/cobbler # Cobbler数据目录
/var/lib/cobbler/config # 用于存放distros,system,profiles等信息配置文件
/var/lib/cobbler/kickstarts # 默认存放kickstart文件
/var/lib/cobbler/loaders # 存放的各种引导程序
镜像目录
/var/www/cobbler # 系统安装镜像目录
/var/www/cobbler/ks_mirror # 导入的发行版系统的所有数据
/var/www/cobbler/images # 导入发行版的kernel和initrd镜像用于远程网络启动
/var/www/cobbler/repo_mirror # yum源存储目录
日志目录
/var/log/cobbler # 日志目录
/var/log/cobbler/install.log # 客户端系统安装日志
/var/log/cobbler/cobbler.log # cobbler日志
启动并检测cobbler
systemctl start httpd
systemctl enable httpd
systemctl start cobblerd
systemctl enable cobblerd
cobbler check
附加解析:
cobbler check 核对当前设置是否有问题
cobbler list 列出所有的cobbler元素
cobbler report 列出元素的详细信息
cobbler sync 同步配置到数据目录,更改配置最好都要执行下
cobbler reposync 同步yum仓库
cobbler distro 查看导入的发行版系统信息
cobbler system 查看添加的系统信息
cobbler profile 查看配置信息
修改cobbler主配置文件
vim /etc/cobbler/settings
保证xinetd服务为开机自动启动状态
vim /etc/xinetd.d/tftp
启动rsyncd服务
systemctl start rsyncd
cobbler get-loaders
生成cobbler安装系统root初始密码
openssl passwd -1 -salt 'cobler' 'cobler'
$1$cobler$XJnisBweZJlhL651HxAM00
将上面的加密串加入cobbler配置文件中
vim /etc/cobbler/settings
重启cobblerd服务
systemctl restart cobblerd
cobbler check
让cobblerd管理dhcp
vim /etc/cobbler/settings
修改dhcp模板文件
vim /etc/cobbler/dhcp.template
重启cobblerd
systemctl restart cobblerd
同步:
cobbler sync
导入镜像
mount /dev/cdrom /mnt
cobbler import --path=/mnt/ --name=CentOS-7-x86_64 --arch=x86_64
导入centos6的步骤在这里略去!
CentOS-6-x86_64.cfg配置文件:
# Kickstart file automatically generated by anaconda.
#version=DEVEL
install #表示是安装,而不是升级
text #文本方式安装
cdrom #安装方式,如果是网络安装的话可以写成 url ––url ftp://192.168.1.254/dir 或者 nfs --server=192.168.0.241 --dir=/centosinstall
key –skip #这个是我另外添加的,如果是RedHat的系统,会要求输入key,这里配置为跳过,如果不配置安装时会停在那里要求用户输入key
lang en_US.UTF-8 #语言
keyboard us #键盘样式
network --onboot no --device eth0 --noipv4 --noipv6 #网络配置 配置具体参数样例:network –onboot yes --bootproto=static --ip=192.168.1.1 --netmask=255.255.255.0 其他网关,DNS等格式和ifcfg-ethx的方式一样
rootpw --iscrypted $6$PEJ49S7OkrNra3UM #管理员密码,是加密过的 要是使用不加密的方式则这样写:rootpw 123456
firewall --service=ssh #开启防火墙,并打开ssh端口
authconfig --enableshadow --passalgo=sha512 #用户认证和密码加密方式
selinux --enforcing #强制打开selinux
timezone --utc Etc/GMT+8 #时区设置
zerombr yes #清空磁盘的mbr
bootloader --location=mbr --driveorder=sda #引导程序相关参数
# The following is the partition information you requested
# Note that any partitions you deleted are not expressed
# here so unless you clear all partitions first, this is
# not guaranteed to work
clearpart –all –initlabel #初始化磁盘
part / --fstype=ext4 --size=18000 #开始分区
part swap --grow --size=1024
repo --name="CentOS" --baseurl=cdrom:sr0 --cost=100
reboot
%packages --nobase #安装的软件包,这里由于我安装的是最小mini版,所以只安装了核心软件包组
@core
%post #后安装脚本(这里是我另外添加的,原来文件中没有)
id lustlost &>; /dev/null || useradd lustlost #检查是否有lustlost用户,如果没有则添加
echo 123456 | passwd –stdin lustlost #配置密码
cat >> /etc/yum.repos.d/base.repo << eof
[base]
name=baseserver
baseurl=http://192.168.1.254/yum
gpgcheck=0
enable=1
eof #这里在安装系统成功后执行脚本自动配置一个yum源,其他脚本可以按照需要定义
%end
CentOS-7-x86_64.cfg配置文件:
# Cobbler for Kickstart Configurator for CentOS 7 by clsn
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 1024
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
%end
%post
systemctl disable postfix.service
$yum_config_stanza
%end
上传配置文件到/var/lib/cobbler/kickstarts目录下
修改自定义配置文件:
cobbler profile edit --name=CentOS-7-x86_64 --kickstart=/var/lib/cobbler/kickstarts/CentOS-7-x86_64.cfg
cobbler profile edit --name=CentOS-6-x86_64 --kickstart=/var/lib/cobbler/kickstarts/CentOS-6-x86_64.cfg
定义自动化安装时centos7的网卡信息文件(自动生成eth1,eth2)
cobbler profile edit --name=CentOS-7-x86_64 --kopts='net.ifnames=O biosdevname=O'
cobbler sync #使修改的配置文件生效
然后随便添加一台虚拟机,开机!
cobbler服务器端查看日志
(14)安装xinetd
yum -y install xinetd
systemctl start xinetd
安装好后就会可以选择安装centos版本,选择对应版本后就会自动执行安装程序!
自动重装和cobbler-web
安装koan
yum -y install koan
查看可以重装的系统:
koan --server=192.168.0.100 --list=profiles
指定要重装成centos6
koan --replace-self --server=192.168.0.100 --profile=CentOS-6-x86_64
通过web访问cobbler
在浏览器输入:https://192.168.0.100/cobbler_web,用户名和密码都是默认的cobbler
cobbler修改密码
htdigest /etc/cobbler/users.digest "Cobbler" cobbler
所有操作都可在web界面进行
修改提示信息的选单
vim /etc/cobbler/pxe/pxedefault.template
修改前:
修改后:
然后执行命令:cobbler sync
新建一台虚拟机查看效果:
cobbler自定义yum源
添加repo
cobbler repo add --name=openstack-ocata --mirror=http://192.168.0.5:8080/openstack-ocata/ --arch=x86_64 --breed=yum
注:http://192.168.0.5:8080/openstack-ocata/为我本地搭建的本地yum源
同步repo
cobbler reposync
添加repo到对应的repolist
cobbler profile edit --name=CentOS-7-x86_64 --repos="openstack-ocata"
修改kicstart文件
%post
systemctl disable postfix.service
$yum_config_stanza
%end
添加定时任务,定期同步repo
echo "1 3 * * * /usr/bin/cobbler reposync --tries=3 --no-fail" >> /var/spool/cron/root
cobbler自定义系统安装
自动化装机平台基本信息
mac地址:00:50:56:3E:3D:06
主机名:cobbler-test03
IP:192.168.0.111
掩码:255.255.255.0
网关:192.168.0.1
DNS:192.168.0.1
执行安装的命令
cobbler system add --name=cobbler-test03 --mac=00:50:56:3E:3D:06 --profile=CentOS-7-x86_64 \
--ip-address=192.168.0.111 --subnet=255.255.255.0 --gateway=192.168.0.1 --intterface=eth0 \
--static=1 --hostname=cobbler-test03 --name-servers="192.168.0.1" \
--kickstart=/var/lib/cobbler/kickstarts/CentOS-7-x86_64.cfg
同步:cobbler sync
启动虚拟机跳过选择界面自动安装:
作者:废权
链接:https://blog.yjscloud.com/archives/55
声明:如无特别声明本文即为原创文章仅代表个人观点,版权归《废权的博客》所有,欢迎转载,转载请保留原文链接。


共有 0 条评论