首页 > 代码库 > 运维自动化之使用Cobbler自动化安装系统

运维自动化之使用Cobbler自动化安装系统

一、Cobbler介绍

1.1 关于Cobbler

  Cobbler是一个快速网络安装linux和windows的服务,使用简单的命令即可完成PXE网络安装环境的配置,同时还可以管理DHCP、DNS、以及yum仓库、构造系统ISO镜像。

  Cobbler支持命令行管理,web界面管理,还提供了API接口,可以方便二次开发使用。

  Cobbler客户端Koan支持虚拟机安装和操作系统重新安装,使重装系统更便捷。

   Cobbler提供以下服务集成:

* PXE服务支持

* DHCP服务管理

* DNS服务管理

* 电源管理

* Kickstart服务支持

* yum仓库管理

1.2 系统版本支持

  Cobbler最初是支持系统版本Fedora, Red Hat和衍生版本,如CentOS 和Scientific Linux.现在对Debian 和Ubuntu SuSE支持也相当强。还支持FreeBSD、ESXI等。

    koan 在Fedora, Red Hat Enterprise Linux, or CentOS工作正常,其他Linux版本应该也不错。

Cobbler工作流程:

wKioL1Rq8yLwVLREAAGUb1ITzHc090.jpg


二、安装Cobbler

2.1  安装EPEL源

默认的光盘中没有cobbler软件,必须在yum仓库中设置第三方的软件源,才能安装cobbler等软件。这里用的epel软件源

 

什么是epel

 

