Cobbler
介绍
1、Cobbler 可以用来快速建立 Linux 网络安装环境,它已将 Linux 网络安装的技术门槛,从大专以上文化水平,成功降低到初中以下,连补鞋匠都能学会。
2、Cobbler是较早前的kickstart的升级版,优点是比较容易配置,还自带web界面比较易于管理。
3、Cobbler是一个Linux服务器安装的服务,可以通过网络启动(PXE)的方式来快速安装、重装物理服务器和虚拟机,同时还可以管理DHCP,DNS等。
Cobbler集成的服务
1、PXE服务支持
2、DHCP服务管理
3、DNS服务管理(可选bind,dnsmasq)
4、电源管理
5、Kickstart服务支持
6、YUM仓库管理
7、TFTP(PXE启动时需要)
8、Apache(提供kickstart的安装源,并提供定制化的kickstart配置)
cobbler安装的必要组件
yum install epel-release -y ##安装epel源
yum install -y \
cobbler \ ##安装cobbler\
cobbler-web \ ##网页形式管理
dhcp \ ##地址分配服务
tftp-server \ ##放压缩和引导文件
pykickstart \ ##Python开发的kickstart
httpd \ ##网络服务
rsync \ ##远程同步管理
xinetd ##管理平台
安装组件
安装前应注意把虚拟机把虚拟机内存和处理器调一下
yum -y install cobbler cobbler-web tftp-server pykickstart httpd dhcp xinetd debmirror
安装软件释义
cobbler cobbler程序包
cobbler-web cobbler的web服务包
pykickstart cobbler检查kickstart语法错误
httpd Apache web服务
dhcp Dhcp 服务
tftp tftp 服务
xinetd 诸多服务的超级守护进程
启动cobbler以及httpd并加入开机启动
systemctl start httpd cobblerd
systemctl enable httpd cobblerd
配置cobbler
cobbler check #类似一个使用手册,告诉我们需要完成下面条件
看到上面的问题之后,一个一个的进行解决,先进行设置为可以动态配置,也可以直接更改配置文件
sed -ri ‘/allow_dynamic_settings:/c\allow_dynamic_settings: 1’ /etc/cobbler/settings
grep allow_dynamic_settings /etc/cobbler/settings
systemctl restart cobblerd
1.配置server地址
[root@ cobbler ~]# sed -i "s#server: 127.0.0.1#server: 10.0.0.43#" /etc/cobbler/settings #写自己的机子ip
2.配置next——server地址
[root@ cobbler ~]# sed -i "s#next_server: 127.0.0.1#next_server: 10.0.0.43#" /etc/cobbler/settings #自己机子ip
3.配置xinetd管理ftp
[root@ cobbler ~]# sed -ri '/disable/c\disable = no' /etc/xinetd.d/tftp
[root@ cobbler ~]# systemctl enable xinetd
[root@ cobbler ~]# systemctl restart xinetd
4.boot-loader
[root@ cobbler ~]# cobbler get-loaders #他会自己下载不需要管
5.启动rsync
[root@ cobbler ~]# systemctl start rsyncd
[root@ cobbler ~]# systemctl enable rsyncd
6&7.debian support
[root@ cobbler ~]# sed -i 's#@dists="sid";#\#@dists="sid";#gp' /etc/debmirror.conf
[root@ cobbler ~]# sed -i 's#@arches="i386";#\#@arches="i386";#g' /etc/debmirror.conf
8.default_password_crypted
这里设置的密码是cobbler安装系统后,默认root用户初始化登入密码,用openssl生成一串密码加入到cobbler的配置文件中
[root@ cobbler ~]# openssl passwd -1 -salt `openssl rand -hex 4` '123456'
$1$c10c2f03$zxwtKNbpNumjo/66WKmYy.
[root@ cobbler ~]# cobbler setting edit --name=default_password_crypted --value='$1$c10c2f03$zxwtKNbpNumjo/66WKmYy.'
9.安装fencing tools
yum -y install fence-agents
解决完后再次进行检查
systemctl restart cobblerd #一定要记住修改配置文件了一定要重启服务否则不生效
cobbler sync #同步一下
cobbler check
这次你会发现都解决完了
[root@ cobbler ~]# cobbler check
No configuration problems found. All systems go.
修改cobbler 的dhcp模板参数
vim /etc/cobbler/dhcp.template
cobbler设置编辑–名称=管理dhcp–值=1
cobbler setting edit --name=manage_dhcp --value=1
cobbler sync 同步一下
#cobbler命令帮助
cobbler check 核对当前设置是否有问题
cobbler list 列出所有的cobbler元素
cobbler report 列出元素的详细信息
cobbler sync 同步配置到数据目录,更改配置最好都执行下
cobbler reposync 同步yum仓库
cobbler distro 查看导入的发行版系统信息
cobbler system 查看添加的系统信息
cobbler profile 查看配置信息
现在新建一台虚拟机不添加镜像
然后开机你会看到这个界面
这样说明您配置成功了,现在我们来配置安装
配置centos6镜像文件
使用rz命令导入centos6的镜像文件
创建镜像目录
mkdir /centos6.10
将镜像文件挂载到mkdir /centos6.10
mount -o loop CentOS-6.10-x86_64-bin-DVD1.iso /centos6.10
查看挂载后的目录
ls /centos6.10/
导入镜像
[root@ cobbler ~]# cobbler import --path=/centos6.10 --name=centos6.10 --arch=x86_64
task started: 2020-05-08_102802_import
task started (id=Media import, time=Fri May 8 10:28:02 2020)
Found a candidate signature: breed=redhat, version=rhel6
Found a matching signature: breed=redhat, version=rhel6
Adding distros from path /var/www/cobbler/ks_mirror/centos6.10-x86_64:
creating new distro: centos6.10-x86_64
trying symlink: /var/www/cobbler/ks_mirror/centos6.10-x86_64 -> /var/www/cobbler/links/centos6.10-x86_64
creating new profile: centos6.10-x86_64
associating repos
checking for rsync repo(s)
checking for rhn repo(s)
checking for yum repo(s)
starting descent into /var/www/cobbler/ks_mirror/centos6.10-x86_64 for centos6.10-x86_64
processing repo at : /var/www/cobbler/ks_mirror/centos6.10-x86_64
need to process repo/comps: /var/www/cobbler/ks_mirror/centos6.10-x86_64
looking for /var/www/cobbler/ks_mirror/centos6.10-x86_64/repodata/*comps*.xml
Keeping repodata as-is :/var/www/cobbler/ks_mirror/centos6.10-x86_64/repodata
*** TASK COMPLETE ***
查看导入镜像
[root@ cobbler ~]# cobbler distro report --name=centos6.10-x86_64
Name : centos6.10-x86_64
Architecture : x86_64
TFTP Boot Files : {}
Breed : redhat
Comment :
Fetchable Files : {}
Initrd : /var/www/cobbler/ks_mirror/centos6.10-x86_64/images/pxeboot/initrd.img
Kernel : /var/www/cobbler/ks_mirror/centos6.10-x86_64/images/pxeboot/vmlinuz
Kernel Options : {}
Kernel Options (Post Install) : {}
Kickstart Metadata : {'tree': 'http://@@http_server@@/cblr/links/centos6.10-x86_64'}
Management Classes : []
OS Version : rhel6
Owners : ['admin']
Red Hat Management Key : <<inherit>>
Red Hat Management Server : <<inherit>>
Template Files : {}
提前准备好自己的centos6.10,ks文档上传到 /var/lib/cobbler/kickstarts/这个目录
cd /var/lib/cobbler/kickstarts/
rz
动态编辑指定使用新的kickstart文件
[root@ cobbler kickstarts]# cobbler profile edit --name=centos6.10-x86_64 --kickstart=/var/lib/cobbler/kickstarts/centos6.10.ks
验证是否成功
[root@ cobbler kickstarts]# cobbler profile report --name=centos6.10-x86_64 | grep Kickstart
Kickstart : /var/lib/cobbler/kickstarts/centos6.10.ks
Kickstart Metadata : {}
同步cobbler设置
[root@ cobbler kickstarts]# cobbler sync
task started: 2020-05-08_105205_sync
task started (id=Sync, time=Fri May 8 10:52:05 2020)
running pre-sync triggers
cleaning trees
removing: /var/www/cobbler/images/centos6.10-x86_64
removing: /var/lib/tftpboot/pxelinux.cfg/default
removing: /var/lib/tftpboot/grub/images
removing: /var/lib/tftpboot/grub/grub-x86.efi
removing: /var/lib/tftpboot/grub/efidefault
removing: /var/lib/tftpboot/images/centos6.10-x86_64
removing: /var/lib/tftpboot/s390x/profile_list
copying bootloaders
trying hardlink /var/lib/cobbler/loaders/pxelinux.0 -> /var/lib/tftpboot/pxelinux.0
copying: /var/lib/cobbler/loaders/pxelinux.0 -> /var/lib/tftpboot/pxelinux.0
trying hardlink /var/lib/cobbler/loaders/menu.c32 -> /var/lib/tftpboot/menu.c32
copying: /var/lib/cobbler/loaders/menu.c32 -> /var/lib/tftpboot/menu.c32
trying hardlink /var/lib/cobbler/loaders/grub-x86.efi -> /var/lib/tftpboot/grub/grub-x86.efi
copying distros to tftpboot
copying files for distro: centos6.10-x86_64
trying hardlink /var/www/cobbler/ks_mirror/centos6.10-x86_64/images/pxeboot/vmlinuz -> /var/lib/tftpboot/images/centos6.10-x86_64/vmlinuz
trying hardlink /var/www/cobbler/ks_mirror/centos6.10-x86_64/images/pxeboot/initrd.img -> /var/lib/tftpboot/images/centos6.10-x86_64/initrd.img
copying images
generating PXE configuration files
generating PXE menu structure
copying files for distro: centos6.10-x86_64
trying hardlink /var/www/cobbler/ks_mirror/centos6.10-x86_64/images/pxeboot/vmlinuz -> /var/www/cobbler/images/centos6.10-x86_64/vmlinuz
trying hardlink /var/www/cobbler/ks_mirror/centos6.10-x86_64/images/pxeboot/initrd.img -> /var/www/cobbler/images/centos6.10-x86_64/initrd.img
Writing template files for centos6.10-x86_64
rendering DHCP files
generating /etc/dhcp/dhcpd.conf
rendering TFTPD files
generating /etc/xinetd.d/tftp
processing boot_files for distro: centos6.10-x86_64
cleaning link caches
running post-sync triggers
running python triggers from /var/lib/cobbler/triggers/sync/post/*
running python trigger cobbler.modules.sync_post_restart_services
running: dhcpd -t -q
received on stdout:
received on stderr:
running: service dhcpd restart
received on stdout:
received on stderr: Redirecting to /bin/systemctl restart dhcpd.service
running shell triggers from /var/lib/cobbler/triggers/sync/post/*
running python triggers from /var/lib/cobbler/triggers/change/*
running python trigger cobbler.modules.manage_genders
running python trigger cobbler.modules.scm_track
running shell triggers from /var/lib/cobbler/triggers/change/*
*** TASK COMPLETE ***
然后再打开刚才新建的那台虚拟机
如有疑问留言回复