Linux探索之旅linux运维从入门到精通我用 Linux

Cobbler批量部署CentOS

2017-09-17  本文已影响364人  Aubin

简介

Cobbler是一个快速网络安装linux的服务,而且在经过调整也可以支持网络安装windows。该工具使用python开发,小巧轻便(才15k行python代码),使用简单的命令即可完成PXE网络安装环境的配置,同时还可以管理DHCP、DNS、以及yum仓库、构造系统ISO镜像。今天这里只介绍在企业中利用cobbler进行批量自动化安装centos。其他更多的功能这里不做介绍。如果想详细了解cobbler请百度 Cobbler部署指南

一、实现过程

1.自动安装过程

简单的来说客户端的电脑网卡带有并开启pxe功能,开机会自动获取IP地址、tftp地址、pexlinux文件名----->加载pxelinux.0、内核文件vmlinuz、伪文件系统initrd.img----->启动系统----->到pxelinux指定的tftp地址下载ks.cfg文件----->根据ks.cfg文件的去http、ftp、nfs寻找镜像、安装操作系统

客户端<-------IP---------DHCP服务器
客户端<----pxelinux----tftp服务器
客户端<----default------tftp服务器
客户端<-----ks.cfg------http、ftp、nfs
客户端<----镜像地址---http、ftp、nfs
客户端<----安装系统---http、ftp、nfs

2.基本配置文件结构

pxe批量部署操作系统就是通过以下几个服务共同完成的,cobbler工具是将几者更加集中地进行管理,使运维人员不需要在乎底层的工作。这里只介绍了cobbler用于批量部署系统用到的服务以及相关的文件。

dhcp  /etc/dhcp/dhcp.conf     提供IP地址,提供tftp服务器、pexlinux文件名

tftp  /var/lib/tftpboot/      提供初始内核以伪文件系统
         \---vmlinuz          内核文件
         \---initrd.img       伪文件系统
         \---menu.c32         菜单风格
         \---pxelinux.0       启动文件
         \---pxelinux.cfg
             \---default      指定ks.cfg文件的路径.ks.cfg指定了镜像的地址与安装的方式                            

httpd   /var/www/html/centos  提供ks.cfg或镜像
ftp     /var/ftp/pub/centos   提供ks.cfg或镜像

cobbler                       管理力工具,将几者集中管理

3.cobbler命令的使用

cobbler commands      介绍
cobbler check         核对当前设置是否有问题
cobbler list          列出所有的cobbler元素
cobbler report        列出元素的详细信息
cobbler sync          同步配置到数据目录,更改配置最好都要执行下
cobbler reposync      同步yum仓库
cobbler distro        查看导入的发行版系统信息
cobbler system        查看添加的系统信息
cobbler profile       查看配置信息

二、实现步骤

1. 前期准备

iptables -F
systemctl stop firewalld.service
systemctl disable firewalld.service
setenforce 0
vim /etc/selinux/config
    修改为SELINUX=disabled

2.安装软件

yum install cobbler  dhcp tftp ftp httpd
systemctl  enable  cobblerd
systemctl  start  cobblerd
systemctl enable  tftp
systemctl start  tftp
systemctl enable httpd
systemctl start httpd

3.配置cobbler

cobbler check
vim /etc/cobbler/settings
next_server: 192.168.25.107      #设置tftp地址
manage_dhcp: 1                   #cobberl接管dhcp
server: 192.168.25.107           #cobbler的地址,也就是本机地址。
pxe_just_once: 1                 #cobbler接管pxe

