DayDayUP_Linux运维学习_cobbler安装教程

预备知识
一、PXE 概述
预启动执行环境(Preboot eXecution Environment,PXE,也被称为预执行环境)是让计算机通过网卡独立地使用数据设备(如硬盘)或者安装操作系统。PXE当初是作为Intel的有线管理体系的一部分,Intel和 Systemsoft于1999年9月20日公布其规格(版本2.1)。通过使用像网际协议(IP)、用户数据报协议(UDP)、动态主机设定协定(DHCP)、小型文件传输协议(TFTP)等几种网络协议和全局唯一标识符(GUID)、通用网络驱动接口(UNDI)、通用唯一识别码(UUID)的概念并通过对客户机(通过PXE自检的电脑)固件扩展预设的API来实现目的。PXE 客户机(client)这个术语是指机器在PXE启动过程中的角色。一个PXE 客户机(client)可以是一台服务器、桌面级电脑、笔记本电脑或者其他装有PXE启动代码的机器。
客户机的固件为接受到可用的PXE启动服务器,要在网络中尝试找出PXE重定向服务(DHCP代理)。在分析返回的包后,固件会向合适的启动服务器询问网络自检程序(NBP)的路径,并且通过TFTP协议下载到电脑的内存中,有可能会去校验它,最后执行它。当只有全部的PXE 客户机(client)只使用一个NBP时,全部的PXE 客户机可能会被指定是用BOOTP协议,从而不需要DHCP代理,但是仍然需要TFTP启动服务。
PXE 协议大致上结合了DHCP和TFTP,虽然都有在两者上面有改进。DHCP用于查找合适的启动服务器,TFTP用于下载初始引导程序和附加文件。为了开始一个PXE自检会话,PXE固件广播一个带有明确的PXE选项DHCPDISCOVER包(扩展DHCPDISCOVER)到67/UDP端口(DHCP服务器端口)。PXE选项是PXE固件有PXE能力的鉴定,但是会被一般的DHCP服务忽略。当固件受到从这样的服务受到DHCPOFFER包时,它会通过要求其提供配置信息来自我配置。
当 PXE 重定向服务 (DHCP代理) 收到一个 扩展DHCPDISCOVER 包时,它会通过发送一个带有明确的PXE选项DHCPDISCOVER包到PXE客户机的68/UDP端口 (DHCP 客户机端口)来回答。 一个扩展DHCPDISCOVER包主要包含:
一个PXE发现控制领域,以决定是使用多播,广播(网路)或单播来联系PXE启动服务器。
一个列出可用的PXE启动服务器类型的地址表。
一个代表每个一个PXE启动服务器类型的条目单。
一个带有带有提示用户按下哪一个键来看到启动菜单的PXE启动菜单。
一个超过多长时间就启动第一启动菜单的超时数值。
一个DHCP代理服务可能在相同的主机上运行一个标准的DHCP服务器。尽管两个服务不可以共享67/UDP 端口,DHCP代理服务在4011/UDP 端口上运行,要求从客户端来的DHCPDISCOVER 包变成DHCPREQUEST 包。标准DHCP服务在其发送的DHCPOFFER 包中加入特殊的PXE 选项组合,这样PXE客户端知道可以在同一个主机的 4011/UDP 端口找到一个DHCP代理服务。
和一个正在启动系统的启动服务联系必须有一个IP地址(可能来自DHCP服务)。通过多播或单播一个带有特殊的PXE选项的 DHCPREQUEST 包(扩展DHCPREQUEST包)到 4011/UDP端口,或者广播(网路)这种包到 67/UDP端口。这种包包含有PXE启动服务类型和PXE启动层,一个守护进程允许运行多个启动服务类型。 一个扩展 DHCPREQUEST包可能是一个DHCPINFORM包。下面是PXE具体工作原理图,
enter description here
简单总结一下,
PXE Client发送广播包请求DHCP分配IP地址DHCP
Server回复请求,给出IP地址以及Boot
Server的地址PXE下载引导文件执行引导程序

