Cobbler自动部署装机 手把手教学 包学包会
前言
- Cobbler是一个Linux服务器安装的服务,可以通过网络启动(PXE)的方式来快速安装、重装物理服务器和虚拟机,同时还可以管理DHCP,DNS等。
- Cobbler可以使用命令行方式管理,也提供了基于Web的界面管理工具(cobbler-web),还提供了API接口,可以方便二次开发使用。
- Cobbler是较早前的kickstart的升级版,优点是比较容易配置,还自带web界面比较易于管理。
- Cobbler内置了一个轻量级配置管理系统,但它也支持和其它配置管理系统集成,如Puppet,暂时不支持SaltStack
实验环境
- 一台Linux服务器(Centos7系统,IP:192.168.80.134)
- 一台空白虚拟机
- 需要连接上互联网,且虚拟机都使用NAT模式
搭建环境
注:在安装软件之前,我们需要安装yum在线源,(本地源有时候软件包会不足,但是在线源只要有网络就可以调用)
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo #这个是阿里云的在线源,如果需要其他的,可以自行网络找资源
安装完成之后可以自动加载一下在线更新源
yum list
1.安装软件包
#cobbler 用来快速建立Linux网络安装环境
#dhcp 用来为空白主机自动分配IP地址
#tftp-server 提供引导镜像文件的下载
#pykickstart 实现无人值守安装
#httpd 作为控制台程序运行
#rsync 实现数据同步
#xinetd 提供访问控制、加强的日志和资源管理功能
2.配置cobbler配置文件
vim /etc/cobbler/settings
next_server: 192.168.199.6 #指向tftp服务器的IP,即本机IP
server: 192.168.199.6 #指向cobbler服务器的IP,即本机IP
manage_dhcp: 1 #让cobbler管理dhcp服务
manage_rsync: 1 #让cobbler管理rsync服务
manage_tftp: 1 #让cobbler管理tftp服务
- 更改之后需要重启一下服务,并且关闭防火墙
systemctl start httpd.service #开启http服务
systemctl start cobblerd.service #开启cobbler服务
systemctl stop firewalld
setenforce 0
3.查看需要设置的地方
- 完成以上步骤之后,我们需要查看一下关于Cobbler自动部署还有什么需要设置的,这时候我们就需要用到以下命令。
cobbler check
然后我们就可以根据以上信息发现我们需要修改的东西
4.修改TFTP的配置文件
vim /etc/xinetd.d/tftp
disable = no
systemctl restart xinetd.service
systemctl start rsyncd.service
5.下载引导操作系统文件
cobbler get-loaders
6.设置Cobbler用户初始密码
- 使用盐值加密方式生成密钥
openssl passwd -1 -salt '123123' '123123'
- 将生成的密钥加入Cobbler配置文件中
7.配置dhcp服务
- 修改Cobbler管理dhcp服务的模板文件
vim /etc/cobbler/dhcp.template
subnet 192.168.199.0 netmask 255.255.255.0 {
option routers 192.168.199.1; #修改网关
option domain-name-servers 192.168.199.2; #修改DNS
option subnet-mask 255.255.255.0;
range dynamic-bootp 192.168.199.100 192.168.199.200; #修改地址池
- 将配置好的模板文件同步到DHCP服务的配置文件中
cobbler sync
- 重启DHCP服务
systemctl restart dhcpd.service
8.导入ISO镜像文件
- 挂载镜像文件
mount /dev/sr0 /mnt
9.导入iso镜像中的Linux 内核、初始化镜像文件
cobbler import --path=/mnt/--name=CentOS-7-x86_64 --arch=x86_64
#--path 表示镜像所挂载的目录
#--name 表示为安装源定义的名字
#--atch 表示指定安装源的系统位数
#默认导入存放路径为/var/www/cobbler/ks_mirror/CentOS-7-x86_64
10.查看内核和初始化文件是否在在tftp-server 共享目录中
yum install -y tree #系统默认没有安装,需手动安装tree
tree /var/lib/tftpboot/images #查看文件是否存在
11.做完所有之后重启一下所有服务
systemctl restart cobblerd.service
systemctl restart dhcpd.service
systemctl restart xinetd.service
systemctl restart httpd.service
12.然后再次使用cobbler check
自动部署
做完之后就可以找一台空白的机器来进行自动安装了