systemctl restart cobblerd       #重启服务
cobbler sync                     #更新配置
vim /etc/cobbler/dhcp.template            #设定子网段,限定可以分配的地址范围
subnet 192.168.25.0 netmask 255.255.255.0 {
   range dynamic-bootp        192.168.25.100 192.168.25.254;
}
cobbler sync 
#服务器连接了外网
cobbler get-loaders
#服务器没有连接外网可以直接复制
cp /var/lib/tftpboot/{menu.c32,pxelinux.0} /var/lib/cobbler/loaders
cobbler import --path=/mnt/cdrom/centos7 --name=centos7.3 --arch=x86_64
cobbler import --path=/mnt/cdrom/centos6 --name=centos6.9 --arch=x86_64
# --path  光盘的路径,也可以使用ftp、http等yum源地址
# --name 镜像名称可以随便写,便于cobbler的管理
# --acrh  指定架构如果不指定架构,cobbler会分别创建两个架构的镜像
# 但是镜像本身就是64位的所以创建两个没有必要,因此直接指定架构

cobbler distro list            #查看创建的yum源
# 删除默认创建的ks文件
cobbler profile list
cobbler profile remove --name=centos6.9-x86_64
cobbler profile remove --name=centos7.3-x86_64
# 创建ks文件
system-config-kickstart            #kickstart图形化生成工具,生成完毕后记得点击左上角的file将其保存
cp  centos6.cfg centos7.cfg /var/lib/cobbler/kickstarts/      #将生成的ks文件复制到cobbler模板目录下

# 将创建的ks文件导入cobbler
cobbler profile add --name=centos6.9_desktop --distro=centos6.9-x86_64  --kickstart=/var/lib/cobbler/kickstarts/centos6.cfg
cobbler profile add --name=centos7.3_mini --distro=centos7.3-x86_64  --kickstart=/var/lib/cobbler/kickstarts/centos7.cfg
# add          增加配置
# --name       名称可以随便写便于cobbler管理
# --distro     指定yum源,也就是之前导入的yum源,如果导入了多个yum源需要一一对应
# --kickstart  自己生成ks文件的路径,cobbler会将你自己生成的ks文件转换成cobbler可以识别的ks文件

cobbler sync   同步配置

#创建完成的ks文件中url这一项可以使用$tree来代替。cobbler会自动将其替代

三、测试

将机器与cobbler接入同一vlan中,开机后会自动进入pxelinux界面。让用户选择是通过本地启动还是安装操作系统。现在只需要敲下回车即可自动安装操作系统。



四、cobbler的web端管理

cobbler可以通过安装web服务使管理更加的便捷。

  1. 安装
yum install cobbler-web
  1. 配置认证方式
    打开modules.conf配置文件,可以看到cobbler支持众多的用户登录认证方式。常用的认证方式有两种认证方式,第一种为cobbler默认的authn_configfile通过配置文件认证。第二种为authn_pam通过PAM模块来认证即系统用户。
# 修改配置文件
vim /etc/cobbler/modules.conf
     [authentication] 
     module = authn_configfile      #   <-------仅修改了这里

# 创建认证用户 aubin,仅在创建第一用户时使用 -c选项创建后续的用户则不在使用
# 倒数第二个参数是relam的名称必须为Cobbler且第一个字母为大写
htdigest -c /etc/cobbler/users.digest Cobbler aubin
# 修改配置文件
vim /etc/cobbler/modules.conf
     [authentication]
     module = authn_pam            #   <-------仅修改了这里

#创建系统用户,且设置为不可登陆
useradd -s /sbin/nologin  aubin

# 修改用户文件
vim /etc/cobbler/users.conf
[admins]admin = "aubin"            #    <-------写入刚刚创建的系统用户
  1. 测试登录
    输入创建的用户即可登录,web界面的管理过于简单仅用鼠标点击点击再点击即可进行管理,如遇问题请自行百度。

五、常见错误

  1. 如下图的错误经常出现在虚拟机环境下,这时因为创建的虚拟机内存不够大。将虚拟机关机调整需虚拟机内最为1.5G以上,就不会出现如下错误。
  1. 提示TFTP连接超时,请检查防火墙是否关闭。
  1. 选择操作系统后可以出现下图所示,加载内核、加载伪文件系统。那么就说明各项服务包括cobbler配置没有错误,如果之后再出现问题,请排查yum源是否完整可用。
上一篇下一篇

猜你喜欢

热点阅读