Linux 运维自动化之Cobbler实战案例

大纲
一、前言
二、Cobbler 工作原理详解
三、Cobbler 常用命令汇总
四、Cobbler 各种目录说明
五、自定义Kickstart文件详解
六、Cobbler 实战案例安装CentOS6.4
注,操作系统 CentOS 6.4 x86_64,软件版本 Cobbler-2.4.0-1。(目前最新版)

二、Cobbler 工作原理详解
1.概述
Cobbler集众家之长支持众多有服务,我在这里简单的说一下Cobbler集成了哪些服务,

  • PXE 服务
  • DHCP服务管理
  • DNS服务管理
  • HTTP服务管理
  • TFTP服务管理
  • Kickstart服务
  • yum仓库管理
  • 电源管理

2.工作流程
(1).需要安装系统的客户端主机的网卡支持网络安装,也就是支持以PXE模式启动。如下图,

Linux 运维自动化之Cobbler实战案例

(2).客户端主机需要有一个IP地址来与Cobbler Server进行通信,这时网络中必须要有一个主机能自动分配IP。DHCP就是一个能为客户端主机自动分配IP地址的服务,DHCP就是安装在Cobbler Server主机上。
(3).客户端得到IP地址后,需要提供一个引导程序pxelinux.0(类似于grub) 此文件由syslinux程序提供,所以需要安装syslinux并且能加载内核及内核镜像文件(vmlinuz与initrd.img),客户端可以通过TFTP协议到TFTP Server上下载内核及内核镜像文件(vmlinuz与initrd.img),所以需要一个TFTP 服务,TFTP也是安装在Cobbler Server主机上,客户端只是知道可以用TFTP协议下载文件,但是TFTP Server的IP是那个,这个还得需要DHCP服务器指名告诉客户端那个是TFTP Server(注,所以我们在配置DHCP模板时指定next-server,同时指定了filename,这里的filename就是指定的pxelinux.0引导程序),而TFTP服务需要超级进程进行管理,此进程是xinetd,因此需要在Cobbler Server上安装xinet服务。下面是DHCP模板的部分内容,
[root@node2 ~]# vim /etc/cobbler/dhcp.template
subnet 192.168.18.0 netmask 255.255.255.0 { 
  option routers      192.168.18.254; 
  option domain-name-servers 192.168.18.254; 
  option subnet-mask    255.255.255.0; 
  range dynamic-bootp    192.168.18.221 192.168.18.225; 
  filename          "/pxelinux.0"; #指定的网络引导程序 
  default-lease-time    21600; 
  max-lease-time      43200; 
  next-server        $next_server; #指定的TFTP服务器的地址

(4).客户端完全自动化部署操作系统,则需要一个kickstart文件,默认使用的是/var/lib/cobbler/kickstarts/default.ks文件,我们也可以自己自定义一个kickstart文件,自定义kickstart文件可以自己手动的编写,也可以用system-config-kickstart工具进行生成,如果需要则可以在Cobbler Server上安装system-config-kickstart工具生成一个kickstart文件。
(5).已经有了kickstart文件,需要在kickstart文件中指定一个参数,告诉客户端以什么方式安装(http/ftp/nfs等),这里的参数指的就是到哪里去找安装源(安装源就是指安装系统所需的软件),这样的方式可以是nfs,ftp,http等,选择其一即可,Cobbler Server在此选择以http方式提供安装源。
3.Cobbler 所依赖的软件包
注,上述流程可以得到Cobbler安装软件所需的主要的依赖性包。
dhcp 提供IP地址、指名TFTP Server的地址、指定pxelinux文件 tftp-server 提供引导所需的文件、内核文件、内核镜像文件等 xinetd 管理tftp服务的超级进程 syslinux 提供pxelinux文件 system-config-kickstart 生成kickstart文件 httpd 提供安装源 cman 提供电源管理 其它依赖包
好了,刚才我们重新整理一下Cobbler的工作原理,希望可以帮助大家理解。下面我们来看一下Cobbler的常用命令!

相关阅读

相关推荐