码迷,mamicode.com
首页 > 其他好文 > 详细

Cobbler环境搭建

时间:2017-01-24 21:50:10      阅读:315      评论:0      收藏:0      [点我收藏+]

标签:ext   org   change   setting   step   默认启动项   utf-8   cli   blog   

Cobbler服务器系统: CentOS 6.6 64位
Cobbler版本: cobbler-2.6.11
IP地址:192.168.166.136

1、安装epel库

rpm -ivh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm 

2、安装依赖包

yum  -y install cobbler tftp tftp-server xinetd  dhcp  httpd  rsync pykickstart  debmirror  python-ctypes   cman 

3、配置http

sed -i ‘s/^#ServerName www.example.com:80/ServerName 0.0.0.0:80/g‘ /etc/httpd/conf/httpd.conf
chkconfig httpd on
/etc/init.d/httpd start

4、配置tftp和rsync

sed -i ‘s/disable\t= yes/disable\t= no/g‘ /etc/cobbler/tftpd.template
sed -i ‘s/disable\t= yes/disable\t= no/g‘ /etc/xinetd.d/rsync
chkconfig xinetd on
/etc/init.d/xinetd start

5、配置cobbler相关参数

[root@VM_166_136 ~]#sed -i ‘s/^@dists/#@dists/g;s/^@arches/#@arches/g‘ /etc/debmirror.conf
#生成root密码的密文,cobber客户端使用,该机器也必须能使用这个密码,否则执行cobbler sync/cobbler get-loaders报登录失败
[root@VM_166_136 kickstarts]# openssl passwd -1 -salt ‘‘ ‘123456$1$$RmyPVMlhpXjJj8iv4w.Ul.
[root@VM_166_136 ~]#vi /etc/cobbler/settings
default_password_crypted: "$1$$RmyPVMlhpXjJj8iv4w.Ul."

[root@VM_166_136 ~]#IP=$(ifconfig |grep -A 2 "eth0 " |grep ‘inet addr‘|awk ‘{print $2}‘|awk -F: ‘{print $2}‘)
[root@VM_166_136 ~]#sed -i "s/^next_server.*$/next_server: $IP/g" /etc/cobbler/settings 
[root@VM_166_136 ~]#sed -i "s/^server.*$/server: $IP/g" /etc/cobbler/settings
[root@VM_166_136 ~]#sed -i "s/^manage_dhcp.*$/manage_dhcp: 1/g" /etc/cobbler/settings
[root@VM_166_136 ~]#sed -i "s/^pxe_just_once.*$/pxe_just_once: 1/g" /etc/cobbler/settings
[root@VM_166_136 ~]#sed -i "s/^manage_rsync.*$/manage_rsync: 1/g" /etc/cobbler/settings

#查看修改的配置
[root@VM_166_136 ~]#grep -E "^default_password_crypted|^next_server|^server|^pxe_just_once|^manage_rsync|^manage_dhcp" /etc/cobbler/settings

6、配置dhcp服务器

#修改subnet信息
[root@VM_166_136 ~]#vi /etc/cobbler/dhcp.template
subnet 192.168.166.0 netmask 255.255.255.0 { 
	#option routers            192.168.166.1;
	option domain-name-servers 192.168.166.2;
	option subnet-mask         255.255.255.0;
	range dynamic-bootp        192.168.166.10 192.168.166.60;
	default-lease-time         21600;
	max-lease-time             43200;
	next-server                $next_server;
	class "pxeclients" {
		match if substring (option vendor-class-identifier, 0, 9) = "PXEClient";
		if option pxe-system-type = 00:02 {
			filename "ia64/elilo.efi";
		} else if option pxe-system-type = 00:06 {
			filename "grub/grub-x86.efi";
		} else if option pxe-system-type = 00:07 {
			filename "grub/grub-x86_64.efi";
		} else {
			filename "pxelinux.0";
		}
	}
}


[root@VM_166_136 ~]#echo "DHCPDARGS=eth0" >/etc/sysconfig/dhcpd 

