Cobbler 无人值守安装

 

摘要

Cobbler 是linux系统的一个服务,可以通过PXE网络启动,完成无人值守安装系统。
Cobbler可以使用命令行或web页面进行管理,还提供了API接口,方便二次开发。
Cobbler是一个轻量级的管理服务,可以配置puppet实现管理。

 

目录

公司最近有新的项目,需要批量安装操作系统,如果不会自动化,那可就悲剧了,

一直在机房点鼠标,想想都苦逼,所以写下这篇文章,送给小伙伴;

我们使用CentOS6较多,所以下面以它为例,但为了满足小伙伴,也会告诉你CentOS 7的变化在哪里,授之以鱼不如授之以渔,一定要善于总结,下面就开始。

1 、Cobbler 介绍

Cobbler 是linux系统的一个服务,可以通过PXE网络启动,完成无人值守安装系统。

Cobbler是Python开发,可以使用命令行或web页面进行管理,还提供了API接口,方便二次开发。

Cobbler是一个轻量级的管理服务,可以配置puppet实现管理。

2、 Cobbler 的优缺点

配置简单,易用,高效,需要了解原理(kickstart)

3、Cobbler 集成的服务

PXE服务支持

 

DHCP服务管理

 

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

 

电源管理

 

Kickstart服务支持

 

YUM仓库管理

 

TFTP(PXE启动时需要)

 

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

 

 注意:如果您要用虚拟机测试,参考下面设置

 

虚拟机网卡采用NAT模式,不要使用桥接模式,因为稍后我们会搭建DHCP服务器,在同一局域网多个DHCP服务会有冲突。

 

VMwareNAT模式的dhcp服务也关闭,避免干扰。

4、Cobbler 命令行配置

4.1 系统环境准备

[root@m01 ~]# cat /etc/redhat-release

CentOS release 6.8 (Final)

[root@m01 ~]# uname -r

2.6.32-642.el6.x86_64

[root@m01 ~]# getenforce   ##检测selinux 是否关闭

Disabled

[root@m01 ~]# /etc/init.d/iptables status ##检测iptables防火墙是否关闭

iptables: Firewall is not running.

[root@m01 ~]# ifconfig eth0|awk -F "[ :]+" 'NR==2 {print $4}'

10.0.0.61

[root@m01 ~]# hostname

m01

[root@m01 ~]# wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-6.repo

#配置yum源为阿里云

4.2 安装Cobbler

yum安装相关软件包

yum -y install cobbler cobbler-web dhcp tftp-server pykickstart httpd

修改cobbler主配置文件

cp /etc/cobbler/settings{,.ori}  ##备份cobbler主配置文件

sed -i 's/server: 127.0.0.1/server: 172.16.1.101/' /etc/cobbler/settings  ##替换服务端IP#

sed -i 's/next_server: 127.0.0.1/next_server: 172.16.1.101/' /etc/cobbler/settings

sed -i 's/manage_dhcp: 0/manage_dhcp: 1/' /etc/cobbler/settings  #开启DHCP功能#

sed -i 's/pxe_just_once: 0/pxe_just_once: 1/' /etc/cobbler/settings #开启PXE网络安装功能#

sed -ri "/default_password_crypted/s#(.*: ).*#\1\"`openssl passwd -1 -salt 'oldboy' '123456'`\"#" /etc/cobbler/settings

sed -i 's#yes#no#' /etc/xinetd.d/rsync

sed -i 's#yes#no#' /etc/xinetd.d/tftp

上传cobbler配置内容

rz cobbler_load.tar.gz   

vim /etc/cobbler/dhcp.template ##编辑DHCP 模板配置文件,添加如下内容#

subnet 172.16.1.0 netmask 255.255.255.0 {  #应用的网段

     option subnet-mask         255.255.255.0;  #子网

     range dynamic-bootp        172.16.1.100 172.16.1.200;  ##DHCP池范围

启动并检查cobbler 状态

/etc/init.d/xinetd restart

/etc/init.d/cobblerd restart

/etc/init.d/httpd restart

/etc/init.d/dhcpd start

cobbler sync  ##只要更改配置 都要从新同步##

 

5、 通过上面的修改,我们再次检测cobbler是否还存在9个报错

 

[root@Yum-CK application]# cobbler check

6、Web 页面测试

http://10.0.0.101/cobbler_web    ###账号密码 都是cobbler,可以自行设置

 

7、使用cobbler自动化安装

太多截图就不上传了,最主要的是创建kickstart Templates模板

#Centos 7

[root@linux-node1 kickstarts]# cat CentOS-7.1-x86_64.cfg

# Cobbler for Kickstart Configurator for CentOS 7.1 by yao zhang

install

url --url=$tree  # 这些$开头的变量都是调用配置文件里的值。

text

lang en_US.UTF-8

keyboard us

zerombr

bootloader --location=mbr --driveorder=sda --append="crashkernel=auto rhgb quiet"

# Network information

$SNIPPET('network_config')

timezone --utc Asia/Shanghai

authconfig --enableshadow --passalgo=sha512

rootpw  --iscrypted $default_password_crypted

clearpart --all --initlabel

part /boot --fstype xfs --size 1024  # CentOS7系统磁盘默认格式xfs

part swap --size 1024

part / --fstype xfs --size 1 --grow

firstboot --disable

selinux --disabled

firewall --disabled

logging --level=info

reboot

%pre

$SNIPPET('log_ks_pre')

$SNIPPET('kickstart_start')

$SNIPPET('pre_install_network_config')

# Enable installation monitoring

$SNIPPET('pre_anamon')

%end

%packages

@base

@compat-libraries

@debugging

@development

tree

nmap

sysstat

lrzsz

dos2unix

telnet

iptraf

ncurses-devel

openssl-devel

zlib-devel

OpenIPMI-tools

screen

%end

%post

systemctl disable postfix.service

%end

8、Cobbler问题

1) 今天群里龙哥遇到问题cobbler check提示语法错误,详细报错如下:

 


解决方法: 生成的密码添加到配置文件,然后重新检查语法就好了

openssl passwd -1 -salt 'random-phrase-here' 'your-password-here'

vim /etc/cobbler/settings

 

 

至此、cobbler的部署与简单应用就结束了。

posted @ 2019-03-11 02:53  舍&得  阅读(256)  评论(0)    收藏  举报