二、Kickstart 概述
Kickstart 组成
Kickstart 安装选项,包含语言的选择,防火墙,密码,网络,分区的设置等;
%Pre 部分,安装前解析的脚本,通常用来生成特殊的ks配置,比如由一段程序决定磁盘分区等;
%Package 部分,安装包的选择,可以是 @core 这样的group的形式,也可以是这样 vim-* 包的形式;
%Post 部分,安装后执行的脚本,通常用来做系统的初始化设置。比如启动的服务,相关的设定等。

三、Cobbler 简介
1、Cobbler 概述
Cobbler由python语言开发,是对PXE和Kickstart以及DHCP的封装。融合很多特性,提供了CLI和Web的管理形式。更加方便的实行网络安装。同时,Cobbler也提供了API接口,使用其它语言也很容易做扩展。它不紧可以安装物理机,同时也支持kvm、xen虚拟化、Guest OS的安装。更多的是它还能结合Puppet等集中化管理软件,实现自动化的管理。
2、新旧对比
以前自动化安装系统得先设置一个网络环境,可是设置网络环境涉及到许多步骤,才能为开始安装系统做好准备。你必须:
配置服务,比如 DHCP、TFTP、DNS、HTTP、FTP 和 NFS;
在 DHCP 和 TFTP 配置文件中填入各个客户端机器的信息;
创建自动部署文件(比如 kickstart 和 autoinst);
将安装媒介解压缩到 HTTP/FTP/NFS 存储库中。
这个过程并不简单,而且手动注册每个必须配置的客户端机器可能很麻烦。对配置一台机器的任何参数更改(比如要使用一个不同的操作系统),都需要对配置进行手动干预,并有可能对自动部署文件进行手动干预。当机器数量增加时,如果不高度重视文件组织的条理性,TFTP 目录等元素就可能变得混乱。
Cobbler 通过为机器配置的所有方面创建一个中央管理点,从而解决了这些不足。Cobbler 可重新配置服务,创建存储库,解压缩操作系统媒介,代理或集成一个配置管理系统,控制电源管理等。Cobbler 创建了一个抽象层,您可在其中运行 “add new repository” 或 “change client machine operating system” 等命令。Cobbler 负责处理所有事情:创建或更新配置文件,重新启动服务,或者将媒介解压到新创建的目录中。它的目的是隐藏所有与系统相关的问题,以便您可专注于任务本身。
3、Cobbler 提供的功能
使用 Cobbler,您无需进行人工干预即可安装机器。Cobbler 设置一个 PXE 引导环境(它还可使用 yaboot 支持 PowerPC),并控制与安装相关的所有方面,比如网络引导服务(DHCP 和 TFTP)与存储库镜像。当希望安装一台新机器时,Cobbler 可以:
使用一个以前定义的模板来配置 DHCP 服务(如果启用了管理 DHCP) 将一个存储库(yum 或 rsync)建立镜像或解压缩一个媒介,以注册一个新操作系统 在 DHCP 配置文件中为需要安装的机器创建一个条目,并使用您指定的参数(IP 和 MAC 地址) 在 TFTFP 服务目录下创建适当的 PXE 文件 重新启动 DHCP 服务以反映更改 重新启动机器以开始安装(如果电源管理已启用)
Cobbler 支持众多的发行版:Red Hat、Fedora、CentOS、Debian、Ubuntu 和 SuSE。当添加一个操作系统(通常通过使用 ISO 文件)时,Cobbler 知道如何解压缩合适的文件并调整网络服务,以正确引导机器。
Cobbler 可使用 kickstart 模板。基于 Red Hat 或 Fedora 的系统使用 kickstart 文件来自动化安装流程。通过使用模板,您就会拥有基本的 kickstart 模板,然后定义如何针对一种配置文件或机器配置而替换其中的变量。例如,一个模板可能包含两个变量 domain machine_name。在 Cobbler 配置中,一个配置文件指定 domain=mydomain.com,并且每台使用该配置文件的机器在machine_name 变量中指定其名称。该配置文件中的所有机器都使用相同的 kickstart 安装且针对 domain=mydomain.com 进行配置,但每台机器拥有其自己的机器名称。您仍然可以使用 kickstart 模板在不同的域中安装其他机器并使用不同的机器名称。
为了协助管理系统,Cobbler 可通过 fence scripts 连接到各种电源管理环境。Cobbler 支持 apc_snmp、bladecenter、bullpap、drac、ether_wake、ilo、integrity、ipmilan、ipmitool、lpar、rsa、virsh 和 wti。要重新安装一台机器,可运行 reboot system foo命令,而且 Cobbler 会使用必要的凭据和信息来为您运行恰当的 fence scripts(比如机器插槽数)。
除了这些特性,还可使用一个配置管理系统 (CMS)。您有两种选择:该工具内的一个内部系统,或者集成一个现有的外部 CMS,比如 Chef 或 Puppet。借助内部系统,您可以指定文件模板,这些模板会依据配置参数进行处理(与 kickstart 模板的处理方式一样),然后复制到您指定的位置。如果必须自动将配置文件部署到特定机器,那么此功能很有用。
使用 koan 客户端,Cobbler 可从客户端配置虚拟机并重新安装系统。

