Cobbler安装与配置

cobbler介绍

cobblerRedhat支持的一个开源项目,用来部署和安装系统。所以对Redhat系列os支持是比较好的。不过对ubuntu支持是非常差的。cobbler里不少设置,只针对redhat有效,同时也由于不同发行版的安装是有差异。cobbler感觉好像和ubuntu关系比较紧张.

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

目标希望实现

1.自动化安装:centosubuntu

2.采用内网的源:centos会启用epel的源,ubuntu会把源指向内网。

3.IP,网络,路由,主机名,FQDN 设置

一:准备OS

Centos 6.4,采用最小化安装就可以。设置采用默认,设置固定的IP地址。

设置hostname

vi /etc/hosts

172.16.24.170 cobbler.test.com  cobbler

关闭selinux

这个需要重启机器才能生效,所以建议修改完重启

sed -i '/SELINUX/s/enforcing/disabled/'/etc/selinux/config

关闭iptables

chkconfig iptables off

service iptables stop

: 安装cobbler

安装cobbler相关的包

如果希望cobbler可以管理dhcpdns,需要把dnsdhcp都安装在同一台服务器上。如果你不管理dns,可以不需要安装bind.

yum -y install cmantftp-server dhcp cobbler cobbler-web bind pykickstart

安装debmirror

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

yum -y install ed patchperl perl-Compress-Zlib perl-Cwd perl-Digest-MD5 \

perl-Digest-SHA1perl-LockFile-Simple perl-libwww-perl

下载debmirrors

wgethttp://mirrors.sohu.com/fedora-epel/5Server/i386/debmirror-20090807-1.el5.noarch.rpm

安装

rpm -ivhdebmirror-20090807-1.el5.noarch.rpm

三、设置cobbler

1tftp服务和rsync服务

sed -i '/disable/c\\tdisable\t\t\t= no'/etc/xinetd.d/tftp

sed -i -e 's/\=\ yes/\=\ no/g' /etc/xinetd.d/rsync

service xinetd restart

2web可以登陆

sed -i 's/authn_denyall/authn_configfile/g' /etc/cobbler/modules.conf

3、设置cobbler  web登陆,用户登陆密码

htdigest /etc/cobbler/users.digest "Cobbler" cobbler

4、设置cobbler登陆服务器地址

sed -i 's/server: 127.0.0.1/server: 172.16.24.170/g' /etc/cobbler/settings

5ks脚本关闭pxe,这样就不会重复安装

sed -i 's/pxe_just_once: 0/pxe_just_once: 1/g' /etc/cobbler/settings

6TFTP服务器 IP地址

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

7cobbler管理rsync

sed -i 's/manage_rsync: 0/manage_rsync: 1/g' /etc/cobbler/settings

8cobbler管理dhcp

sed -i 's/manage_dhcp: 0/manage_dhcp: 1/g' /etc/cobbler/settings

dhcp服务是有cobbler来管理/etc/cobbler/dhcp.template

修改下面的内容就可以,注释掉 range dynamic-bootp 。不然你内网就会出现一个dhcp服务器

subnet 172.16.24.0 netmask 255.255.255.0 {

    option routers             17216.24.1;

    option domain-name-servers 172.16.24.12;

    option subnet-mask         255.255.255.0;

    #range dynamic-bootp        172.16.24.163 172.16.24.164;

    filename                   "/pxelinux.0";

    default-lease-time         21600;

    max-lease-time             43200;

    next-server                172.16.24.170;

}

9设置root默认密码

这个设置只针对centos有效。我默认的root密码是:root123

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

$1$random-p$mzxQ/Sx848sXgvfwJCoZM0

修改/etc/cobbler/settings

#default_password_crypted:"$1$mF86/UHC$WvcIcX2t6crBz2onWxyac."

default_password_crypted:"$1$random-p$mzxQ/Sx848sXgvfwJCoZM0"

      10启动相关服务

chkconfig httpd on

chkconfig cobblerd on

chkconfig named on

chkconfig dhcpd on

/etc/init.d/httpd restart

/etc/init.d/cobblerd restart

/etc/init.d/named restart

      11、设置debmirror

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

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

      12、启动菜单

cobbler get-loaders

检查cobbler

cobbler提供一个工具,检查你的设置。看到提示,就表示全部工作都已经完成。

cobbler所有修改,需要

cobbler sync

检查

cobbler check

No configuration problems found.  All systems go.

四:web登陆

https://172.16.24.170/cobbler_web  user:cobbler 密码就是上面设置的。

cobbler的使用,主要是集中在上面几个菜单里。这里简单解析一下

Distros:这个其实就是发行版,类似Centosubuntususecentos6.2centos6.3,是不同的distros。假设我们导入一个centos6.3iso,就是增加了一个Distros

Profiles:针对Distros的设置,一个distros,可以保护多个profiles,包括不同的kickstart文件。源的设置,都是在这里设置。

Systems:针对是每个节点,这里可以指定节点的ip地址,dns name,还有就是ipmi的用户名和密码,实现远程开机,关机。这是一个重点,日后对机器的操作,全部在sytem的菜单里操作。system里,会指定节点使用哪个profile

Repos:这个主要是针对RedhatCentos有效,可以管理源,并且这些源,可以在profile里添加。比较方便。需要注意的是,对于ubuntu的源,只能在kickstart 脚本里指定。

Images:这个我没用到,看说明主要是针对不能pxe的机器,采用iso启动。

KicsstartTemplates:这是核心,cobbler内置了几个ks文件,你如果导入一个centos,系统会默认关联一个ks文件,你不需要做任何设置,就可以把os自动装完。对于ubuntu,我们就需要单独创建一个preseed文件,这些文件可以通过web管理和修改。非常方便。

Snippets:这是cobbler的精华。一些常用的设置,写成一个模块,让ks文件调用。这样更加灵活。例如centos的网络固定IP地址的设置,就是通过这里实现。

五、设置apache根目录访问

我们希望直接访问IP,就可以看到源的目录,尤其对于ubuntu的源来说,这样看起来更加规范。

# cat /etc/httpd/conf.d/welcome.conf

<LocationMatch "^/+$">

Options Indexes FollowSymLinks

   Order allow,deny

   Allow from all

</LocationMatch>

重启apache,就可以 http://ip 看到目录。实际目录是 /var/www/html/



你可能感兴趣的:(自动化)