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

Distros(发行版):表示一个操作系统。它承载了内核和 initrd 的信息,以及内核参数等其他数据。
profile:定义Kickstart文件
repos:安装源
system:表示要配给的机器。它包含一个配置文件或一个镜像,还包含 IP 和 MAC 地址、电源管理(地址、凭据、类型)以及更为专业的数据等信息。
image:可替换一个包含不属于此类别的文件的发行版对象(例如,无法分为内核和 initrd 的对象)

工作流程

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

(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服务。

(4).然后通过distro找到安装的发行版,通过设置的profile找到kickstart文件,完成自动安装

服务器ip: 192.168.1.55

关闭防火墙

selinux

 

yum install cobbler  cobbler-web  rsync httpd httpd-devel pykickstart debmirror dhcp -y

yum install -y ed patch perl perl-Compress-Zlib perl-Digest-SHA1 perl-LockFile-Simple perl-libwww-per

  • /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模块配置文件

编辑/etc/cobbler/settings

定义server 指定提供服务的ip地址:server: 192.168.1.55

定义next_server 指定TFTP服务器地址:next_server: 192.168.1.55

3、运行cobbler get-loaders 下载需要的程序,需要访问互联网。

 

编辑/etc/debmirror.conf  注释 ’dists‘ 和 ‘arches’

修改默认密码,编辑文件/etc/cobbler/settings,找到字段default_password_crypted,将生成的密码串替换掉默认的。

openssl passwd -1 -salt `openssl rand -hex 5`                                                                   

(   huazai007@zhenpin.com   )
default_password_crypted: "$1$f28bb447$dl//DvTort0BF2LvvRAlT1"

使用cobbler管理tftp  /etc/cobbler/settings

manage_tftpd: 1   (默认的)

manage_rsync: 1

manage_dhcp: 1

将 manage_dhcp 设置为 1 表示由 cobbler 会根据 dhcp.template 生成 dhcp.conf 文件

dhcp服务是由cobbler来管理 /etc/cobbler/dhcp.template,每次修改dhcp.template,然后cobbler sync,就会自动更新到/etc/dhcpd.conf中

配置tftp-server

首先启用tftp,可以编辑配置文件/etc/xinetd.d/tftp修改disable那一项。

disable                 = no

编辑cobbler管理dhcp服务的模版文件/etc/cobbler/dhcp.template

subnet 192.168.1.0 netmask 255.255.255.0 {

     option routers             192.168.1.55;

     option domain-name-servers 202.106.0.20;

     option subnet-mask         255.255.255.0;

     range dynamic-bootp        192.168.1.13 192.168.1.19;

     default-lease-time         21600;

     max-lease-time             43200;

     next-server                192.168.1.55;

     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@zhen-cmd conf]# /etc/init.d/xinetd restart

配置认证,通过Web接口导入centos6.5,实现一键安装

编辑/etc/cobbler/modules.conf

[authentication]

module = authn_pam  //设置使用系统用户认证机制。

创建一个用户。useradd zhangshaohua1510;echo 'huazai007@zhenpin.com' |passwd --stdin zhangshaohua1510

编辑/etc/cobbler/users.conf 设置cobbler认证用户。

[admins]

admin = "zhangshaohua1510"

启动cobbler

[root@zhen-cmd conf.d]# /etc/init.d/httpd status

httpd (pid  28710) 正在运行...

[root@zhen-cmd conf.d]# /etc/init.d/cobblerd restart

Stopping cobbler daemon: [确定]

Starting cobbler daemon: [确定]

cobbler sync

cobbler check

 

添加DVD源

[root@puppet soft]# mount /dev/cdrom /mnt/cdrom/

cobbler import --path=/mnt/cdrom --name=centos6.5

[root@localhost cobbler]# pwd

/var/lib/cobbler

[root@localhost cobbler]# ll

总用量 68

drwxr-xr-x. 10 root   root  4096 12月 19 12:50 config

-rw-r--r--.  1 root   root 36314 1月  23 2016 distro_signatures.json

drwxr-xr-x.  3 root   root  4096 12月 19 18:28 kickstarts

drwxr-xr-x.  2 root   root  4096 12月 19 12:59 loaders

-rw-r--r--.  1 root   root     0 12月 19 12:50 lock

drwxr-xr-x.  2 root   root  4096 12月 19 12:50 scripts

drwxr-xr-x.  2 root   root  4096 12月 19 12:50 snippets

drwxr-xr-x.  7 root   root  4096 12月 19 12:50 triggers

-rw-------.  1 apache root  1024 12月 19 18:10 web.ss

drwx------.  2 apache root  4096 12月 19 18:04 webui_sessions