Cobbler自动化运维工具学习笔记

Cobbler自动化运维工具

python编写的linux安装服务,pxe启动快速安装,还可以管理DHCP,DNS等服务

命令行方式和web方式两种,提供API接口

DHCP、HTTP、TFTP、cobbler

操作系统的ISO镜像,主要分发的包就是package文件夹中的所有包

按照定义好的安装模板去分发和安装

TFTP主要用于分发内核文件、启动文件

cobbler主要定义去读取kickstart文件(安装模板、把所有需要定制地方东西写入这个文件里面)

1.修改kickstart文件:

目录:/var/lib/cobbler/kickstarts/

里面的.cfg 文件就是一些定义安装的操作系统模板

1.1 文件内容解读:

install:安装
text:非交互/文本安装模式
url --url="$tree" :$tree是cobbler服务自定义的一个参数、它会自动去获取cobbler主配置文件里定义的http获取路径,它这里会在运行的时候自动替换。另一种模式是:url --url=http://IPaddress:/文件路径(不会随着cobbler配置文件的更改而更改,推荐使用$tree变量来获取)
skipx:跳过图形化界面
lang en_US.UTF-8:设置语言
keyboard us:键盘选择模式
network --bootprto=dhcp --hostname=anynameisOK --onboot=on
#--bootprto=dhcp或者static 这里意义并不大,后面也可以根据配置文件替换,主机名也会替换
#--onboot:定义网卡是否开机自启
rootpw:root密码
firewall:--disabled
#防火墙开机选项
--disabled
--enabled
authconfig:--enableshadow --passalgo=sha=512
#开启密码验证
selinux:SElinux的设置选项
#enforcing
#disabled
#enabled
#建议使用enforcing或者disabled
timezone:选择时区
bootloader --location=mbr --driveorder=sda --append="crashkernel=auto rhgb quiet"
#--driveorder:指定安装操作系统到哪个盘符目录下
zerombr
cleaepart --all
#之前有文件内容等情况,先清楚,相当于格式化
reboot:重启  安装以后需要重启,此参数为必须
pv:物理卷
vg:卷组
lv:逻辑分区
%pre
...
%end
#安装前的预操作
%packages
...
%end
#安装时的操作指定
#例子:
%packages --ignoremissing#忽略检查指定包或者包组是否存在,如果不指定此参数,发现不可安装包时会直接报错
@base#@符号代表包组,单独的包直接写名字,base和core是默认都会安装,可以自己下来尝试一下
--nobase:指定不去安装某哪些包
@core
@network-tools
%end
%post
...
%end
#安装后的操作

相关目录:

/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                            # 配置文件
/var/lib/cobbler/kickstarts                       # 默认存放kickstart文件
/var/lib/cobbler/loaders                          # 存放的各种引导程序
/var/www/cobbler                                   # 系统安装镜像目录
/var/www/cobbler/ks_mirror                # 导入的系统镜像列表
/var/www/cobbler/images                   # 导入的系统镜像启动文件
/var/www/cobbler/repo_mirror           # yum源存储目录
/var/log/cobbler                                    # 日志目录
/var/log/cobbler/install.log                   # 客户端系统安装日志
/var/log/cobbler/cobbler.log                # cobbler日志

可以创建kickstart自动化部署脚本:

[root@cobbler-server ~]# cat > /var/lib/cobbler/kickstarts/CentOS-7-x86_64.ks <<'EOF'
auth --enableshadow --passalgo=sha512
bootloader --location=mbr
clearpart --all --initlabel
part /boot --asprimary --fstype="ext4" --size=500
part swap --fstype="swap" --size=4096
part / --fstype="ext4" --grow --size=1    //这里的grow指的是 / 需要多大的空间就会给多大,并不是只给1M 
text
firewall --disabled
firstboot --disable
keyboard us
lang en_US
url --url=http://192.168.169.10/cobbler/ks_mirror/CentOS-7-x86_64 
$yum_repo_stanza
$SNIPPET('network_config')
reboot
rootpw --iscrypted $6$CFgNGKVZdqde7.Nw$8U42BYN3sA7pLnfsX/GJtjjGZBC9gwyCWMQBTHsKVQP1aUH4rREUPcl3N9F7HPTwVyWHUflnEQ5N1jL89zRqC.
selinux --disabled
skipx
timezone Asia/Shanghai --isUtc --nontp
install
zerombr
%packages
@^minimal
@core
kexec-tools
%end
%addon com_redhat_kdump --enable --reserve-mb='auto'
%end
%anaconda
pwpolicy root --minlen=6 --minquality=1 --notstrict --nochanges --notempty
pwpolicy user --minlen=6 --minquality=1 --notstrict --nochanges --emptyok
pwpolicy luks --minlen=6 --minquality=1 --notstrict --nochanges --notempty
%end
EOF


大致工作流程:

配置本地yum源,安装epel

安装cobbler和相关软件

关闭防火墙和Selinux

把服务都打开并设置开机自启动

把配置文件里的ip改成本机的IP

生成密码,加入到配置文件

下载缺失的文件,检查cobbler是否能够正常工作

配置cobbler的DHCP服务,同步sync

导入镜像文件

创建自动化部署脚本 .ks文件

检查ks文件是否有问题

检查cobbler,同步cobbler

客户端pex启动,选择部署镜像

你可能感兴趣的:(linux,笔记)