四、Cobbler 组成
Cobbler 的配置结构基于一组注册的对象。每个对象表示一个与另一个实体相关联的实体(该对象指向另一个对象,或者另一个对象指向该对象)。当一个对象指向另一个对象时,它就继承了被指向对象的数据,并可覆盖或添加更多特定信息。以下对象类型的定义为:
发行版:表示一个操作系统。它承载了内核和 initrd 的信息,以及内核参数等其他数据。
配置文件:包含一个发行版、一个 kickstart 文件以及可能的存储库,还包含更多特定的内核参数等其他数据。
系统:表示要配给的机器。它包含一个配置文件或一个镜像,还包含 IP 和 MAC 地址、电源管理(地址、凭据、类型)以及更为专业的数据等信息。
存储库:保存一个 yum 或 rsync 存储库的镜像信息。
镜像:可替换一个包含不属于此类别的文件的发行版对象(例如,无法分为内核和 initrd 的对象)。
基于注册的对象以及各个对象之间的关联,Cobbler 知道如何更改文件系统以反映具体配置。因为系统配置的内部是抽象的,所以您可以仅关注想要执行的操作。下面是Cobbler各对象之间的关系图,
wKiom1YFWR6QbCnjAACtHP9L4NM314.jpg

五、Cobbler 工作原理
wKioL1YFWUmgJg5hAAIGFWIpdk8906.jpg
下面我们来简单的说明一下,
Server端:
第一步,启动Cobbler服务
第二步,进行Cobbler错误检查,执行cobbler check命令
第三步,进行配置同步,执行cobbler sync命令
第四步,复制相关启动文件文件到TFTP目录中
第五步,启动DHCP服务,提供地址分配
第六步,DHCP服务分配IP地址
第七步,TFTP传输启动文件
第八步,Server端接收安装信息
第九步,Server端发送ISO镜像与Kickstart文件
Client端:
第一步,客户端以PXE模式启动
第二步,客户端获取IP地址
第三步,通过TFTP服务器获取启动文件
第四步,进入Cobbler安装选择界面
第五步,客户端确定加载信息
第六步,根据配置信息准备安装系统
第七步,加载Kickstart文件
第八步,传输系统安装的其它文件
第九步,进行安装系统

  1. 安装
[root@www mnt]# yum install dhcp tftp rsync xinetd httpd cobbler tftp-server python-ctypes -y
  1. 启动服务
[root@www mnt]# service cobblerd restart 
Stopping cobbler daemon:                                   [确定]
Starting cobbler daemon:                                   [确定]
[root@www mnt]# service httpd restart
停止 httpd[确定]
正在启动 httpd[确定]
  1. 检查配置执行
