cobbler 自动装机
Cobbler介绍
Cobbler是一个Linux服务器安装的服务,可以通过网络启动(PXE)的方式来快速安装、重装物理服务器和虚拟机,同时还可以管理DHCP,DNS等。
Cobbler可以使用命令行方式管理,也提供了基于Web的界面管理工具(cobbler-web),还提供了API接口,可以方便二次开发使用。
Cobbler是较早前的kickstart的升级版,优点是比较容易配置,还自带web界面比较易于管理。
Cobbler内置了一个轻量级配置管理系统,但它也支持和其它配置管理系统集成,如Puppet,暂时不支持SaltStack。
Cobbler集成的服务
(1)、PXE服务支持
(2)DHCP服务管理
(3)DNS服务管理(可选bind,dnsmasq)
(4)电源管理
(5)Kickstart服务支持
(6)YUM仓库管理
(7)TFTP(PXE启动时需要)
(8)Apache(提供kickstart的安装源,并提供定制化的kickstart配置)
cobbler环境的准备
1.1挂载安装镜像
[root@localhost cobbler]# mount /dev/sr0 /mnt/
mount: /dev/sr0 写保护,将以只读方式挂载
1.2、安装必要的软件
[root@localhost ~]# yum -y install epel-release //安装epel源
[root@localhost ~]# yum -y install cobbler //安装cobbler
[root@localhost ~]# yum -y install cobbler-web dhcp tftp-server pykickstart httpd rsync xinetd -y
1.3、配置cobbler基本文件
[root@localhost ~]# cd /etc/cobbler/
[root@localhost cobbler]# vim settings
修改next_server、server和dhcp功能
1.4、开启服务,并关闭防火墙和安全功能
[root@localhost cobbler]# systemctl start httpd
[root@localhost cobbler]# systemctl start cobblerd.service
[root@localhost cobbler]# systemctl stop firewalld.service
[root@localhost cobbler]# setenforce 0
1.5、配置tftp服务
[root@localhost cobbler]# vim /etc/xinetd.d/tftp
1.6、开启rsyncd,重启cobbler服务
[root@localhost cobbler]# systemctl enable rsyncd.service
Created symlink from /etc/systemd/system/multi-user.target.wants/rsyncd.service to /usr/lib/systemd/system/rsyncd.service.
[root@localhost cobbler]# systemctl restart cobblerd.service
1.7、生成密码
[root@localhost cobbler]# openssl passwd -1 -salt 'abc123' 'abc123'
$1$abc123$9v8z2./E/PZihXrVcy3II0 //加密结果
将加密结果复制到/etc/cobbler/settings中
[root@localhost cobbler]# vim /etc/cobbler/settings
启动服务
[root@localhost cobbler]# systemctl restart xinetd.service
1.8配置DHCP服务
[root@localhost cobbler]# vim /etc/cobbler/dhcp.template
1.9、同步dhcp配置
[root@localhost cobbler]# cobbler sync
2.0、下载引导文件和资源
[root@localhost cobbler]# cobbler get-loaders
启动程序
[root@localhost cobbler]# systemctl start dhcpd
[root@localhost cobbler]# systemctl start cobblerd.service
[root@localhost cobbler]# systemctl start xinetd.service
2.1导入镜像
[root@localhost cobbler]# cobbler import --path=/mnt/ --name=CentOS-7-x86_64 --arch=x86_64
[root@localhost cobbler]# cd /var/www/cobbler/ks_mirror/ //进入默认存放文件查看
[root@localhost ks_mirror]# ls
CentOS-7-x86_64 config
[root@localhost ks_mirror]# cobbler list //查看导入结果
2.2、安装tree工具,查看内核和初始化文件
[root@localhost ks_mirror]# yum install tree -y
[root@localhost ks_mirror]# tree /var/lib/tftpboot/images
/var/lib/tftpboot/images
└── CentOS-7-x86_64
├── initrd.img
└── vmlinuz
1 directory, 2 files
2.3开启所有服务
[root@localhost ks_mirror]# systemctl restart cobblerd.service
[root@localhost ks_mirror]# systemctl restart dhcpd.service
[root@localhost ks_mirror]# systemctl restart xinetd.service
[root@localhost ks_mirror]# systemctl restart httpd.service
在这里配置完成后就可以开一太虚拟主机,进行装机了
验证cobbler-web的两种方法
#######################cobbler-web##################
/etc/cobbler/modules.conf //auth_configfile 模块认证
htdigest -c /etc/cobbler/users.digest Cobbler cbaadmin
systemctl restart cobblerd.service
systemctl restart httpd.service
https://192.168.220.141/cobbler_web
第二种 pam认证
vim /etc/cobbler/modules.conf
module = authn_pam #修改PAM认证
module = authz_ownership #在USER.CONF指定访问权限
useradd webuser
passwd webuser
vi /etc/cobbler/users.conf
[admins]
admin = “”
cobbler = “”
webuser = “” //添加
systemctl restart cobblerd
systemctl restart httpd