33.cobbler简介、安装配置和web管理
1.cobbler环境准备与部署
[root@m01 ~]# /etc/init.d/httpd stop
[root@m01 ~]# /etc/init.d/xinetd stop
cobbler介绍:
http://blog.oldboyedu.com/autoinstall-cobbler/
cobbler安装:
10.0.0.101,172.16.1.101
[root@CentOS6 ~]# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 00:0c:29:c7:61:81 brd ff:ff:ff:ff:ff:ff
inet 10.0.0.101/24 brd 10.0.0.255 scope global eth0
inet6 fe80::20c:29ff:fec7:6181/64 scope link
valid_lft forever preferred_lft forever
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 00:0c:29:c7:61:8b brd ff:ff:ff:ff:ff:ff
inet 172.16.1.101/24 brd 172.16.1.255 scope global eth1
inet6 fe80::20c:29ff:fec7:618b/64 scope link
valid_lft forever preferred_lft forever
[root@CentOS6 opt]# ll
total 4436
-rw-r--r-- 1 root root 4537420 Mar 5 15:20 Django14-1.4.21-1.el6.noarch.rpm
drwxr-xr-x. 2 root root 4096 Mar 26 2015 rh
该安装包有依赖的安装方法:yum localinstall xxx.rpm
[root@CentOS6 opt]# yum localinstall Django14-1.4.21-1.el6.noarch.rpm
[root@CentOS6 opt]# yum install -y cobbler cobbler-web dhcp tftp-server pykickstart httpd
cobbler提供了配置文件检查的工具cobbler check:
[root@CentOS6 opt]# cobbler check
[root@CentOS6 ~]# grep '^server' /etc/cobbler/settings
server: 172.16.1.101
[root@CentOS6 ~]# grep '^next_server' /etc/cobbler/settings
next_server: 172.16.1.101
[root@CentOS6 ~]# openssl passwd -1 -salt 'random-phrase-here' 'your-password-here'
$1$random-p$AOw9RDIWQm6tfUo9Ediu/0
[root@CentOS6 ~]# cp /etc/cobbler/settings{,.bak}
[root@CentOS6 ~]# sed -i 's/server: 127.0.0.1/server: 172.16.1.101/' /etc/cobbler/settings
[root@CentOS6 ~]# sed -i 's/next_server: 127.0.0.1/next_server: 172.16.1.101/' /etc/cobbler/settings
[root@CentOS6 ~]# sed -i 's/manage_dhcp: 0/manage_dhcp: 1/' /etc/cobbler/settings //cobbler可以控制dhcp,通过模板dhcp.template
[root@CentOS6 ~]# sed -i 's/pxe_just_once: 0/pxe_just_once: 1/' /etc/cobbler/settings //部署一次,使用一次pxe。
[root@CentOS6 ~]# sed -ri "/default_password_crypted/s#(.*: ).*#\1\"`openssl passwd -1 -salt 'oldboy' '123456'`\"#" /etc/cobbler/settings //修改密码为123456
[root@CentOS6 ~]# sed -i 's#yes#no#' /etc/xinetd.d/rsync
[root@CentOS6 ~]# sed -i 's#yes#no#' /etc/xinetd.d/tftp
备注:
sed -i 's/server: 127.0.0.1/server: 172.16.1.101/' /etc/cobbler/settings
sed -i 's/next_server: 127.0.0.1/next_server: 172.16.1.101/' /etc/cobbler/settings
sed -i 's/manage_dhcp: 0/manage_dhcp: 1/' /etc/cobbler/settings
sed -i 's/pxe_just_once: 0/pxe_just_once: 1/' /etc/cobbler/settings
sed -ri "/default_password_crypted/s#(.*: ).*#\1\"`openssl passwd -1 -salt 'oldboy' '123456'`\"#" /etc/cobbler/settings
sed -i 's#yes#no#' /etc/xinetd.d/rsync
sed -i 's#yes#no#' /etc/xinetd.d/tftp
2.cobbler配置讲解
cobbler get-loaders执行失败!下载到/var/lib/cobbler/loaders。
----------------------------------
经过李老师分析,有个现成下载好的包供使用:
[root@CentOS6 opt]# ll
total 4856
-rw-r--r-- 1 root root 427231 Mar 7 21:55 get-loaders.tar.gz
drwxr-xr-x. 2 root root 4096 Mar 26 2015 rh
[root@CentOS6 opt]# ll /var/lib/cobbler/loaders/
total 0
[root@CentOS6 opt]# tar xfP get-loaders.tar.gz
[root@CentOS6 opt]# ll /var/lib/cobbler/loaders/
total 1128
-rw-r--r-- 1 root root 631 Sep 17 02:05 COPYING.elilo
-rw-r--r-- 1 root root 18007 Sep 17 02:05 COPYING.syslinux
-rw-r--r-- 1 root root 626 Sep 17 02:05 COPYING.yaboot
-rw-r--r-- 1 root root 356493 Sep 17 02:05 elilo-ia64.efi
-rw-r--r-- 1 root root 243679 Sep 17 02:05 grub-x86_64.efi
-rw-r--r-- 1 root root 237224 Sep 17 02:05 grub-x86.efi
-rw-r--r-- 1 root root 54964 Sep 17 02:05 menu.c32
-rw-r--r-- 1 root root 16794 Sep 17 02:05 pxelinux.0
-rw-r--r-- 1 root root 1054 Sep 17 02:05 README
-rw-r--r-- 1 root root 198236 Sep 17 02:05 yaboot
[root@CentOS6 opt]# du -sh /var/lib/cobbler/loaders
1.2M /var/lib/cobbler/loaders
-------------------------------
配置dhcp模板:
[root@CentOS6 ~]# cp /etc/cobbler/dhcp.template{,.bak}
[root@CentOS6 ~]# sed -i.ori 's#192.168.1#172.16.1#g;22d;23d' /etc/cobbler/dhcp.template
//cobbler可以控制dhcp,通过模板dhcp.template,可编辑修改。
#vim /etc/cobbler/dhcp.template
#subnet 172.16.1.0 netmask 255.255.255.0 {
# option subnet-mask 255.255.255.0;
# range dynamic-bootp 172.16.1.100 172.16.1.200;
[root@CentOS6 ~]# du -sh /var/lib/cobbler/loaders
16K /var/lib/cobbler/loaders
下载到这里面得1.2M
生效:
[root@CentOS6 ~]# cobbler sync
启动服务:
[root@CentOS6 ~]# /etc/init.d/xinetd restart //tftp
[root@CentOS6 ~]# /etc/init.d/cobblerd restart
[root@CentOS6 ~]# /etc/init.d/httpd restart
[root@CentOS6 opt]# 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
2 : fencing tools were not found, and are required to use the (optional) power management features. install cman or fence-agents to use them
Restart cobblerd and then run 'cobbler sync' to apply changes.
[root@CentOS6 ~]# cobbler sync
[root@CentOS6 ~]# ss -lntup
Netid State Recv-Q Send-Q Local Address:Port Peer Address:Port
udp UNCONN 0 0 *:67 *:* users:(("dhcpd",25097,7))
udp UNCONN 0 0 *:69 *:* users:(("xinetd",25111,6))
tcp LISTEN 0 64 :::873 :::* users:(("xinetd",25111,5))
tcp LISTEN 0 511 :::80 :::* users:(("httpd",25162,4),("httpd",25165,4),("httpd",25166,4),("httpd",25167,4),("httpd",25168,4),("httpd",25169,4),("httpd",25187,4),("httpd",25188,4),("httpd",25189,4))
tcp LISTEN 0 128 :::22 :::* users:(("sshd",1171,4))
tcp LISTEN 0 128 *:22 *:* users:(("sshd",1171,3))
tcp LISTEN 0 511 :::443 :::* users:(("httpd",25162,6),("httpd",25165,6),("httpd",25166,6),("httpd",25167,6),("httpd",25168,6),("httpd",25169,6),("httpd",25187,6),("httpd",25188,6),("httpd",25189,6))
tcp LISTEN 0 5 127.0.0.1:25151 *:* users:(("cobblerd",25139,8))
验证cobbler安装部署是否成功:
http://10.0.0.101/cobbler_web

