Cobbler无人值守批量安装Linux系统

1.2 cobbler基本介绍

1.3 安装和配置cobbler

1.3.1 安装cobbler

1.3.2 配置dhcp和tftp

1.4 cobbler从本地光盘安装系统

1.4.1 生成distro

1.4.2 提供kickstart文件

1.4.3 提供profile

1.4.4 开始安装

1.5 比pxe+kickstart好的地方

1.6 让新机器自动执行脚本

1.1 pxe安装系统

pxe的大致过程如下图。

Cobbler无人值守批量安装Linux系统

其中pxelinux.0为bootloader。pxelinux.cfg目录下的文件(一般使用默认的default文件)定义了安装操作系统前的菜单项,如kernel和Initrd的路径,kickstart的路径等。

首先客户端请求pxe服务器上的dhcp,dhcp上指定了next-server和filename,它们分别是tftpd的地址和pxelinux.0的路径;然后客户端请求tftpd获取pxelinux.0,执行pxelinux.0后将引导进入安装界面,随后获取pxelinux.cfg目录下的文件并读取其中的配置,从中获取kernel和initrd的路径所在,如果有定义kickstart项则还会去获取kickstart文件并读取配置;再然后客户端请求获取kernel和initrd文件,以展开内核并进入到根文件系统;最后客户端获取完成系统安装所需的其他文件,这些文件可以是在pxe的本地,也可以是互联网上等能获取到的地方。

在阅读本文之前,如果不懂pxe+kickstart,建议先学习下,对学习cobbler很有帮助。

PXE+Kickstart实现无人值守批量安装Linux 

RHEL7/CentOS7 PXE+Kickstart自动化系统安装 

PXE+Kickstart安装CentOS 7.3 

Linux运维自动化工具 Kickstart 

PXE+Kickstart无人值守安装CentOS 7 

RHCE认证之无人值守安装Linux系统(FTP+TFTP+DHCP+Kickstart+PXE)

CentOS Kickstart及引导镜像文件制作 

Kickstart 全自动安装部署RHEL 7.0 

PXE+Kickstart无人值守安装CentOS 6 

1.2 cobbler基本介绍

cobbler可以看作是一个更多功能的pxe,它实现系统安装和pxe也差不多,需要的文件和过程大致都一样。

cobbler能自动管理dns/tftp/dhcp/rsync这四个服务(但似乎对tftp的管理有点bug,需要手动启动tftp),且cobbler依赖于httpd(pxe支持http/nfs/ftp)。

基本的系统安装,cobbler只需生成一个distro和一个profile即可。

distro相当于一个镜像,它提供安装系统过程中所需的一切文件,如vmlinuz,initrd以及rpm包等。

profile的作用是为了自动修改pxelinux.cfg/default文件,每生成或修改一次profile,都会在default文件中修改或追加对应的label。

除了distro/profile之外,cobbler还管理system/images/repositories等,但是用的很少。

1.3 安装和配置cobbler 1.3.1 安装cobbler

cobbler在epel源中提供。由于还依赖于httpd、dhcp,所以httpd和dhcp也应该装上。

yum -y install cobbler cobbler-web pykickstart debmirror httpd dhcp

其中cobbler-web是提供web管理界面的,pykicstart是检查kicstart文件语法错误的,debmirror是维护debian源的工具,此处用不上但有依赖关系,所以装上。

安装后,在/etc/cobbler生成以下文件。

[root@linuxidc ~]# cd /etc/cobbler/ [root@linuxidc cobbler]# ls auth.conf distro_signatures.json modules.conf reporting tftpd.template zone_templates cheetah_macros dnsmasq.template mongodb.conf rsync.exclude users.conf cobbler_bash import_rsync_whitelist named.template rsync.template users.digest completions iso power secondary.template version dhcp.template ldap pxe settings zone.template

先启动httpd,再启动cobblerd。

[root@linuxidc cobbler]# systemctl start httpd.service [root@linuxidc cobbler]# systemctl start cobblerd.service

 

[root@linuxidc cobbler]# netstat -tnlp Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1298/sshd tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 1402/master tcp 0 0 127.0.0.1:25151 0.0.0.0:* LISTEN 14091/Python2 tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 2261/mysqld tcp 0 0 :::22 :::* LISTEN 1298/sshd tcp 0 0 ::1:25 :::* LISTEN 1402/master tcp 0 0 :::443 :::* LISTEN 14037/httpd tcp 0 0 :::80 :::* LISTEN 14037/httpd

启动之后,首先执行cobbler check检查配置是否正确。根据提示修改相关的配置项。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/13584.html