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安装的必要组件
[root@localhost ~]# yum install epel-release -y ##安装epel源
[root@localhost ~]# yum install -y \
> cobbler \ ##安装cobbler\
> cobbler-web \ ##网页形式管理
> dhcp \ ##地址分配服务
> tftp-server \ ##放压缩和引导文件
> pykickstart \ ##Python开发的kickstart
> httpd \ ##网络服务
> rsync \ ##远程同步管理
> xinetd ##管理平台
四、修改cobbler的配置文件
[root@localhost ~]# cd /etc/cobbler/
[root@localhost cobbler]# vim settings ##修改配置文件
next_server: 192.168.13.140 ##修改服务地址为本地
server: 192.168.13.140
manage_dhcp: 1 ##dhcp开启
[root@localhost cobbler]# systemctl start httpd.service ##开启http服务
[root@localhost cobbler]# systemctl start cobblerd.service ##开启cobbler服务
[root@localhost cobbler]# systemctl stop firewalld.service ##关闭防火墙
[root@localhost cobbler]# setenforce 0 ##关闭增强功能
五、优化cobbler
[root@localhost cobbler]# cobbler check ##cobbler检测需要优化项
##下面会列出需要优化的东西,根据优化项进项优化即可
[root@localhost cobbler]# vim /etc/xinetd.d/tftp ##进行tftp优化
service tftp
{
socket_type = dgram
protocol = udp
wait = yes
user = root
server = /usr/sbin/in.tftpd
server_args = -s /var/lib/tftpboot
disable = no ##此处yes改为no
per_source = 11
cps = 100 2
flags = IPv4
}
[root@localhost cobbler]# systemctl enable rsyncd.service ##优化开启远程同步管理服务
[root@localhost cobbler]# openssl passwd -1 -salt 'abc123' 'abc123' ##优化设置管理员密码
$1$abc123$9v8z2./E/PZihXrVcy3II0 ##复制此段是盐值加密过后的密文
[root@localhost cobbler]# vim /etc/cobbler/settings ##修改配置文件
##查找default然后将加密的密文复制到此处
default_password_crypted: "$1$abc123$9v8z2./E/PZihXrVcy3II0"
[root@localhost cobbler]# systemctl start rsyncd.service ##启动服务
[root@localhost cobbler]# systemctl restart xinetd.service
六、配置DHCP服务
[root@localhost cobbler]# vim /etc/cobbler/dhcp.template ##修改配置文件
subnet 192.168.13.0 netmask 255.255.255.0 { ##修改网段
option routers 192.168.13.1; ##网关
option domain-name-servers 192.168.13.2; ##dns地址
option subnet-mask 255.255.255.0;
range dynamic-bootp 192.168.13.100 192.168.13.200; ##地址池
[root@localhost cobbler]# cobbler sync ##同步生成DHCP配置文件(/etc/dhcp/dhcpd.conf)
[root@localhost cobbler]# systemctl restart dhcpd.service ##启动dhcp服务
[root@localhost cobbler]# systemctl start cobblerd.service ##启动cobbler服务
[root@localhost cobbler]# systemctl start xinetd.service ##启动管理平台服务
七、导入ISO镜像:先连接镜像文件,后挂载到mnt目录下。
[root@localhost cobbler]# mount /dev/cdrom /mnt ##将镜像挂载到/mnt目录下
mount: /dev/sr0 写保护,将以只读方式挂载
[root@localhost cobbler]# cd /mnt/
[root@localhost mnt]# ls ##查看镜像文件
CentOS_BuildTag GPL LiveOS RPM-GPG-KEY-CentOS-7
EFI images Packages RPM-GPG-KEY-CentOS-Testing-7
EULA isolinux repodata TRANS.TBL
导入镜像文件
[root@localhost mnt]# cobbler import --path=/mnt/ --name=Centos-7-x86_64 --arch=x86_64
##导入镜像文件指明路径,生成名字
[root@localhost mnt]# cd /var/www/cobbler/ks_mirror/ ##切换到cobbler目录下
[root@localhost ks_mirror]# ls
Centos-7-x86_64 config
[root@localhost ks_mirror]# cobbler list ##查看文件信息
distros:
Centos-7-x86_64
profiles:
Centos-7-x86_64
systems:
repos:
images:
mgmtclasses:
packages:
files:
查看压缩内核和引导文件
[root@localhost ks_mirror]# yum install tree -y ##安装tree工具
[root@localhost ks_mirror]# tree /var/lib/tftpboot/images ##查看压缩内核和引导文件
/var/lib/tftpboot/images
└── Centos-7-x86_64
├── initrd.img ##引导文件
└── vmlinuz ##压缩内核
重启服务
[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
八、接下来创建一台没有系统(创建虚拟机时选择稍后自己安装系统)的虚拟机,开启自动安装系统(字符界面,图形化安装在后面)
填入管理员root和密码
安装图形化界面
[root@localhost ~]#yum groupinstall "GNOME Desktop"
[root@localhost ~]# yum groupinstall 'KDE Plasma Workspaces" -y
[root@localhost ~]# yum groupinstall "X Window System" 或者"Graphical Administration Tools"
第一种管理方法:利用cobbler的web来进行管理
[root@localhost ks_mirror]# vim /etc/cobbler/modules.conf ##配置模块配置文件
module = authn_configfile ##默认开启
[root@localhost ks_mirror]# htdigest -c /etc/cobbler/users.digest Cobbler adadmin ##创建用户密码
Adding password for adadmin in realm Cobbler.
New password: ##输入密码
Re-type new password:
[root@localhost ks_mirror]# systemctl restart cobblerd.service ##重启cobbler服务
[root@localhost ks_mirror]# systemctl restart httpd.service ##重启httpd服务
九、网页访问cobbler的web管理(宿主机来访问:https形式)
第二种管理方法:启用pam认证,身份登录
[root@localhost ks_mirror]# vim /etc/cobbler/modules.conf ##修改模块配置文件
[authentication]
module = authn_pam ##修改成pam认证模块
[authorization]
module = authz_ownership ##指定访问权限
[root@localhost ks_mirror]# useradd webuser ##创建系统用户
[root@localhost ks_mirror]# passwd webuser ##设置密码
更改用户 webuser 的密码 。
新的 密码:
无效的密码: 密码少于 8 个字符
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新。
[root@localhost ks_mirror]# vim /etc/cobbler/users.conf ##修改cobbler下的users.conf文件
[admins]
admin = ""
cobbler = ""
webuser = "" ##添加用户
[root@localhost ks_mirror]# systemctl restart httpd.service ##重启服务
[root@localhost ks_mirror]# systemctl restart cobblerd.service