cobbler

centos7.4之cobbler自动化部署工具安装

 

 环境介绍:

  服务器:172.16.5.241

  操作系统版本:centos7.4

  客户端:虚拟机客户端,内存最少2GB

cobbler介绍:

  运维自动化在生产环境中占据着举足轻重的地位,尤其是面对几百台,几千台甚至几万台的服务器时,仅仅是安装操作系统,如果不通过自动化来完成,根本是不可想象的。面对生产环境中不同服务器的需求,该如何实现批量部署多版本的操作系统呢?Cobbler便可以满足这一实际需求,实现多版本操作系统批量部署

  Cobbler是一个Linux服务器安装的服务,可以通过网络启动(PXE)的方式来快速安装、重装物理服务器和虚拟机,同时还可以管理DHCP,DNS等。

  Cobbler可以使用命令行方式管理,也提供了基于Web的界面管理工具(cobbler-web),还提供了API接口,可以方便二次开发使用。

  Cobbler是较早前的kickstart的升级版,优点是比较容易配置,还自带web界面比较易于管理。

  Cobbler内置了一个轻量级配置管理系统。

  Cobbler官网http://cobbler.github.io

  在使用cobbler之前需要了解kickstart的使用: http://www.cnblogs.com/clsn/p/7833333.html

   cobbler集成的服务:

    PXE服务支持

    DHCP服务管理

    DNS服务管理(可选bind,dnsmasq)

    电源管理

    Kickstart服务支持

    YUM仓库管理

    TFTP(PXE启动时需要)

    Apache(提供kickstart的安装源,并提供定制化的kickstart配置)

一、服务器安装。

  注意我这里使用虚拟机实现的,因为cobbler需要搭建dhcp服务,所以我这里先安装了所有的需要安装包,启动了所有应该启动的服务,除了dhcp。测试的时候我使用虚拟机nat网卡模式,并关闭了虚拟机自带的dhcp服务。

  1、安装基本组件

1
yum -y install wget net-tools curl epel-release

  2、更新

1
yum -y update

  3、关闭iptables与selinux,下面的所有操作完成后,重启服务器,否则后面会报错。
  vim /etc/selinux/config
  SELINUX=disabled

  关闭iptables或者firewalld,开机不启动。

二、安装基础服务

  1、安装所有依赖服务

1
yum -y install dhcp httpd xinetd tftp-server rsync fence-agents pykickstart

  2、设置开机自启动,dhcpd服务我们后面再启动。

1
2
systemctl enable xinetd dhcpd httpd rsyncd
systemctl start xinetd  httpd rsyncd

  3、安装cobbler

1
yum -y install cobbler-web

  设置开机启动:

1
2
systemctl enable cobblerd
systemctl start cobblerd

  4、效验cobbler安装条件,注意观察是否有报错

1
cobbler check
 报错

 

  5、随机生成一个密码,这个密码就是你待会儿自动安装完操作系统以后的开机密码。复制生成的密码,待会儿需要写到配置文件中。

1
openssl passwd -1 -salt "root" "yunwei.123"

  6、更改cobbler配置文件

1
vim /etc/cobbler/settings

  只需要改配置文件中的这几项即可。

1
2
3
4
5
6
7
8
..........
default_password_crypted: "$1$cobbler$zPOuqy9SLOb87DIQb3RbQ." #第三步生成的密码
manage_dhcp: 1 #dhcp服务
manage_tftpd: 1 #xinetd服务
manage_rsync: 1 #rsyncd服务
next_server: 172.16.5.241 #替换成本机IP地址,dhcp服务地址
server: 172.16.5.241 #替换为本机IP地址,cobber服务地址
..........

  7、更新load信息

1
cobbler get-loaders
 命令结果

  8、vim /etc/xinetd.d/tftp,设置tftp配置文件,‘disable'为'no'

1
2
3
4
5
6
7
8
9
10
11
12
13
service tftp
{
disable = no
socket_type = dgram
protocol = udp
wait = yes
user = root
server = /usr/sbin/in.tftpd
server_args = -B 1380 -v -s /var/lib/tftpboot
per_source = 11
cps = 100 2
flags = IPv4
}

  9、修改dhcp配置文件,先不要启动dhcp。

1
vim /etc/cobbler/dhcp.template
 dhcp修改内容

   10、同步Cobbler,这里会把/etc/cobbler/dhcp.template这个文件我们配置好的内容同步到/etc/dhcp/dhcpd.conf文件中,否则dhcp不能正常使用。

1
cobbler sync
 提示信息
 /etc/dhcp/dhcpd.conf信息

 

三、导入镜像

  1、创建操作系统文件夹,虚拟机添加对应的操作系统iso文件,然后挂载。

1
2
3
mkdir -p /data/iso/centos7.4
#挂载
mount /dev/cdrom  /data/iso/centos7.4

  2、把挂载光盘镜像的mnt目录中的内容导入到cobbler