EPEL(http://fedoraproject.org/wiki/EPEL) 是由 Fedora 社区打造,为 RHEL 及衍生发行版如 CentOS、Scientific Linux 等提供高质量软件包的项目。

 

CentOS 5 i386:

rpm -ivh http://dl.fedoraproject.org/pub/epel/5/i386/epel-release-5-4.noarch.rpm

 

CentOS 5 x86_64

rpm -ivh http://dl.fedoraproject.org/pub/epel/5/x86_64/epel-release-5-4.noarch.rpm


CentOS 6 i386:

rpm -ivh http://dl.fedoraproject.org/pub/epel/6/i386/epel-release-6-7.noarch.rpm

 

CentOS 6 x86_64:

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

2.2  yum安装cobbler

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

2.3  配置Cobbler

sed -i ‘s/next_server: 127.0.0.1/next_server: 192.168.5.101/g‘ /etc/cobbler/settings 

sed -i ‘s/server: 127.0.0.1/server: 192.168.5.101/g‘ /etc/cobbler/settings sed -i ‘s/manage_dhcp: 0/manage_dhcp: 1/g‘ /etc/cobbler/settings  

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

 

/etc/cobbler/settings  #Cobbler主配置文件

 

配置前后内容对比  

diff   /etc/cobbler/settings /etc/cobbler/settings_2013-10-17   

218c218  

< manage_dhcp: 1  #启用cobbler管理DHCP功能  

---  

> manage_dhcp: 0  

237c237  

< manage_rsync: 1 #启用cobbler管理rsync功能  

---  

> manage_rsync: 0  

248c248  

< next_server: 192.168.5.101 # DHCP服务地址  

---  

> next_server: 127.0.0.1  

360c360  

< server: 192.168.5.101 # cobbler服务地址  

---  

> server: 127.0.0.1  

2.4 检查、关闭SELinux、iptables

sed -i ‘s/SELINUX=enforcing/SELINUX=disabled/g‘ /etc/selinux/config

setenforce 0

 

chkconfig ip6tables off 

chkconfig iptables off 

/etc/init.d/ip6tables stop 

/etc/init.d/iptables stop 

2.5 配置tftp、rsync

设置 ‘disable‘ 为 ‘no‘  

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

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

2.6 启用wsgi模块

sed  -i ‘s@#LoadModule@LoadModule@g‘ /etc/httpd/conf.d/wsgi.conf 

2.7 生成Cobbler安装系统root初始密码

这里生成密钥和配置默认密钥,ks文件引用  


openssl passwd -1 -salt ‘random-phrase-here‘ ‘123456‘  

$1$random-p$mzxQ/Sx848sXgvfwJCoZM0

 

加入cobbler配置

 

vim /etc/cobbler/settings

grep default_password_crypted  /etc/cobbler/settings

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

2.8 配置DHCP

cp  /etc/cobbler/dhcp.template  /etc/cobbler/dhcp.template.$(date +%F) #备份 

vim /etc/cobbler/dhcp.template 

 

ddns-update-style interim;

allow booting;

allow bootp;

 

ignore client-updates;

set vendorclass = option vendor-class-identifier;

 

subnet 192.168.5.0 netmask 255.255.255.0 {

     option routers             192.168.5.1;

     option domain-name-servers 202.106.0.20;

     option subnet-mask         255.255.255.0;

     range dynamic-bootp        192.168.5.180 192.168.5.200;

     filename                   "/pxelinux.0";

     default-lease-time         21600;

     max-lease-time             43200;

     next-server                $next_server;

}

2.9 配置相关服务开机自启动

/sbin/service httpd start

/sbin/service dhcpd start

/sbin/service xinetd start

/sbin/service cobblerd start

 

/sbin/chkconfig httpd on

/sbin/chkconfig dhcpd on

/sbin/chkconfig xinetd on

/sbin/chkconfig tftp on

/sbin/chkconfig cobblerd on

2.10  下载引导操作系统文件

cobbler get-loaders 

2.11  配置debmiror

yum -y install debmirror  

修改 /etc/debmirror.conf 配置文件,注释掉 @dists 和 @arches 两行  

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

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

2.12  检查Cobbler 配置

cobbler check  

configuration problems found.  All systems go. #出现此提示即正常

cobblerd does not appear to be running/accessible #此提示是因为cobbler服务没启动 

cobbler check出现的相关报错处理看下面步骤

2.13  同步配置

cobbler sync 

三、配置管理Cobbler

3.1  Cobbler命令说明

命令名称

命令用途

cobbler check

检查cobbler配置

cobbler list

列出所有的cobbler元素

cobbler report

列出元素的详细信息

cobbler distro

查看导入的发行版系统信息

cobbler system

查看添加的系统信息

cobbler profile

查看配置信息

cobbler sync

同步Cobbler配置,更改配置最好都要执行下

cobbler reposync

同步yum仓库


命令参考

cobbler --help

cobbler distro --help

cobbler distro add --help

3.2  Cobbler配置文件说明

Cobbler配置文件存放在/etc/cobbler下

 

配置文件名称

作    用

/etc/cobbler/settings

Cobbler主配置文件

/etc/cobbler/users.digest

用于web访问的用户名密码配置文件

/etc/cobbler/modules.conf

模块配置文件

/etc/cobbler/users.conf

Cobbler WebUI/Web 服务授权配置文件

/etc/cobbler/iso/

Buildiso 模板配置文件

/etc/cobbler/power

电源配置文件

/etc/cobbler/pxe

Pxeprofile配置模板

/etc/cobbler

此目录也包含rsync、dhcp、dns、pxe、dnsmasq等服务的模板配置文件

3.3  系统镜像数据目录/var/www/cobbler

导入的系统发行版,repos镜像和kickstart文件都放置在/var/www/cobbler目录下。确保/var目录有足够的空间来存储这些文件。

 

目录名称

作    用

/var/www/cobbler/images/

存储所有导入发行版的Kernel和initrd镜像用于远程网络启动

/var/www/cobbler/ks_mirror/

存储导入的发行版系统数据

/var/www/cobbler/repo_mirror/

仓库存储目录

/var/log/cobbler

Cobbler日志文件 cobbler.log install.log

3.4  Cobbler数据目录/var/lib/cobbler

此目录存储和Cobbler profiles、systems、distros相关的配置。

 

目录名称

作    用

/var/lib/cobbler/config/

存放distros、repos、systems和profiles等信息配置文件,一般都是json文件

/var/lib/cobbler/snippets/

存放ks文件可以导入的脚本小片段,值得研究

/var/lib/cobbler/triggers

存放用户定义的cobbler 命令

/var/lib/cobbler/kickstarts/

存放kickstart配置文件

3.5 相关日志文件

web日志存放点

/var/log/httpd/access_log

/var/log/httpd/error_log

 

/var/log/httpd/ssl_access_log

/var/log/httpd/ssl_error_log

 

Cobbler日志

/var/log/cobbler/cobbler.log

/var/log/cobbler/install.log

 

通过Cobbler日志可以获取系统的安装状态

3.6 导入系统镜像

3.6.1 上传ISO镜像至服务器

注意下载的ISO文件要核对文件的md5值,确保数据完整性

md5sum CentOS-5.8-x86_64-bin-DVD-1of2.iso

8a3bf0030f192022943f83fe6b2cf373 CentOS-5.8-x86_64-bin-DVD-1of2.iso

3.6.2 创建ISO目录 

mkdir -p /var/iso/Linux/Centos/x86_64/

mkdir -p /var/os/Linux/Centos/x86_64/Centos5.8/dvd

mkdir -p /var/os/Linux/Centos/x86_64/Centos6.3/dvd  

mkdir -p /var/os/Linux/Centos/x86_64/Centos6.4/dvd

3.6.3 挂载ISO镜像

mount -o loop /var/iso/Linux/Centos/x86_64/CentOS-5.8-x86_64-bin-DVD-1of2.iso   /var/os/Linux/Centos/x86_64/Centos5.8/dvd

3.6.4 从DVD中导入OS数据

系统版本命名为centos5.8 架构x86_64,这时间长,耐性等待。可查看ls /var/www/cobbler/ks_mirror/centos5.8-x86_64/目录文件生成情况。


cobbler import --path=/var/os/Linux/Centos/x86_64/Centos5.8/dvd --name=centos5.8 --arch=x86_64 

3.6.5 列出导入后的配置

cobbler list

 

distros:

   centos5.8-x86_64

   centos5.8-xen-x86_64

   centos6.3-x86_64

   centos6.4-x86_64

 

profiles:

   centos5.8-x86_64

   centos5.8-xen-x86_64

   centos6.3-x86_64

   centos6.4-x86_64

 

systems:

repos:

images:

mgmtclasses:

packages:

files:

列出详细信息可以使用cobbler report

3.6.6 比对大小,确保数据的完整性

du -sh /var/www/cobbler/ks_mirror/centos5.8-x86_64/  

4.1G    /var/www/cobbler/ks_mirror/centos5.8-x86_64/

du -sh /var/os/Linux/Centos/x86_64/Centos5.8/dvd/

4.3G    /var/os/Linux/Centos/x86_64/Centos5.8/dvd/

3.6.7  CentOS6.3、6.4导入过程

CentOS6.3

mount -o loop   /var/iso/Linux/Centos/x86_64/CentOS-6.3-x86_64-bin-DVD1.iso /var/os/Linux/Centos/x86_64/Centos6.3/dvd/

 

cobbler import --path=/var/os/Linux/Centos/x86_64/Centos6.3/dvd/ --name=centos6.3 --arch=x86_64   

 

CentOS6.4

mount -o loop   /var/iso/Linux/Centos/x86_64/CentOS-6.4-x86_64-bin-DVD1.iso /var/os/Linux/Centos/x86_64/Centos6.4/dvd/ 

cobbler import --path=/var/os/Linux/Centos/x86_64/Centos6.4/dvd/ --name=centos6.4 --arch=x86_64   

3.7 删除导入的系统

cobbler profile find --distro=centos6.3-x64-x86_64 #查看配置是否存在

centos6.3-x64-x86_64

cobbler profile remove --name=centos6.3-x64-x86_64 #删除配置文件

 

cobbler distro remove --name=centos6.3-x64-x86_64 #删除distro

cobbler profile find --distro=centos6.3-x64-x86_64 #再查看配置已无

3.8 自定义ks

更改kickstart文件,可为http等,具体cobbler --help查看,这里采用自定制ks文件 

ks目录位置

/var/lib/cobbler/kickstarts/

默认的ks位置

/var/lib/cobbler/kickstarts/sample.ks

更改指定系统版本对应的ks配置文件

cobbler profile edit --name=centos5.8-x86_64    --kickstart=/var/lib/cobbler/kickstarts/centos5u8-x64.cfg

 

cobbler profile edit --name=centos6.3-x86_64    --kickstart=/var/lib/cobbler/kickstarts/centos6u3-x64.cfg

 

cobbler profile edit --name=centos6.4-x86_64    --kickstart=/var/lib/cobbler/kickstarts/centos6u4-x64.cfg  

3.9 配置信息查看

cobbler report

3.10 系统版本列表

cobbler distro list

3.11 同步Cobbler配置

建议先执行cobbler check进行配置检查再执行cobbler sync,修改cobbler配置后都需要执行此步骤

cobbler check

No configuration problems found. All systems go.

 

cobbler sync


task started: 2013-03-12_171702_sync

task started (id=Sync, time=Tue Mar 12 17:17:02 2013)

running pre-sync triggers

cleaning trees

……略……

rendering Rsync files

running post-sync triggers

running python triggers from /var/lib/cobbler/triggers/sync/post/*

running python trigger cobbler.modules.sync_post_restart_services

running: dhcpd -t -q

received on stdout:

received on stderr:

running: service dhcpd restart

received on stdout: Shutting down dhcpd: [ OK ]

Starting dhcpd: [ OK ]

 

received on stderr:

running shell triggers from /var/lib/cobbler/triggers/sync/post/*

running python triggers from /var/lib/cobbler/triggers/change/*

running python trigger cobbler.modules.scm_track

running shell triggers from /var/lib/cobbler/triggers/change/*

*** TASK COMPLETE ***

3.12 创建PXE菜单密码

增加装机安全设置菜单密码

 

生成hash密码

支持两种不同类型的密码:

sha1pass mypassword

openssl passwd -1 -salt sXiKzkus mypassword

这里选择后者

# openssl passwd -1 -salt sXiKzkus 密码

 

编辑配置文件pxedefault,添加如下红色部分

vim /etc/cobbler/pxe/pxedefault.template

 

DEFAULT menu

PROMPT 0

MENU TITLE Cobbler | http://fedorahosted.org/cobbler

MENU MASTER PASSWD $1$sXiKzkus$2DoZ6pfTe8rrc0Si60ecB/

TIMEOUT 200

TOTALTIMEOUT 6000

ONTIMEOUT $pxe_timeout_profile

 

LABEL local

        MENU LABEL (local)

        MENU DEFAULT

        LOCALBOOT -1

 

$pxe_menu_items

 

MENU end

 

配置pxeprofile,增加红色部分

vim /etc/cobbler/pxe/pxeprofile.template

LABEL $profile_name

        MENU PASSWD

        kernel $kernel_path

        $menu_label

        $append_line

        ipappend 2

 

修改完毕注意检查、同步配置使其生效

cobbler check

 

cobbler sync

PXE装机时选择装机系统版本,输入装机密码,效果图


wKioL1Rq82ryrBKLAAC3f66TljE421.jpg

3.13 定制PXE菜单TITLE

编辑pxedefault文件,

vim /etc/cobbler/pxe/pxedefault.template

MENU TITLE Cobbler | http://fedorahosted.org/cobbler

将原文上面的内容根据自定义进行修改

MENU TITLE Centos Automation Install System

修改后的文件

DEFAULT menu

PROMPT 0

MENU TITLE Centos Automation Install System

MENU MASTER PASSWD $1$sXiKzkus$2DoZ6pfTe8rrc0Si60ecB/

TIMEOUT 200

TOTALTIMEOUT 6000

ONTIMEOUT $pxe_timeout_profile

 

LABEL local

        MENU LABEL (local)

        MENU DEFAULT

        LOCALBOOT -1

 

$pxe_menu_items

 

MENU end

修改完毕执行如下两条命令

cobbler check

 

cobbler sync

 

3.14 添加指定客户机系统配置到Cobbler

3.14.1 指定一个网段使用特定的装机配置

cobbler system add --name=network --ip=172.17.188.0/16 --profile=centos5.8-x86_64

3.14.2 添加一个指定服务器的装机配置

指定服务器就是绑定它的mac地址,并设置好ip、dns、hostname

定义系统

cobbler system add --name=host-188116 --hostname=host-188116 --mac=00:19:B9:E5:34:FE --interface=eth0 --ip-address=172.17.188.116 --subnet=255.255.0.0 --gateway=172.17.188.1 --static=1 --profile=centos5.8-x86_64  

查看定义的系统列表

cobbler system list

   host-188116

 

更多参数见cobbler system add  --help

 

四、yum仓库配置管理

4.1 首先导入系统镜像

导入完毕后,进行下面的步骤

4.2 添加镜像

base、updates库使用163的repo源并增加EPEL库

base

cobbler repo add --name=centos5.8-x86_64-Base --mirror=http://mirrors.163.com/centos/5/os/x86_64/

将定义的仓库大写名字Base修改为小写base

cobbler repo edit --name=centos5.8-x86_64-base --mirror=http://mirrors.163.com/centos/5/os/x86_64/ --arch=x86_64 --breed=yum

updates

cobbler repo add --name=centos5.8-x86_64-updates --mirror=http://mirrors.163.com/centos/5/updates/x86_64/ --arch=x86_64 --breed=yum

添加EPEL仓库

cobbler repo add --name=centos5.8-x86_64-epel --mirror=http://mirrors.ustc.edu.cn/epel/5/x86_64/ --arch=x86_64 --breed=yum

4.3 同步yum仓库内容到本地

时间较长,注意磁盘容量是否满足。

cobbler reposync

task started: 2013-03-26_111553_reposync

task started (id=Reposync, time=Tue Mar 26 11:15:53 2013)

hello, reposync

run, reposync, run!

creating: /var/www/cobbler/repo_mirror/centos5.8-x86_64-updates/.origin/centos5.8-x86_64-updates.repo

running: /usr/bin/reposync -l -m -d --config=/var/www/cobbler/repo_mirror/centos5.8-x86_64-updates/.origin/centos5.8-x86_64-updates.repo --repoid=centos5.8-x86_64-updates --download_path=/var/www/cobbler/repo_mirror -a x86_64

………………略…………………………

received on stdout:

received on stderr:

*** TASK COMPLETE ***

4.4  repo添加到profle

安装系统时会自动添加仓库配置

cobbler profile edit --name=centos5.8-x86_64 --repos="centos5.8-x86_64-base centos5.8-x86_64-epel centos5.8-x86_64-updates" --distro=centos5.8-x86_64  --kickstart=/var/lib/cobbler/kickstarts/centos5u8-x64.cfg

 

删除仓库配置

cobbler repo remove  --name=centos5.8-x86_64- updates

4.5 添加更新仓库源计划任务

cobbler reposync --tries=3 --no-fail

 

加入crontab 每周日更新一次即可

echo  "0 2  * *  0 cobbler reposync --tries=3 --no-fail" >> /var/spool/cron/root

 

注意检查crond是否启动

/etc/init.d/crond status

crond is stopped

/etc/init.d/crond start

chkconfig crond on  

4.6 装机自动配置yum

如果想安装系统时自动配置yum,请进行以下配置。

vim /etc/cobbler/settings

yum_post_install_mirror: 1

在装机脚本ks文件加入以下内容

%post

# Start yum configuration

$yum_config_stanza

# End yum configuration

 

下面的参数PXE安装系统是会引用添加的cobbler repo配置

注意可能将系统、应用部署到较新版本,根据情况而配置

$yum_repo_stanza

这两个参数都来自Kickstart snippets,很值得研究https://github.com/cobbler/cobbler/wiki/Kickstart-snippets

 

系统安装自动配置的yum

cat /etc/yum.repos.d/cobbler-config.repo  

[core-0]

name=core-0

baseurl=http://192.168.5.101/cobbler/ks_mirror/centos5.8-x86_64

enabled=1

gpgcheck=0

priority=1

 

 

[centos5.8-x86_64-base]

name=centos5.8-x86_64-base

baseurl=http://192.168.5.101/cobbler/repo_mirror/centos5.8-x86_64-base

enabled=1

priority=99

gpgcheck=0

 

 

[centos5.8-x86_64-epel]

name=centos5.8-x86_64-epel

baseurl=http://192.168.5.101/cobbler/repo_mirror/centos5.8-x86_64-epel

enabled=1

priority=99

gpgcheck=0

 

 

[centos5.8-x86_64-updates]

name=centos5.8-x86_64-updates

baseurl=http://192.168.5.101/cobbler/repo_mirror/centos5.8-x86_64-updates

enabled=1

priority=99

gpgcheck=0

五、Cobbler安装操作系统

5.1 安装完系统后默认的密码

这个密码 $default_password_crypted 就是步骤3.6使用openssl passwd -1 生成的密码

 

grep rootpw /var/lib/cobbler/kickstarts/sample.ks

rootpw --iscrypted $default_password_crypted

5.2  PXE菜单文件

默认菜单文件内容

cat /tftpboot/pxelinux.cfg/default

DEFAULT menu

PROMPT 0

MENU TITLE Centos Automation Install System

TIMEOUT 150

TOTALTIMEOUT 6000

ONTIMEOUT local

 

LABEL local

        MENU LABEL (local)

        MENU DEFAULT

        LOCALBOOT -1

 

LABEL centos5.8-x86_64

        kernel /images/centos5.8-x86_64/vmlinuz

        MENU LABEL centos5.8-x86_64

        append initrd=/images/centos5.8-x86_64/initrd.img ksdevice=bootif lang= kssendmac text  ks=http://192.168.5.101/cblr/svc/op/

ks/profile/centos5.8-x86_64

        ipappend 2

指定系统的菜单文件内容

cat /tftpboot/pxelinux.cfg/01-00-19-b9-e5-34-fe

default linux

prompt 0

timeout 1

label linux

        kernel /images/centos5.8-x86_64/vmlinuz

        ipappend 2

        append initrd=/images/centos5.8-x86_64/initrd.img ksdevice=bootif lang= kssendmac text  ks=http://192.168.5.101/cblr/svc/op/ks/system/host-188116

5.3 安装系统

将需要安装系统的服务器网卡启用PXE,启动服务器从PXE引导

默认从本地硬盘引导,可以修改,建议还是保持此默认。spacer.gifwKiom1Rq8y-Dg4YLAAC7m_O5ONU538.jpg

选择安装系统centos5.8 即可自动安装系统

Tab键,可以对启动项参数进行编辑

安装源数据说明:

系统centos5.8-x86_64的安装系统数据源,其他系统同理

链接

https://url/cblr/links/centos5.8-x86_64/

目录

/var/www/cobbler/links/centos5.8-x86_64/

是一个链接目录,实际位置如下

ll links/

total 0

lrwxrwxrwx 1 root root 43 Mar 12 13:41 centos5.8-x86_64 -> /var/www/cobbler/ks_mirror/centos5.8-x86_64

5.4 使用Koan重装系统

koan是cobbler的一个辅助工具,koan是kickstart-over-a-network的缩写安装在客户端的使用,koan配合cobbler实现快速重装linux。

koan 在Fedora, Red Hat Enterprise Linux, 和 CentOS工作正常,其他Linux版本应该也不错

koan的相关脚本在此目录内/usr/lib/python2.4/site-packages/koan/

通过EPEL安装的koan版本为koan-2.2.3-2.el5,使用中报错较多,此版本比较稳定koan-1.6.6-1.el5,下载链接ftp://rpmfind.net/linux/epel/5/i386/koan-1.6.6-1.el5.noarch.rpm 

关于Koan更多内容见https://github.com/cobbler/cobbler/wiki/Koan

5.4.1 安装koan

在重装的机器上安装koan

Rpm -ivh koan-1.6.6-1.el5.noarch.rpm

5.4.2 列出远程cobbler上的系统版本对象

koan --server=192.168.5.101 --list=profiles

- looking for Cobbler at http://192.168.5.101:80/cobbler_api

centos5.8-xen-x86_64

centos6.4-x86_64

centos5.8-x86_64

centos6.3-x86_64

 

koan --server=192.168.5.101 --list=systems

- looking for Cobbler at http://192.168.5.101/cobbler_api

host-188116

 

koan --server=192.168.5.101 --list=images

5.4.3 学习更多关于远程Cobbler对象信息

koan --server=192.168.5.101 --display --profile=centos5.8-x86_64    

- looking for Cobbler at http://192.168.5.101:80/cobbler_api

- reading URL: http://192.168.5.101/cblr/svc/op/ks/profile/centos5.8-x86_64

install_tree: http://192.168.5.101/cblr/links/centos5.8-x86_64

                name  : centos5.8-x86_64

              distro  : centos5.8-x86_64

           kickstart  : http://192.168.5.101/cblr/svc/op/ks/profile/centos5.8-x86_64

             ks_meta  : tree=http://@@http_server@@/cblr/links/centos5.8-x86_64

        install_tree  : http://192.168.5.101/cblr/links/centos5.8-x86_64

              kernel  : /var/www/cobbler/ks_mirror/centos5.8-x86_64/images/pxeboot/vmlinuz

              initrd  : /var/www/cobbler/ks_mirror/centos5.8-x86_64/images/pxeboot/initrd.img

      kernel_options  : ks=http://192.168.5.101/cblr/svc/op/ks/profile/centos5.8-x86_64 ksdevice=link kssendmac

               repos  : centos5.8-x86_64-base centos5.8-x86_64-epel centos5.8-x86_64-updates

            virt_ram  : 512

    virt_disk_driver  : raw

           virt_type  : qemu

           virt_path  :

      virt_auto_boot  : 1

 

koan --server=192.168.5.101 --display --system=host-188116

- looking for Cobbler at http://192.168.5.101/cobbler_api

- reading URL: http://192.168.5.101/cblr/svc/op/ks/system/host-188116

install_tree: http://192.168.5.101/cblr/links/centos5.8-x86_64

                name  : host-188116

              distro  : centos5.8-x86_64

             profile  : centos5.8-x86_64

           kickstart  : http://192.168.5.101/cblr/svc/op/ks/system/host-188116

             ks_meta  : tree=http://@@http_server@@/cblr/links/centos5.8-x86_64

        install_tree  : http://192.168.5.101/cblr/links/centos5.8-x86_64

              kernel  : /var/www/cobbler/ks_mirror/centos5.8-x86_64/images/pxeboot/vmlinuz

              initrd  : /var/www/cobbler/ks_mirror/centos5.8-x86_64/images/pxeboot/initrd.img

      kernel_options  : ks=http://192.168.5.101/cblr/svc/op/ks/system/host-188116 ksdevice=link kssendmac

               repos  : centos5.8-x86_64-base centos5.8-x86_64-epel centos5.8-x86_64-updates

            virt_ram  : 512

           virt_type  : qemu

           virt_path  :

 

koan --server=192.168.5.101 --display --system=host-188116

- looking for Cobbler at http://192.168.5.101/cobbler_api

- reading URL: http://192.168.5.101/cblr/svc/op/ks/system/host-188116

install_tree: http://192.168.5.101/cblr/links/centos5.8-x86_64

                name  : host-188116

              distro  : centos5.8-x86_64

             profile  : centos5.8-x86_64

           kickstart  : http://192.168.5.101/cblr/svc/op/ks/system/host-188116

             ks_meta  : tree=http://@@http_server@@/cblr/links/centos5.8-x86_64

        install_tree  : http://192.168.5.101/cblr/links/centos5.8-x86_64

              kernel  : /var/www/cobbler/ks_mirror/centos5.8-x86_64/images/pxeboot/vmlinuz

              initrd  : /var/www/cobbler/ks_mirror/centos5.8-x86_64/images/pxeboot/initrd.img

      kernel_options  : ks=http://192.168.5.101/cblr/svc/op/ks/system/host-188116 ksdevice=link kssendmac

               repos  : centos5.8-x86_64-base centos5.8-x86_64-epel centos5.8-x86_64-updates

            virt_ram  : 512

           virt_type  : qemu

           virt_path  :

 

koan --server=192.168.5.101 --display --image=name

5.4.4 重新安装客户端系统

koan -r  --server=192.168.5.101  --profile=centos5.8-x86_64

- looking for Cobbler at http://192.168.5.101:80/cobbler_api

- reading URL: http://192.168.5.101/cblr/svc/op/ks/profile/centos5.8-x86_64

install_tree: http://192.168.5.101/cblr/links/centos5.8-x86_64

downloading initrd initrd.img to /boot/initrd.img_koan

url=http://192.168.5.101/cobbler/images/centos5.8-x86_64/initrd.img

- reading URL: http://192.168.5.101/cobbler/images/centos5.8-x86_64/initrd.img

downloading kernel vmlinuz to /boot/vmlinuz_koan

url=http://192.168.5.101/cobbler/images/centos5.8-x86_64/vmlinuz

- reading URL: http://192.168.5.101/cobbler/images/centos5.8-x86_64/vmlinuz

- [‘/sbin/grubby‘, ‘--add-kernel‘, ‘/boot/vmlinuz_koan‘, ‘--initrd‘, ‘/boot/initrd.img_koan‘, ‘--args‘, ‘"ks=http://192.168.5.101/cblr/svc/op/ks/profile/centos5.8-x86_64 ksdevice=link kssendmac "‘, ‘--copy-default‘, ‘--make-default‘, ‘--title=kick1364289618‘]

- reboot to apply changes

 

注意:输入此命令重启后,不能再中止重装,重启后自动进入pxe装机。

reboot

执行reboot命令重启服务器后,客户端服务器会自动重新安装操作系统,无需人工干预

5.4.5 重新安装指定客户机系统

步骤3.11已经添加指定客户机配置,在这里使用配置为指定的服务器安装操作系统

koan -r  --server=192.168.5.101  --system=host-188116         

- looking for Cobbler at http://192.168.5.101/cobbler_api

- reading URL: http://192.168.5.101/cblr/svc/op/ks/system/host-188116

install_tree: http://192.168.5.101/cblr/links/centos5.8-x86_64

downloading initrd initrd.img to /boot/initrd.img

url=http://192.168.5.101/cobbler/images/centos5.8-x86_64/initrd.img

- reading URL: http://192.168.5.101/cobbler/images/centos5.8-x86_64/initrd.img

downloading kernel vmlinuz to /boot/vmlinuz

url=http://192.168.5.101/cobbler/images/centos5.8-x86_64/vmlinuz

- reading URL: http://192.168.5.101/cobbler/images/centos5.8-x86_64/vmlinuz

- [‘/sbin/grubby‘, ‘--add-kernel‘, ‘/boot/vmlinuz‘, ‘--initrd‘, ‘/boot/initrd.img‘, ‘--args‘, ‘"ks=http://192.168.5.101/cblr/svc/op/ks/system/host-188116 ksdevice=link kssendmac "‘, ‘--copy-default‘, ‘--make-default‘, ‘--title= kick1364390697‘]

- reboot to apply changes

[root@host-d-116 ~]# reboot


系统重启看到kick1364390697与上面命令生成的相同,重装过程同上

 wKioL1Rq8-3TzZElAABUs14QSeA373.jpg

六、Cobbler Web管理

Cobbler web界面是一个很好的前端,非常容易管理Cobbler

可以添加和删除 system distro profile 

可以查看、编辑distros, profiles, subprofiles, systems, repos 、 kickstart文件

6.1 安装cobbler_web

yum -y install cobbler-web

6.2 设置用户名密码

为已存在的用户cobbler重置密码

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

添加新用户

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

6.3 配置cobbler web可以登录

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

6.4 重启Cobbler与http

/etc/init.d/cobblerd restart 

/etc/init.d/httpd restart

6.5 访问Cobbler Web页面

浏览器访问登录页面https://192.168.5.101/cobbler_web

输入用户名密码

wKioL1Rq9CGDoW1LAABqFRmvfHg584.jpg
登录后的页面

wKiom1Rq86zTJSSYAADx8nM8hJY207.jpg


运维自动化之使用Cobbler自动化安装系统