系统:CentOS6.4-x86-64
主要参考资料:http://cwtea.blog.51cto.com/4500217/1047410
http://candon123.blog.51cto.com/704299/596302/
http://www.cobblerd.org/manuals/2.4.0/2_-_Cobbler_Quickstart_Guide.html
阅读本文档需具备linux的一些基本知识,如vim文件编辑,yum及rpm安装命令,service及chkconfig命令;也需要具备一定的网络基础概念,知道DHCP的服务器原理,DNS的基本概念;还有PXE的相关知识。
一、加载Fedor的Epel源
rpm -ivh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
二、开始安装
yum install cobbler cobbler-web httpd rsync tftp-server xinetd dhcp python-ctypesbind debmirror
三、启动httpd和cobblerd,并设置为开机自启动;关闭防火墙:
/sbin/service httpd start
/sbin/service cobblerd start
/sbin/service iptables stop
/sbin/chkconfig httpd on
/sbin/chkconfig dhcpd on
/sbin/chkconfig xinetd on
/sbin/chkconfig tftp on
/sbin/chkconfig cobblerd on
/sbin/chkconfig iptables off
这里不启动dhcpd是因为待会会设置让cobller管理和控制dhcpd
关闭防火墙是开放端口,免得麻烦,若不关闭,待会cobbler check时也会提示打开相应的端口
四、关闭selinux
vii /etc/selinux/config
将文件中的SELINUX字段设置为disabled ,然后重启。
{若不关闭,待会cobbler check时也会有提示}
五、执行cobbler配置检查并逐一解决
cobbler check
检测出相应的cobbler要运行的环境bug,以待修改
1、yum install pykickstart
2、yum install cman fence-agents
3、vi /etc/debmirror.conf
注释掉 @dists="sid";和@arches="i386";这两行
4、vi /etc/xinetd.d/rsync
将文件中的disable字段的配置由yes改为no
5、vi /etc/xinetd.d/tftp
将文件中的disable字段的配置由yes改为no
6、vi /etc/cobbler/settings
next_server:127.0.0.1 替换成next_server:本机IP地址 {注:此为DHCP服务地址}
server:127.0.0.1替换成 server: 192.168.0.28{此为cobbler服务地址,本机地址}
manage_dhcp:0 替换成 manage_dhcp: 1 {注:此为使cobbler管理dhcp也就是后面用于同步更新配置信息[cobbler sync]}
manage_rsync:0 替换成 manage_rsync: 1 {注:此为使cobbler管理rsync功能}
7、修改cobbler用户的默认密码,可以使用如下命令生成密码,并使用生成后的密码替换/etc/cobbler/settings中的密码(default_password_crypted字段)。生成密码命令:openssl passwd -1 -salt 'random-phrase-here' '123456'
{其中“random-phrase-here”为干扰码}
8、进行更新fedora的loader信息
执行cobbler get-loaders
9、修改默认dhcp
vi /etc/cobbler/dhcp.template
例:
{
ddns-update-styleinterim;
allowbooting;
allowbootp;
ignoreclient-updates;
setvendorclass = option vendor-class-identifier;
#需要修改192.168.0.0为自己网段
subnet192.168.0.0 netmask 255.255.255.0 {
#修改自己的路由(即网关)
optionrouters 192.168.0.1;
#域名服务器地址
optiondomain-name-servers 202.106.0.20;
#子网掩码
optionsubnet-mask 255.255.255.0;
#分配IP地址段
rangedynamic-bootp 192.168.0.100 192.168.0.254;
filename"/pxelinux.0";
default-lease-time21600;
max-lease-time43200;
next-server$next_server;
}
六、配置Cobbler web界面访问
vi /etc/cobbler/modules.conf如下:
[authentication]
module =authn_configfile
[authorization]
module =authz_allowall
{这两个字段一定要设置好,要不待会登陆会失败(没有权限吗)}
先设置用户名密码:
为已存在的用户重置密码:
htdigest /etc/cobbler/users.digest "Cobbler" cobbler
添加新用户:
htdigest /etc/cobbler/users.digest "Cobbler" student
cobblerweb访问地址:https://ipaddr/cobbler_web/
七、重新执行cobbler check,重启
执行cobbler check
若出现“No configuration problems found. All systems go.”说明检查已通过,执行cobbler sync,应用;最后重启系统
重启cobbler最好使用如下命令:
service cobblerd stop
service cobblerd start
使用/sbin/service cobblerd start时,有时会产生python的一个错误,不知道为什么。
八、cobbler list命令查看导入的系统列表
九、导入系统
用mount挂载iso镜像
例:#mount -o loop -t iso9660 /home/CentOS6.4-x86-64.iso /mnt/cdrom
注:使用/mnt/cdrom就可以访问盘镜像文件CentOS6.4-x86-64.iso里的所有文件了。
导入命令:cobbler import --path=/mnt/cdrom --name=CentOS6.4-x86-64
若最后提示“### TASK COMPLETE ###”,则说明导入成功,注意,name的命名不能有空格;用cobbler list查看导入的系统列表;用cobbler report查看导入系统的相关参数
十、Kickstart文件
Kickstart文件是告诉系统启动的配置文件,相关知识详见
http://bbs.51cto.com/thread-621450-1.html
http://os.chinaunix.net/a2007/0110/951/000000951814.shtml
搭建好cobbler以后,最重要的就是kickstart文件,这个脚本文件决定了安装的系统最后是什么样。
十一、 KVM虚拟机PXE网络安装及系统重装问题
详见:http://candon123.blog.51cto.com/704299/596302/
十二、 流程图
十三、 补充
Cobbler配置文件存放在/etc/cobbler下,/etc/cobbler/settings为主配置文件;
在/etc/cobbler下你还能看到dhcp、dns、pxe、dnsmasq的模板配置文件;
/etc/cobbler/users.digest为用于web访问的用户名密码配置文件;
/etc/cobbler/modules.conf为模块配置文件;
/etc/cobbler/users.conf为Cobbler WebUI/Web service授权配置文件。
Repo数据目录是/var/www/cobbler导入的发行版,repos镜像和kickstart文件都放置在/var/www/cobbler目录下。确保/var目录有足够的空间来存储这些文件。
images/ - 存放所有导入发行版的Kernel和initrd镜像用于远程网络启动。
ks_mirror/ - 存放导入的发行版
repo_mirror/ - yum repos存放目录
/var/log/cobbler用于存放日志文件/var/log/cobbler/cobbler.log
Cobbler数据目录/var/lib/cobbler,此目录存放和Cobbler profiles、systems、distros相关的配置。
configs/ -此目录用于存放distros、repos、systems和profiles相关信息
backup/ - 备份目录
snippets/- 用于放置一些可以在kickstarts导入的脚本小片段
triggers/- 此目录用来放置一些可执行脚本
kickstarts/- 此目录用来放置kickstart模板文件