账号:cobbler
密码:cobbler
貌似密码修改失败!
[root@CentOS6 ~]# cobbler check
/var/lib/cobbler/loaders中缺少一些网络引导加载程序。
3.cobbler导入光盘镜像到系统

确定把光盘镜像挂载到/mnt:
[root@CentOS6 ~]# mount /dev/cdrom /mnt/
mount: block device /dev/sr0 is write-protected, mounting read-only
[root@CentOS6 ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda2 19G 1.6G 16G 10% /
tmpfs 491M 0 491M 0% /dev/shm
/dev/sda1 190M 35M 146M 19% /boot
/dev/sr0 3.7G 3.7G 0 100% /mnt //占用3.7G


然后任务就创建成功了。
[root@CentOS6 ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda2 19G 1.9G 16G 11% /
tmpfs 491M 0 491M 0% /dev/shm
/dev/sda1 190M 35M 146M 19% /boot
/dev/sr0 3.7G 3.7G 0 100% /mnt
[root@CentOS6 ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda2 19G 2.0G 16G 12% /
tmpfs 491M 0 491M 0% /dev/shm
/dev/sda1 190M 35M 146M 19% /boot
/dev/sr0 3.7G 3.7G 0 100% /mnt
[root@CentOS6 ~]# ps -ef|grep rsync
root 25318 25139 8 18:46 ? 00:00:14 rsync -a /mnt/ /var/www/cobbler/ks_mirror/centos6.9-x86_64 --progress
root 25319 25318 0 18:46 ? 00:00:00 rsync -a /mnt/ /var/www/cobbler/ks_mirror/centos6.9-x86_64 --progress
root 25320 25319 37 18:46 ? 00:01:06 rsync -a /mnt/ /var/www/cobbler/ks_mirror/centos6.9-x86_64 --progress
root 25331 1359 10 18:49 pts/0 00:00:00 grep rsync
过一会,导入完毕:
[root@CentOS6 ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda2 19G 5.4G 13G 31% /
tmpfs 491M 0 491M 0% /dev/shm
/dev/sda1 190M 35M 146M 19% /boot
/dev/sr0 3.7G 3.7G 0 100% /mnt
[root@CentOS6 ~]# ps -ef|grep rsync
root 25376 1359 0 18:52 pts/0 00:00:00 grep rsync

证明了光盘镜像导入到系统成功!
4.手动创建ks模板
点击Distros,

tree=http://@@http_server@@/cblr/links/centos6.9-x86_64
http://10.0.0.101/cblr/links/centos6.9-x86_64
至此,可以自动安装系统了。
CentOS-01
D:\vmware_centos\CentOS-01

这里只能启动一次!建议不要继续装。
点击Profile,它使用的是Kickstart,

但是我们希望使用自己创建的,可以编辑现有的模板,也可重新创建(和Kickstart使用的类似,可从官方获取,也可结合自己情况定制镜像的ks):

点击保存即可。

文件名:CentOS-6.9-x86_64.cfg
内容:
# Cobbler for Kickstart Configurator for CentOS 6.9
install
url --url=$tree
text
lang en_US.UTF-8
keyboard us
zerombr
bootloader --location=mbr --driveorder=sda --append="crashkernel=auto rhgb quiet"
$SNIPPET('network_config')
timezone --utc Asia/Shanghai
authconfig --enableshadow --passalgo=sha512
rootpw --iscrypted $default_password_crypted
clearpart --all --initlabel
part /boot --fstype=ext4 --asprimary --size=200
part swap --size=1024
part / --fstype=ext4 --grow --asprimary --size=200
firstboot --disable
selinux --disabled
firewall --disabled
logging --level=info
reboot
%pre
$SNIPPET('log_ks_pre')
$SNIPPET('kickstart_start')
$SNIPPET('pre_install_network_config')
# Enable installation monitoring
$SNIPPET('pre_anamon')
%end
%packages
@base
@compat-libraries
@debugging
@development
tree
nmap
sysstat
lrzsz
dos2unix
telnet
%end
%post --nochroot
$SNIPPET('log_ks_post_nochroot')
%end
%post
$SNIPPET('log_ks_post')
# Start yum configuration
$yum_config_stanza
# End yum configuration
$SNIPPET('post_install_kernel_options')
$SNIPPET('post_install_network_config')
$SNIPPET('func_register_if_enabled')
$SNIPPET('download_config_files')
$SNIPPET('koan_environment')
$SNIPPET('redhat_register')
$SNIPPET('cobbler_register')
# Enable post-install boot notification
$SNIPPET('post_anamon')
# Start final steps
$SNIPPET('kickstart_done')
# End final steps
%end
详情学习请看官网:
http://cobbler.github.io/manuals/2.6.0/
5.自定义安装系统
创建系统用的文件:
Configuration-Systems-Create New System,
cobbler通过MAC地址来锁定IP地址。




00:50:56:20:09:55


00:50:56:3A:7F:5E
点击save保存即可。

单击sync(等价于命令cobbler sync)

可以启动系统了,载入镜像,获得IP等。。。和kickstart差不多,但是方便,能指定每台服务器IP地址。



http://blog.51cto.com/roles/1787774
运维自动化工具Cobbler之——安装实践
浙公网安备 33010602011771号