#检查cobber配置是否有误 ------下面这个问题,已确认有该文件,不知道为什么还是提示。。我这里忽略
[root@VM_166_136 kickstarts]# cobbler check
The following are potential configuration items that you may want to fix:

1 : file /etc/xinetd.d/rsync does not exist

Restart cobblerd and then run ‘cobbler sync‘ to apply changes.

  

chkconfig dhcpd on
chkconfig cobblerd on
cobbler get-loaders
service cobblerd start
cobbler sync
#测试dhcp服务器配置是否正确
dhcpd
service dhcpd start

设置cobbler相关服务启动脚本

vi /etc/rc.d/init.d/cobbler
#!/bin/sh
# chkconfig: - 80 90
# description:cobbler
case $1 in
start)
	/etc/init.d/httpd start
	/etc/init.d/xinetd start
	/etc/init.d/dhcpd start
	/etc/init.d/cobblerd start
	;;
stop)
	/etc/init.d/httpd stop
	/etc/init.d/xinetd stop
	/etc/init.d/dhcpd stop
	/etc/init.d/cobblerd stop
	;;
restart)
	/etc/init.d/httpd restart
	/etc/init.d/xinetd restart
	/etc/init.d/dhcpd restart
	/etc/init.d/cobblerd restart
	;;
status)
	/etc/init.d/httpd status
	/etc/init.d/xinetd status
	/etc/init.d/dhcpd status
	/etc/init.d/cobblerd status
	;;
sync)
	cobbler sync
	;;
*)
	echo "Input error,please in put ‘start|stop|restart|status|sync‘!";
	exit 2>&1 >/dev/null &
	;;
esac

chmod +x /etc/rc.d/init.d/cobbler 
chkconfig cobbler on
service cobbler  restart

7、制作镜像

mkdir -p /data/iso/tmp
rz -be   #上传ios至/data/iso目录
mount -t iso9660 -o loop /data/iso/CentOS-6.6-x86_64-bin-DVD1.iso  /data/iso/tmp

#将iso导入到cobber,切记必须切换到/var/www/cobbler/ks_mirror执行,该目录开启了http访问
cd /var/www/cobbler/ks_mirror
cobbler import --path=/data/iso/tmp  --name=CentOS-6.6-x86_64  --arch=x86_64

8、设置kickstarts安装配置文件

#定制系统安装及脚本设置,重要
#1、不支持中文,切记
#2、不支持bash里面的转义字符
#3、自定义脚本,请使用http的方式执行
cat /var/lib/cobbler/kickstarts/CentOS-6.6-x86_64.ks
# kickstart template for Fedora 8 and later.
# (includes %end blocks)
# do not use with earlier distros

#platform=x86, AMD64, or Intel EM64T
# System authorization information
auth  --useshadow  --enablemd5
# System bootloader configuration
bootloader --location=mbr
# Partition clearing information
clearpart --all --initlabel
# Use text mode install
text
# Firewall configuration
firewall --disabled
# Run the Setup Agent on first boot
firstboot --disable
# System keyboard
keyboard us
# System language
lang en_US.UTF-8
# Use network installation
url --url=$tree
# If any cobbler repo definitions were referenced in the kickstart profile, include them here.
$yum_repo_stanza
# Network information
$SNIPPET(‘network_config‘)
# Reboot after installation
reboot

#Root password
rootpw --iscrypted $default_password_crypted
# SELinux configuration
selinux --disabled
# Do not configure the X Window System
skipx
# System timezone
timezone  Asia/Shanghai
# Install OS instead of upgrade
install
# Clear the Master Boot Record
zerombr
# Allow anaconda to partition the system as needed
autopart

%pre
$SNIPPET(‘log_ks_pre‘)
$SNIPPET(‘kickstart_start‘)
$SNIPPET(‘pre_install_network_config‘)
# Enable installation monitoring
$SNIPPET(‘pre_anamon‘)
%end

