一.准备
准备所需安装环境、安装包、yum源 到位等
操作系统:centos 7.3
eth0 ip:192.168.80.2
gateway: eth0 192.168.80.1
eth1 172.25.16.252
dns:8.8.8.8
dchp:192.168.80.2
实验环境中 ,为了隔离其他机器,单独劈开一个网段,用clear os 实现网关、端口转发、映射等功能。clear os 是一个软路由操作系统。
1 关闭不需要的服务
- 关闭selinux
- 关闭防火墙
临时关闭:
setenforce 0
永久关闭:
sed -i '/SELINUX/s/enforcing/disabled/' /etc/selinux/config
保存重启,重启后状态如下:
[root@cobbler ~]# sestatus
SELinux status: disabled
关闭防火墙
systemctl stop firewalld.service
禁止开机启动
systemctl disable firewalld.service
2 yum优先级与EPEL源配置
参考
http://blog.csdn.net/celeste7777/article/details/48528161
不安装epel源的话,不能通过yum的方式安装cobbler
[root@kvm ~]# yum install -y wget
[root@kvm ~]# wget --/etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
3 安装软件
“`
yum install -y tftp-server httpd dhcp yum-utils cobbler cobbler-web debmirror xinetd rsync pykickstart fence-agents createrepo syslinux
>
> 解释:
tftp-server tftp服务
httpd 网页服务
dhcp IP自动获取服务、以有dhcp可忽略
yum-utils yum相关
cobbler 必装
cobbler-web 基于浏览器的网页控制管理模块
debmirror 可选,不装会有告警提示,如要部署debian 可以安装
xinetd 网络守护进程服务程序
rsync 同步服务
pykickstart Python库,用来读取自动安装配置文件
fence-agents cman 电源管理模块,二者选其一
createrepo 创建软件仓库
syslinux 引导加载系统程序
**4 配置cobbler**
启动服务
```
[root@cobbler ~]# systemctl start httpd rsyncd cobblerd tftp dhcpd xinetd
[root@cobbler ~]# systemctl enable tftp rsyncd
对于Cobbler2.4+来说,有一个重要的功能,就是让你可以不需要手工去编辑setting配置文件,直接使用命令去修改,默认这个功能是不启用,你需要启用。
[root@cobbler cobbler]# cp settings settings.bak
[root@cobbler cobbler]# sed -i 's/^[[:space:]]\+/ /' /etc/cobbler/settings
[root@cobbler cobbler]# sed -i 's/allow_dynamic_settings: 0/allow_dynamic_settings: 1/g' /etc/cobbler/settings
修改参数实现cobber 托管,1为托管,0为不管
manager_tftpd:1
manage_dhcp: 1
manage_rsync: 1
pxe_just_once:1
manager_dns:0
next_server: 192.168.80.2 (IP修改成本机地址)
server: 192.168.80.2 (IP修改成本机地址)
pxe_just_once 预防将机器中的安装循环配置为始终从网络引导。激活此选项时,机器告诉 Cobbler 安装已完成。Cobbler 将系统对象的 netboot 标志更改为 false,这会强制机器从本地磁盘引导
vim /etc/cobbler/settings 也可以。
配置实现:
cobbler setting edit --name=manage_tftp --value="1"
cobbler setting edit --name=manage_dhcp --value="1"
cobbler setting edit --name=manage_rsync --value="1"
cobbler setting edit --name=manage_dns --value="0"
cobbler setting edit --name=pxe_just_once --value=1
[root@cobbler cobbler]# cobbler setting edit --name=server --value=192.168.80.2
[root@cobbler cobbler]# cobbler setting edit --name=next_server --value=192.168.80.2
[root@cobbler cobbler]#grep 'disable' /etc/xinetd.d/tftp
密码配置
[root@note1 loaders]# openssl passwd -1 -salt `openssl rand -hex 4` "budongshu"
$1$557d907c$AmKQun9Jxitt1D6aQ8DUC.
[root@kvm cobbler]# cobbler setting edit --name=default_password_crypted \
> --value="$1$557d907c$AmKQun9Jxitt1D6aQ8DUC."
[root@note1 cobbler]# cobbler get-loaders
dhcp 配置
[root@note1 cobbler]# vim /etc/cobbler/dhcp.template
其他需要动,只修改下面的几个内容
subnet 10.10.10.0 netmask 255.255.255.0 {
option routers 10.10.10.10;
option domain-name-servers 114.114.114.114;
option subnet-mask 255.255.255.0;
range dynamic-bootp 10.10.10.20 10.10.10.50;
default-lease-time 21600;
max-lease-time 43200;
next-server $next_server;
......
此时的dhcpd的配置就被cobbler覆盖,由cobbler来管理配置文件,截取的一部分,后面还有内容
[root@note1 cobbler]# vim /etc/dhcp/dhcpd.conf
# ******************************************************************
# Cobbler managed dhcpd.conf file
# generated from cobbler dhcp.conf template (Sun Jan 31 15:47:49 2016)
# Do NOT make changes to /etc/dhcpd.conf. Instead, make your changes
# in /etc/cobbler/dhcp.template, as /etc/dhcpd.conf will be
# overwritten.
# ******************************************************************
ddns-update-style interim;
allow booting;
allow bootp;
ignore client-updates;
set vendorclass = option vendor-class-identifier;
option pxe-system-type code 93 = unsigned integer 16;
subnet 10.10.10.0 netmask 255.255.255.0 {
......
......
......
重启cobbler服务
systemctl restart cobblerd
cobbler sync
cobbler check
三.参考文献