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