[root@www mnt]# cobbler check
The following are potential configuration items that you may want to fix:

1 : The 'server' field in /etc/cobbler/settings must be set to something other than localhost, or kickstarting features will not work.  This should be a resolvable hostname or IP for the boot server as reachable by all machines that will use it.
2 : For PXE to be functional, the 'next_server' field in /etc/cobbler/settings must be set to something other than 127.0.0.1, and should match the IP of the boot server on the PXE network.
3 : change 'disable' to 'no' in /etc/xinetd.d/tftp
4 : change 'disable' to 'no' in /etc/xinetd.d/rsync
5 : debmirror package is not installed, it will be required to manage debian deployments and repositories
6 : The default password used by the sample templates for newly installed machines (default_password_crypted in /etc/cobbler/settings) is still set to 'cobbler' and should be changed, try: "openssl passwd -1 -salt 'random-phrase-here' 'your-password-here'" to generate new one

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

大意:

编辑/etc/cobbler/settings文件,找到 server选项,修改为适当的ip地址,本实例配置ip为:192.168.1.8
编辑/etc/cobbler/settings文件,找到 next_server选项,修改为适当的ip地址,本实例配置ip为:192.168.1.8
编辑/etc/xinetd.d/tftp文件,将文件中的disable字段的配置由yes改为no
编辑/etc/xinetd.d/rsync文件,将文件中的disable字段的配置由yes改为no
提示说debmirror没安装。如果不是安装 debian之类的系统,此提示可以忽略。
ksvalidator没有被发现,安装pykickstart
修改cobbler用户的默认密码,可以使用如下命令生成密码,并使用生成后的密码替换/etc/cobbler/settings中的密码。
fencing tools未安装

解决:

[root@www mnt]# sed -i 's/127.0.0.1/192.168.1.110/g' /etc/cobbler/settings
[root@www mnt]# vimx /etc/xinetd.d/tftp
disable=no
[root@www mnt]# vimx /etc/xinetd.d/rsync
disable=no
[root@www mnt]# yum install -y pykickstart
[root@www mnt]# openssl passwd -1 -salt `openssl rand -hex 4`Password: $1$76f29b0d$R3nuR/TTUJexv9cWb.QsI1
$1$4f5cc8a7$nv4P/iD2DYkIc5bSYNg8g/
[root@www mnt]# vimx /etc/cobbler/settings
default_password_crypted: "$1$4f5cc8a7$nv4P/iD2DYkIc5bSYNg8g/"
[root@www mnt]# yum install fence-agents -y
  1. 重启服务并检测
    “`
    [root@www mnt]# service cobblerd restart
    Stopping cobbler daemon: [确定]
    Starting cobbler daemon: [确定]
    [root@www mnt]# service httpd restart
    停止 httpd: [确定]
    正在启动 httpd: [确定]
    [root@www mnt]# cobbler check
    The following are potential configuration items that you may want to fix:

1 : debmirror package is not installed, it will be required to manage debian deployments and repositories //可以忽略

Restart cobblerd and then run ‘cobbler sync’ to apply changes.
[root@www mnt]#
“`
6. 添加distro(distribution)