%packages
$SNIPPET(‘func_install_if_enabled‘)
%end

%post --nochroot
$SNIPPET(‘log_ks_post_nochroot‘)
%end

%post
$SNIPPET(‘log_ks_post‘)
# Start yum configuration
$yum_config_stanza
# End yum configuration
$SNIPPET(‘post_install_kernel_options‘)
$SNIPPET(‘post_install_network_config‘)
$SNIPPET(‘func_register_if_enabled‘)
$SNIPPET(‘download_config_files‘)
$SNIPPET(‘koan_environment‘)
$SNIPPET(‘redhat_register‘)
$SNIPPET(‘cobbler_register‘)
# Enable post-install boot notification
$SNIPPET(‘post_anamon‘)
# Start final steps
$SNIPPET(‘kickstart_done‘)
# End final steps
# Custom scripts
cd /root
wget http://192.168.166.136/cobbler/ks_mirror/config/custom.sh
sh custom.sh

%end

#设置自定义脚本,用于定制 

[root@VM_166_136 kickstarts]# cat /var/www/cobbler/ks_mirror/config/custom.sh 
#!/bin/bash

date >>/tmp/date.log

cobbler常用命令

#查看当前配置文件
cobbler profile report

#修改profile,默认是/var/lib/cobbler/kickstarts/sample_end.ks 配置文件,必须
cobbler profile edit --name=CentOS-6.6-x86_64 --distro=CentOS-6.6-x86_64 --kickstart=/var/lib/cobbler/kickstarts/CentOS-6.6-x86_64.ks

#指定安装的配置文件,需要时候,才使用
cobbler profile remove --name=CentOS-5.10-x86_64

#查看Cobbler列表
cobbler list
#查看所有参数
cobbler report
#查看配置文件相关参数
cobbler profile report
#查看distro列表
cobbler distro list

#修改cobber 客户端的默认启动项

[root@VM_166_136 kickstarts]# cat /var/lib/tftpboot/pxelinux.cfg/default
DEFAULT menu
PROMPT 0
MENU TITLE Cobbler | http://cobbler.github.io
TIMEOUT 60
TOTALTIMEOUT 6000
#ONTIMEOUT local
ONTIMEOUT CentOS-6.6-x86_64

LABEL local
        MENU LABEL (local)
        LOCALBOOT -1

LABEL CentOS-6.6-x86_64
        kernel /images/CentOS-6.6-x86_64/vmlinuz
        MENU LABEL CentOS-6.6-x86_64
        MENU DEFAULT
	append initrd=/images/CentOS-6.6-x86_64/initrd.img ksdevice=bootif lang=  kssendmac text  ks=http://192.168.166.136/cblr/svc/op/ks/profile/CentOS-6.6-x86_64
        ipappend 2

MENU end

到这里,新建的虚拟机,已经可以自动安装操作系统了。

9、重新安装系统

在需要重装系统的服务器上安装koan
1.安装epel库
rpm -ivh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm 
2.安装koan
yum -y install koan.noarch
3.查看Cobbler服务器系统镜像列表
koan --list=profiles  --server=192.168.166.136  
4.查看Cobbler服务器系统镜像列表
koan --replace-self --server=192.168.166.136 --profile=CentOS-6.6-x86_64
5.重新启动系统进行自动安装
reboot 

Kickstart: /var/lib/cobbler/kickstarts/
cobbler相关配置文件: /etc/cobbler
cobbler数据存储目录: /var/www/cobbler
dhcp配置文件: /etc/dhcpd.conf
dhcp租期缓存文件: /var/lib/dhcpd/dhcpd.leases
pxe配置文件: /tftpboot/pxelinux.cfg/default
cobbler日志:
/var/log/cobbler/install.log #客户端系统安装日志
/var/log/cobbler/cobbler.log #cobbler日志

Cobbler环境搭建

标签:ext   org   change   setting   step   默认启动项   utf-8   cli   blog   

原文地址:http://www.cnblogs.com/dbcloud/p/6347823.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!