实验环境,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,可以在官网下载源码,。可以用如下方法检查已经安装的Django版本:
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,运行测试出现如下报错。
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
--测试安装系统
/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
--测试系统安装:
新建一个虚拟机和cobbler服务器在同一个网段,并用网卡启动,
如下图出现cobbler安装界面,会把可安装系统镜像列出来,选择
后回车进入自动安装。(此时会以全部默认设置的方式安装系统,
Root账户密码为之前设置的123456。如果要自定义安装需要编辑kickstart脚本)
安装过程:
安装完成登陆成功!
(注意改了cobbler任何设置都要重启cobblerd服务,并执行cobbler sync同步一下!!)