1
cobbler import --path=/data/iso/centos7.4  --name=centos7.4

  3、接着同步cobber report查看导入信息

1
cobbler report
 返回信息

  web界面查看,已经看到了我们刚才生成的操作系统。

  

  注意:

  前面我们不是执行cobbler check命令报错么,现在我们在check一下, 

1
cobbler check
 check结果

 四、测试

  1、前面服务器都支直接连接互联网的,这里面是有dhcp服务器,如果我启动cobbler的dhcp,那同事就得“炸锅了”,所以这里我先把服务器网卡换NAT模式,并关闭vmware workstation里面的DHCP服务。

  2、检查前面我们安装的服务是否正常。

  3、启动DHCP服务。

  4、新建一个虚拟机,网卡选择NAT,不需要挂载操作系统光盘,直接开机即可。

  5、启动客户端,这里如果等待时间很长的话,证明的你的tftp服务有问题,重启一下服务器,客户端在重新启动就OK了。

  

  6、开始安装,刚才我们生成的镜像,上下键选择要安装的操作系统,回车即可,剩下的只有等。

  

  7、默认分区

  

五、web界面

  https://服务器IP地址/cobbler_web默认用户名和密码是cobbler,在这里面我们能看到刚才我们创建的这个centos7的镜像。

  如果想修改cobbler登录密码使用如下命令:

1
htdigest /etc/cobbler/users.digest "Cobbler" cobbler

  

  查看一下我们的版本库列表

   cobbler distro list

   #report详细查看一下库信息

   cobbler distro report 

  #查看配置的详细信息,这个就非常有用了,标红的文件是默认配置文件,。

  cobbler profile report 

  

 

 参考地址:

  1、https://www.linuxidc.com/Linux/2018-03/151347.htm

  2、https://www.cnblogs.com/clsn/p/7839965.html?utm_source=debugrun&utm_medium=referral

问题一:

  设置安装密码,上面我们设置了cobbler的页面密码,如果我们有很多的操作系统,随便一个服务器启动后dhcp就可以安装操作系统,没有密码很危险。

  1、创建密码 

1
2
#生成密码(yunwei.123才是密码,前面的root随意)
openssl passwd -1 -salt root  yunwei.123

  

1
2
#生成的密码
$1$root$vQ5iF/QlePLjafcRq8lCw/

  第二步:编辑文件pxedefault:

  # vim /etc/cobbler/pxe/pxedefault.template

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
DEFAULT menu
PROMPT 0
MENU TITLE Cobbler | http://cobbler.github.io/   #细心的同学发现,http是安装界面的显示内容
MENU MASTER PASSWD $1$root$vQ5iF/QlePLjafcRq8lCw/    #加入这一行,把前面的密码加进来
TIMEOUT 200
TOTALTIMEOUT 6000
ONTIMEOUT $pxe_timeout_profile
 
LABEL local
        MENU LABEL (local)
        MENU DEFAULT
        LOCALBOOT -1
 
$pxe_menu_items
 
MENU end

  第三步:配置pxeprofile:

  #vim  /etc/cobbler/pxe/pxeprofile.template 

1
2
3
4
5
6
LABEL $profile_name
        MENU PASSWD     #只需要加这一行即可
        kernel $kernel_path
        $menu_label
        $append_line
        ipappend 2

  第四步:检查、同步配置使其生效

  #cobbler check

  #cobbler sync

  #/etc/init.d/cobblerd restart

  第五步:PXE装机选择版本查看效果:

  

 问题二:

  自定义配置和分区

  这个功能我们必须得会,因为默认操作系统会.ks文件加参数autopart,意思就是自动分区。我们生产中哪怕是试验,也没有这么分区的(/var/lib/cobbler/kickstarts/sample_end.ks,我这里的centos7.4是这个默认安装配置文件)

  1、首先我们得知道我们安装的这个操作系统默认用的是哪个.ks文件,圈红色的全都是默认的ks文件。

  

  那我们的操作系统默认用的是哪个呢?

  

  我这里默认是这个配置文件

  

  2、首先我们点击sample_end.ks这个我们默认的配置文件,然后全选里面的内容。最后按照如下,我们新建一个自己ks文件,把刚才复制的内容全部粘贴到里面。

  

  

  这里还设置了默认关闭selinux,当然,你还可以写默认要安装哪些软件。

 centos7.4

   其它配置参考:https://www.cnblogs.com/clsn/p/7839965.html?utm_source=debugrun&utm_medium=referral#auto_id_15

错误收集:

  1、No space left on device

  客户端在安装操作系统的时候报下面这个错误,那是因为你的机器内存太少了,最少也得2GB内存。

  

  将内存调为2G即可(这个错误只会出现在CentOS7.3之上)

  

posted @ 2020-07-18 17:27  Armored-forces  阅读(158)  评论(0)    收藏  举报