实验环境,cobbler PXE服务器vmware虚拟机CentOS 6.9

 

IP地址:192.168.154.129/24   网关192.168.154.1

 

     步骤:

--关闭SElinux(操作忽略)

--关闭iptables 和ip6tables(操作忽略)

--更新现有的packet   : yum update

--重启生效

 

--安装EPEL源: (此处用的清华大学的安装源)

yum install -y https://mirrors.tuna.tsinghua.edu.cn/epel/6/x86_64/epel-release-6-8.noarch.rpm

 

--安装cobbler和运行需要的相关软件包:

yum -y install cobbler cobbler-web xinetd pykickstart cman dhcptftp-server bind(安装过程中出现cobbler-web需要Django大于1.4版 ,注意检查一下本机python版本,如果低于2.7,则不要安装Django 1.11以上版本,安装方法:

1,可以用python 的setuptools的easy_installdjango命令自动安装。如果自动安装的版本和本机python不匹配,会提示语法错误。

2,可以在官网下载源码,cobbler 安装部署 _cobbler。可以用如下方法检查已经安装的Django版本:cobbler 安装部署 _cobbler_02


3,(推荐方法),直接找到并下载RPM包安装,比如rpm -ivh Django14-1.4.20-1.el6.noarch.rpm

 

   另外还可能会提示需要mod_ssl,用yum安装这个包即可。

   如果不需要web服务,也可以不安装cobbler-web这个软件包!

 

 

--修改系统自带的tftp配置文件,启用tftp:

vi/etc/xinetd.d/tftp

disable = yes  改为 disable = no

 

 

--修改系统自带的rsync配置文件,启用:

vi/etc/xinetd.d/rsync

disable= yes  改为 disable= no

 

--编辑 /etc/cobbler/settings 文件,设置以下各项,其中 192.168.154.129是当前机器IP。

server: 192.168.154.129
next_server: 192.168.154.129
pxe_just_once: 1
manage_rsync: 1
manage_dhcp: 1

 

--设置默认 root 用户的密码

# openssl passwd -1 -salt 'random-phrase-here' '123456'

(cobbler只是用来部署Linux系统的,这边设置的root用户的密码就是PXE安装的Linux系统的默认root密码,这边举例设置为123456)

生成的加密后的密码值为 $1$random-p$mzxQ/Sx848sXgvfwJCoZM0
将他替换 /etc/cobbler/settings 中此项值default_password_crypted:(""内的字符包括符号都要替换)

 

--设置 Cobbler Web访问的密码
# htdigest /etc/cobbler/users.digest "Cobbler" cobbler
出现输入密码之后输入密码,此处设置为123456 (注意上面"Cobbler"是大写,后面的cobbler是用户名)

 

--编辑 /etc/cobbler/dhcp.template 文件,设置本服务器提供的DHCP策略,一般改如下选项

subnet 192.168.154.0 netmask 255.255.255.0 {
     option routers          192.168.154.129;
    option domain-name-servers     192.168.154.1
    option subnet-mask        255.255.255.0;
      range dynamic-bootp     192.168.154.10  192.168.154.20;
   default-lease-time        21600;
    max-lease-time            43200;
    next-server               $next_server;
    filename         "/pxelinux.0"

(如果环境中已经有了DHCP服务器,需要把range dynamic-bootp这个选项用#注释掉,否则局域网中会出现2个DHCP服务器,会冲突。如果局域网中没有其他DHCP服务器,那么这个选项要启用。选项后面的地址范围即是DHCP的地址池,cobbler服务器,DHCP服务器,实际效用地址池都在一个网段内。domain-name-servers服务器是本局域网实际的DNS服务器)

 

--启用一下相关服务:
service xinetd restart
service httpd restart
service cobblerd restart

 

--启动和检测 cobbler:

cobbler get-loaders (在线获取cobbler 的加载文件)
cobbler check
此时如果有错误,cobbler会提示,可以根据提示来修复。但是对参数的任何修改都需要使用下面的命令来使其生效cobbler sync,运行测试出现如下报错。
cobbler 安装部署 _cobbler_03

1,没启动DHCP服务,service dhcpd start如果启动失败可以按照提示restartcobblerd服务,然后cobbler sync(他会帮你启动dhcpd)解决。
2,报错:file /etc/xinetd.d/rsync does not exist
   经查实际上/etc/xinetd.d/rsync文件存在,暂时忽略
3,如果要部署debian系统需要装debmirror包,因为我只用RHEL系和SUSE, 此处暂时不管。
   以上的所有各项设置如果有不对,都会导致check报错,具体问题具体分析,一定清楚原理,不要盲目设置参数。

 

 

--测试Web 管理界面,正常

用户名:cobbler    密码:123456

cobbler 安装部署 _cobbler_04

 

 --测试安装系统

   /tmp目录下有个CentOS-6.9-x86_64-minimal.iso 系统镜像。把这个镜像文件挂载到目录/mnt/6.9 :
   mount -t auto -o loop/tmp/CentOS-6.9-x86_64-minimal.iso /mnt/6.9

  然后导入到cobbler:
cobbler import --path=/mnt/6.9 --name=CentOS-6.9 --arch=x86_64

导入完成后可以在web控制台看到系统:
cobbler 安装部署 _cobbler_05

 

  --测试系统安装:

新建一个虚拟机和cobbler服务器在同一个网段,并用网卡启动,

如下图出现cobbler安装界面,会把可安装系统镜像列出来,选择

后回车进入自动安装。(此时会以全部默认设置的方式安装系统,

Root账户密码为之前设置的123456。如果要自定义安装需要编辑kickstart脚本)

cobbler 安装部署 _cobbler_06

 

安装过程:

cobbler 安装部署 _cobbler_07

 

安装完成登陆成功!

  cobbler 安装部署 _cobbler_08

 

(注意改了cobbler任何设置都要重启cobblerd服务,并执行cobbler sync同步一下!!)