[root@www ~]# mount /dev/cdrom /mnt/ -r  //确保光盘已经挂载
[root@www ~]# cobbler import --path=/mnt/ --name=CentOS-6.4 --arch=x86_64
task started: 2015-08-29_222129_import
task started (id=Media import, time=Sat Aug 29 22:21:29 2015)
Found a candidate signature: breed=redhat, version=rhel6
Found a matching signature: breed=redhat, version=rhel6
Adding distros from path /var/www/cobbler/ks_mirror/CentOS-6.6-X86_64-x86_64:
creating new distro: CentOS-6.6-X86_64-x86_64
trying symlink: /var/www/cobbler/ks_mirror/CentOS-6.6-X86_64-x86_64 -> /var/www/cobbler/links/CentOS-6.6-X86_64-x86_64
creating new profile: CentOS-6.6-X86_64-x86_64
associating repos
checking for rsync repo(s)
checking for rhn repo(s)
checking for yum repo(s)
starting descent into /var/www/cobbler/ks_mirror/CentOS-6.6-X86_64-x86_64 for CentOS-6.6-X86_64-x86_64
processing repo at : /var/www/cobbler/ks_mirror/CentOS-6.6-X86_64-x86_64
need to process repo/comps: /var/www/cobbler/ks_mirror/CentOS-6.6-X86_64-x86_64
looking for /var/www/cobbler/ks_mirror/CentOS-6.6-X86_64-x86_64/repodata/*comps*.xml
Keeping repodata as-is :/var/www/cobbler/ks_mirror/CentOS-6.6-X86_64-x86_64/repodata
*** TASK COMPLETE ***

6.2 查看是否导入成功:

[root@www mnt]# cobbler distro list
   CentOS-6.4-x86_64
   CentOS-6.6-x86_64

参数说明:
–name 为安装源定义一个名字
–arch 指定安装源是32位还是64位、ia64, 目前支持的选项有: x86│x86_64│ia64
注意: 这个安装源的唯一标示 就是根据这两个参数来定义 本例导入成功后,安装源的唯一标示就是:centos6.3-x86_64 ,如果重复,系统会提示导入失败。
7. 配置dhcp服务

[root@www mnt]# vimx /etc/cobbler/settings
manage_dhcp: 1
manage_rsync: 1
[root@www mnt]#  mv /etc/cobbler/dhcp.template{,.bak}
mv:是否覆盖"/etc/cobbler/dhcp.template.bak"? y
[root@www mnt]# vimx /etc/cobbler/dhcp.template
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.30 192.168.1.100;
  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@www mnt]# /etc/init.d/xinetd restart
停止 xinetd:                                              [失败]
正在启动 xinetd:                                          [确定]
  1. 同步cobbler配置
[root@www mnt]# cobbler sync
task started: 2015-11-14_231416_sync
task started (id=Sync, time=Sat Nov 14 23:14:16 2015)
running pre-sync triggers
cleaning trees
removing: /var/www/cobbler/images/CentOS-6.6-x86_64
removing: /var/www/cobbler/images/CentOS-6.4-x86_64
removing: /var/lib/tftpboot/pxelinux.cfg/default
removing: /var/lib/tftpboot/grub/grub-x86_64.efi
removing: /var/lib/tftpboot/grub/grub-x86.efi
removing: /var/lib/tftpboot/grub/images
removing: /var/lib/tftpboot/grub/efidefault
removing: /var/lib/tftpboot/images/CentOS-6.6-x86_64
removing: /var/lib/tftpboot/images/CentOS-6.4-x86_64
removing: /var/lib/tftpboot/s390x/profile_list
copying bootloaders
trying hardlink /var/lib/cobbler/loaders/grub-x86_64.efi -> /var/lib/tftpboot/grub/grub-x86_64.efi
trying hardlink /var/lib/cobbler/loaders/grub-x86.efi -> /var/lib/tftpboot/grub/grub-x86.efi
copying distros to tftpboot
copying files for distro: CentOS-6.6-x86_64
trying hardlink /var/www/cobbler/ks_mirror/CentOS-6.6-x86_64/images/pxeboot/vmlinuz -> /var/lib/tftpboot/images/CentOS-6.6-x86_64/vmlinuz
trying hardlink /var/www/cobbler/ks_mirror/CentOS-6.6-x86_64/images/pxeboot/initrd.img -> /var/lib/tftpboot/images/CentOS-6.6-x86_64/initrd.img
copying files for distro: CentOS-6.4-x86_64
trying hardlink /var/www/cobbler/ks_mirror/CentOS-6.4-x86_64/images/pxeboot/vmlinuz -> /var/lib/tftpboot/images/CentOS-6.4-x86_64/vmlinuz
trying hardlink /var/www/cobbler/ks_mirror/CentOS-6.4-x86_64/images/pxeboot/initrd.img -> /var/lib/tftpboot/images/CentOS-6.4-x86_64/initrd.img
copying images
generating PXE configuration files
generating PXE menu structure
copying files for distro: CentOS-6.6-x86_64
trying hardlink /var/www/cobbler/ks_mirror/CentOS-6.6-x86_64/images/pxeboot/vmlinuz -> /var/www/cobbler/images/CentOS-6.6-x86_64/vmlinuz
trying hardlink /var/www/cobbler/ks_mirror/CentOS-6.6-x86_64/images/pxeboot/initrd.img -> /var/www/cobbler/images/CentOS-6.6-x86_64/initrd.img
Writing template files for CentOS-6.6-x86_64
copying files for distro: CentOS-6.4-x86_64
trying hardlink /var/www/cobbler/ks_mirror/CentOS-6.4-x86_64/images/pxeboot/vmlinuz -> /var/www/cobbler/images/CentOS-6.4-x86_64/vmlinuz
trying hardlink /var/www/cobbler/ks_mirror/CentOS-6.4-x86_64/images/pxeboot/initrd.img -> /var/www/cobbler/images/CentOS-6.4-x86_64/initrd.img
Writing template files for CentOS-6.4-x86_64
rendering TFTPD files
generating /etc/xinetd.d/tftp
processing boot_files for distro: CentOS-6.6-x86_64
processing boot_files for distro: CentOS-6.4-x86_64
cleaning link caches
running post-sync triggers
running python triggers from /var/lib/cobbler/triggers/sync/post/*
running python trigger cobbler.modules.sync_post_restart_services
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 ***
[root@www mnt]# 

cobbler会自动进行初始化工作,移除已经存在的启动项,然后根据模板拷贝loader文件。之后再生成pxe的配置文件,生成dhcp的配置文件,最后再重启dhcp服务。 至此,就可以使用虚拟机来测试cobbler安装了。 OK开启真机或者虚拟机来测试注意开启网络引导 网卡要开启PXE引导程序 。
8. 配置启动dhcp服务:

[root@www mnt]# vimx  /etc/dhcp/dhcpd.conf
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.121 192.168.1.125;
filename "/pxelinux.0";
default-lease-time 21600;
max-lease-time 43200;
next-server 192.168.1.110;

}
[root@www mnt]# service dhcpd restart
正在启动 dhcpd:                                           [确定]
  1. 测试
    开启客户端(可以为虚拟机或者真机)
    9.1修改启动方式
    enter description here
    重启显示
    enter description here
    安装
  2. 添加profile
[root@www mnt]# cd /var/lib/cobbler/kickstarts/
[root@www kickstarts]# cp sample_end.ks CentOS-6.6-X86_64-basic
[root@www kickstarts]# cobbler profile add --name=CentOS-6.4-x86_64-basic --distro=CentOS-6.4-X86_64 --kickstart=/var/lib/cobbler/kickstarts/CentOS-6.6-X86_64-basic 
[root@www kickstarts]# cobbler sync
task started: 2015-11-14_234708_sync
task started (id=Sync, time=Sat Nov 14 23:47:08 2015)
running pre-sync triggers
cleaning trees
removing: /var/www/cobbler/images/CentOS-6.6-x86_64
removing: /var/www/cobbler/images/CentOS-6.4-x86_64
removing: /var/lib/tftpboot/pxelinux.cfg/default
removing: /var/lib/tftpboot/grub/grub-x86_64.efi
removing: /var/lib/tftpboot/grub/grub-x86.efi
removing: /var/lib/tftpboot/grub/images
removing: /var/lib/tftpboot/grub/efidefault
removing: /var/lib/tftpboot/images/CentOS-6.6-x86_64
removing: /var/lib/tftpboot/images/CentOS-6.4-x86_64
removing: /var/lib/tftpboot/s390x/profile_list
copying bootloaders
trying hardlink /var/lib/cobbler/loaders/grub-x86_64.efi -> /var/lib/tftpboot/grub/grub-x86_64.efi
trying hardlink /var/lib/cobbler/loaders/grub-x86.efi -> /var/lib/tftpboot/grub/grub-x86.efi
copying distros to tftpboot
copying files for distro: CentOS-6.6-x86_64
trying hardlink /var/www/cobbler/ks_mirror/CentOS-6.6-x86_64/images/pxeboot/vmlinuz -> /var/lib/tftpboot/images/CentOS-6.6-x86_64/vmlinuz
trying hardlink /var/www/cobbler/ks_mirror/CentOS-6.6-x86_64/images/pxeboot/initrd.img -> /var/lib/tftpboot/images/CentOS-6.6-x86_64/initrd.img
copying files for distro: CentOS-6.4-x86_64
trying hardlink /var/www/cobbler/ks_mirror/CentOS-6.4-x86_64/images/pxeboot/vmlinuz -> /var/lib/tftpboot/images/CentOS-6.4-x86_64/vmlinuz
trying hardlink /var/www/cobbler/ks_mirror/CentOS-6.4-x86_64/images/pxeboot/initrd.img -> /var/lib/tftpboot/images/CentOS-6.4-x86_64/initrd.img
copying images
generating PXE configuration files
generating PXE menu structure
copying files for distro: CentOS-6.6-x86_64
trying hardlink /var/www/cobbler/ks_mirror/CentOS-6.6-x86_64/images/pxeboot/vmlinuz -> /var/www/cobbler/images/CentOS-6.6-x86_64/vmlinuz
trying hardlink /var/www/cobbler/ks_mirror/CentOS-6.6-x86_64/images/pxeboot/initrd.img -> /var/www/cobbler/images/CentOS-6.6-x86_64/initrd.img
Writing template files for CentOS-6.6-x86_64
copying files for distro: CentOS-6.4-x86_64
trying hardlink /var/www/cobbler/ks_mirror/CentOS-6.4-x86_64/images/pxeboot/vmlinuz -> /var/www/cobbler/images/CentOS-6.4-x86_64/vmlinuz
trying hardlink /var/www/cobbler/ks_mirror/CentOS-6.4-x86_64/images/pxeboot/initrd.img -> /var/www/cobbler/images/CentOS-6.4-x86_64/initrd.img
Writing template files for CentOS-6.4-x86_64
rendering TFTPD files
generating /etc/xinetd.d/tftp
processing boot_files for distro: CentOS-6.6-x86_64
processing boot_files for distro: CentOS-6.4-x86_64
cleaning link caches
running post-sync triggers
running python triggers from /var/lib/cobbler/triggers/sync/post/*
running python trigger cobbler.modules.sync_post_restart_services
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 ***
[root@www kickstarts]# 

查看是否生成:
[root@www kickstarts]# cobbler distro list
CentOS-6.4-x86_64
CentOS-6.6-x86_64

10 Cobbler相关选项说明
10.1 Cobbler 常用命令详解
cobbler check #检查cobbler配置
cobbler sync #同步配置到dhcp/pxe和数据目录
cobbler list #列出所有的cobbler元素
cobbler import #导入安装的系统镜像
cobbler report #列出各元素的详细信息
cobbler distro #查看导入的发行版系统信息
cobbler profile #查看配置信息
cobbler system #查看添加的系统信息
cobbler reposync #同步yum仓库到本地
10.2 导入镜像文件
命令:cobbler import –path=镜像路径 – name=安装引导名 –arch=32位或64位
参数:
path 是镜像所挂载的目录
name 是导入到cobbler里面显示的名字
arch 是32位系统还是64位系统
10.3 导入kickstart文件
命令:cobbler profile add –name=list名 –distro=镜像 –kickstart=路径
参数:
name是表示添加的ks 的名字,用cobbler report可以看到这个名字
distro 是用哪个镜像,list的distros里面选择一个,需要版本相对应
kickstart 是具体的 ks 文件路径
10.4 同步DHCP、HTTPD
命令:cobbler sync
注,每次修改完dhcp.template之类的配置文件需要执行一次使其生效。
10.5查看Cobbler列表
命令:cobbler list
注,列出Cobbler所有的元素。
10.6删除相关列表
命令:cobbler distro/profile remove –name=要删除的引导文件名
删除指定 distro , 也就是镜像
删除指定的 profile 文件,也就是 ks
10.7 Cobbler安装后目录说明
cobbler配置文件目录/etc/cobbler:
/etc/cobbler/settings cobbler主配置文件
/etc/cobbler/iso/ iso模板配置文件
/etc/cobbler/pxe pxe模板文件
/etc/cobbler/power 电源的配置文件
/etc/cobbler/users.conf Web 服务授权配置文件
/etc/cobbler/users.digest 用于web访问的用户名密码配置文件
/etc/cobbler/dhcp.template DHCP服务的配置模板
/etc/cobbler/dnsmasq.template DNS服务的配置模板
/etc/cobbler/tftpd.template tftp服务的配置模板
/etc/cobbler/modules.conf Cobbler模块配置文件
cobbler数据目录/var/lib/cobbler:
/var/lib/cobbler/config/ 用于存放distros、systems、profiles等信息配置文件
/var/lib/cobbler/triggers 用于存放用户定义的cobbler 命令
/var/lib/cobbler/kickstarts/ 默认存放kickstart文件
/var/lib/cobbler/loaders 存放的各种引导程序
镜像数据目录/var/www/cobbler:
/var/www/cobbler/ks_mirror/ 导入的发行版系统的所有数据
/var/www/cobbler/images/ 导入发行版的Kernel和initrd镜像用于远程网络启动
/var/www/cobbler/repo_mirror/ yum仓库存储目录
日志目录 /var/log/cobbler/:
/var/log/cobbler/install.log 客户端的安装系统日志
/var/log/cobbler/cobbler.log cobbler日志

错误解决
`ProtocolError:

vim /etc/sysconfig/selinux

SELINUX=disabled

4 : change ‘disable’ to ‘no’ in /etc/xinetd.d/tftp
解决:编辑/etc/xinetd.d/tftp文件,将文件中的disable字段的配置由yes改为no

5 : change ‘disable’ to ‘no’ in /etc/xinetd.d/rsync
解决:编辑/etc/xinetd.d/rsync文件,将文件中的disable字段的配置由yes改为no

6 : since iptables may be running, ensure 69, 80, and 25151 are unblocked
解决:在iptables中将69,80,25151端口打开。如果仅仅只是在内部环境中使用,建议直接将防火墙关掉

7 : debmirror package is not installed, it will be required to manage debian deployments and repositories
解决:yum install debmirror

或:rpm -Uvh ftp://rpmfind.net/linux/epel/5/i386/debmirror-20090807-1.el5.noarch.rpm –nodeps –force

8 : ksvalidator was not found, install pykickstart
解决:yum install pykickstart

9 : The default password used by the sample templates for newly installed machines (default_password_crypted in /etc/cobbler/settings) is still set to ‘cobbler’ and should be changed, try: “openssl passwd -1 -salt ‘random-phrase-here’ ‘your-password-here’” to generate new one
解决: 修改默认密码就OK了,然后把密码写入到/etc/cobbler/settings中

openssl passwd -1 -salt ‘random-phrase-here’ ‘your-password-here’

10 : comment ‘dists’ on /etc/debmirror.conf for proper debian support
11 : comment ‘arches’ on /etc/debmirror.conf for proper debian support

解决:注释/etc/debmirror.conf 下面两行

@dists=”sid”;

@sections=”main,main/debian-installer,contrib,non-free”;

@arches=”i386”;

cobbler check

No configuration problems found. All systems go.
返回这个结果就OK了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值