cobbler无人值守安装及kickstart定制centos6

一、cobbler工作原理

cobbler 实现自动化安装OS,是依赖于:网卡的PXE技术(dhcp client、tftp client ) + anaconda(linux上安装操作系统的程序) + dhcp(为需要安装操作系统的主机分配IP) + tftp(提供基于网卡引导时所需要的启动文件) + httpd(os install tree 的存放位置 ) 实现的。

cobbler不仅仅是一个pxe服务器,他还可以管理dns(bind),dhcp。一般数据中心里或者生产环境,是不允许dhcp, 但是pxe,必须需要dhcp,所以我们需要根据mac地址来分配IP,这样dhcp就不会影响到网络.

二、安装和cobbler配置

1.Cobbler不在CentOS的基本源中,需要导入EPEL源升级软件包,

# rpm -Uvh http://download.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm

安装完运行yum报错:

Error: Cannot retrieve metalink for repository: epel. Please verify its path and try again

解决方法

vim /etc/yum.repos.d/epel.repo

编辑[epel]下的baseurl前的#号去掉,mirrorlist前添加#号。

2. yum安装cobbler包

# yum -y install cman tftp-server dhcp cobbler cobbler-web pykickstart

3.下载安装debmirror

需要用debmirror来下载ubuntu 12.04的源,做本地源.目前debmirrors, 先装依赖包

#yum -y install ed patch perl perl-Compress-Zlib perl-Cwd perl-Digest-MD5 perl-Digest-SHA1 perl-LockFile-Simple perl-libwww-perl

#wget http://mirrors.sohu.com/fedora-epel/6Server/x86_64/debmirror-2.14-2.el6.noarch.rpm

#rpm -ivh debmirror-2.14-2.el6.noarch.rpm

三、配置cobbler

1.关闭SELinux和防火墙

# vi /etc/sysconfig/selinux

SELINUX=enforcing更改为SELINUX=disabled

# reboot

2.修改cobbler配置

# vi /etc/cobbler/setting

'next_server: 127.0.0.1' 替换本机IP地址 (DHCP服务地址)

'server: 127.0.0.1' 替换本机IP地址(cobbler服务地址)

'manage_dhcp: 0' 替换为 1(cobbler管理dhcp,后面用于同步更新配置信息[cobbler sync])

'manage_rsync: 0' 替换为 1 (cobbler管理rsync功能)

3.启动菜单

# cobbler get-loaders

5.配置tftp和rsync服务

# vi /etc/xinetd.d/tftp

修改成:disable=no

# vi /etc/xinetd.d/rsync

修改成:disable=no

6.修改DHCP模板(注释掉range dynamic-bootp 。不然你内网就会出现一个dhcp服务器)

# vi /etc/cobbler/dhcp.template

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 192.168.1.0 netmask 255.255.255.0 {

option routers 192.168.1.1;

option domain-name-servers 192.168.1.1;

option subnet-mask 255.255.255.0;

#range dynamic-bootp 192.168.1.100 192.168.1.254;

default-lease-time 21600;

max-lease-time 43200;

filename "/pxelinux.0";

next-server $next_server;

7.修改cobbler的默认密码(root账户密码)

用 openssl 生成一串密码后加入到 cobbler 的配置文件(/etc/cobbler/settings)里,替换 default_password_crypted 字段:

# openssl passwd -1 -salt 'random-phrase-here' 'root365'

$1$random-p$VmHqWoGjEnkSI5r2JIfZX0

# vi /etc/cobbler/settings

default_password_crypted: "$1$random-p$VmHqWoGjEnkSI5r2JIfZX0"

注意:这里保存的密码,将会用于批量部署机器中,root账户的登录密码。

8.设置debmirror

sed -i -e 's|@dists=.*|#@dists=|'  /etc/debmirror.conf

sed -i -e 's|@arches=.*|#@arches=|'  /etc/debmirror.conf

9.启动服务及检查cobbler环境

#chkconfig httpd on 

#chkconfig cobblerd on

#chkconfig dhcpd on

#/etc/init.d/httpd restart

#/etc/init.d/cobblerd restart

#/etc/init.d/dhcpd restart

# cobbler sync (对cobbler所有修改,需要执行)

# cobbler check

四、创建distro

1. 挂载ISO镜像到/meida 目录

#mount -t iso9660 -o loop CentOS-6.4-x86_64-bin-DVD1.iso /media

2.从iso中导入OS,并将其命名为Centos6.4

#cobbler import --path=/media --name=centos6.4 --arch=x86_64

这需要一点时间,不要急。可查看/var/www/cobbler/ks_mirror/centos6.2-x86_64/目录文件生成情况

# cobbler sync

# cobbler list

distros:(通过distro找到安装的发行版)

centos6.4-x86_64

profiles:

systems:

repos:

images:

mgmtclasses:

packages:

files:

3.删除创建的distro

#cobbler distro remove --name=centos6.4-x86_64

4.管理profile(通过设置的profile找到kickstart文件,如果没有指定kickstart默认找/var/lib/cobbler/kickstarts/sample.ks,最后完成自动安装)

cobbler使用profile来为特定的需求类别提供所需要安装配置,即在distro的基础上通过提供kickstart文件来生成一个特定的系统安装配置。

distro的profile可以出现在PXE的引导菜单中作为安装的选择之一。

因此,如果需要为前面创建的centos-6.4-x86_64这个distro提供一个可引导安装条目,指定kickstart文件

#cobbler profile add --name=centos-6.4-x86_64-basic --distro=centos-6.4-x86_64 --kickstart=/var/lib/cobbler/kickstarts/ks_basic.cfg

5.删除创建的profile

#cobbler profile remove --name=centos-6.4-x86_64-basic

#cobbler report(进行信息查看)

五、部署测试

创建一台虚拟机测试一下,把虚拟机设置成网络 PXE 启动

你可能感兴趣的:(centos,pxe,cobbler)