码迷,mamicode.com
首页 > 其他好文 > 详细

cobblers 部署

时间:2014-10-06 23:43:11      阅读:576      评论:0      收藏:0      [点我收藏+]

标签:基础知识   局限性   在线安装   

Cobbler

一、基础知识

Cobbler的作用:

运维自动化安装方面,早期一般使用人工配置pxe+dhcp+tftp配合kickstart使用可

以实现运维的自动化安装,但是它有一个很大的局限性就是安装系统没得选择,只可

以同时安装一种版本的系统,而cobbler实现了可以同时在线安装不同版本的系统,

可以实现多版本的选择。使得运维自动化更加人性化。个人觉得Cobbler是对pxe+dhcp

+tftp的扩展。

1、传统pxe的工作方式原理图

bubuko.com,布布扣

2、cobbler工作原理图

bubuko.com,布布扣

3、cobbler部署内部工作原理逻辑图

bubuko.com,布布扣

二、实验Cobbler的部署

Node1 centos6.5 172.16.11.143

Node2 没装系统的新建虚拟机

1、配置安装yum源
http://download.fedoraproject.org/pub/epel/6/x86/epel-release-6-5.noarch.rpm
Yum  install cobbler*  -y
注意要配置epel源才能安装cobbler
2、cobbler 的安装配置
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 : you need to set some SELinux content rules to ensure cobbler works correctly in your SELinux environment, run the following:
      /usr/sbin/semanage fcontext -a -t public_content_t "/tftpboot/.*" &&       /usr/sbin/semanage fcontext -a -t public_content_t "/var/www/cobbler/images/.*"
4 : some network boot-loaders are missing from /var/lib/cobbler/loaders, you may run ‘cobbler get-loaders‘ to download them, or, if you only want to handle x86/x86_64 netbooting, you may ensure that you have installed a *recent* version of the syslinux package installed and can ignore this message entirely.  Files in this directory, should you want to support all architectures, should include pxelinux.0, menu.c32, elilo.efi, and yaboot.The ‘cobbler get-loaders‘ command is the easiest way to resolve these requirements.
5 : change ‘disable‘ to ‘no‘ in /etc/xinetd.d/tftp
6 : change ‘disable‘ to ‘no‘ in /etc/xinetd.d/rsync
7 : since iptables may be running, ensure 69, 80, and 25151 are unblocked
8 : debmirror package is not installed, it will be required to manage debian deployments and repositories
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
Restart cobblerd and then run ‘cobbler sync‘ to apply changes.
1、编辑/etc/cobbler/settings文件,找到 server选项,修改为适当的ip地址,本实例配置ip为:server: 172.16.11.143
2、编辑/etc/cobbler/settings文件,找到 next_server选项,修改为适当的ip地址,本实例配置ip为:next_server: 172.16.11.143
3、SELinux的设置。如果上面已经关闭了SELinux就不用管了
4、执行 cobbler get-loaders,系统将自动下载loader程序,完成提示4的修复工作。
cobbler get-loaders
其实这里我下载它不给下载你可以手动复制过去就可以啦、
cp /usr/share/syslinux /var/lib/cobbler/loaders
5、编辑/etc/xinetd.d/tftp文件,将文件中的disable字段的配置由yes改为no
6、编辑/etc/xinetd.d/rsync文件,将文件中的disable字段的配置由yes改为no
7、在iptables中将69,80,25151端口打开。如果仅仅只是在内部环境中使用,建议直接将防火墙关掉
8、提示说debmirror没安装。如果不是安装 debian之类的系统,此提示可以忽略,如果需要安装,下载地址为:
http://rpmfind.net/linux/rpm2html/search.php?query=debmirror
9、修改cobbler用户的默认密码,可以使用如下命令生成密码,并使用生成后的密码替换/etc/cobbler/settings中的密码。生成密码命令:
[root@node1 ~]# openssl passwd -1 -salt ‘openssl rand -hex 4‘
Password:
$1$openssl $UYENzYDpAJVXUZI4rUWuL1
default_password_crypted: "$1$openssl $UYENzYDpAJVXUZI4rUWuL1"
10、可能还会要求安装httpd,并能正常启动,我就配置了一下,它提示域名解析不一致、这个很简单自己解决
11、安装软件syslinux.x86_64或者其他的软件具体看情况
就这样把包的错都解决掉,中途你可以cobbler sync  或者 service cobblerd restart
最后我的处理的结果是
Cobbler  check
The following are potential configuration items that you may want to fix:
1 : some network boot-loaders are missing from /var/lib/cobbler/loaders, you may run ‘cobbler get-loaders‘ to download them, or, if you only want to handle x86/x86_64 netbooting, you may ensure that you have installed a *recent* version of the syslinux package installed and can ignore this message entirely.  Files in this directory, should you want to support all architectures, should include pxelinux.0, menu.c32, elilo.efi, and yaboot. The ‘cobbler get-loaders‘ command is the easiest way to resolve these requirements.
2 : 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.

2、安装配置dhcp

Yum  install  dhcp -y
Cp /usr/share/doc/dhcp-4.1.1/dhcp.conf.sample /etc/dhcp/dhcpd.conf
Vim /etc/dhcp/dhcpd.conf
option domain-name "org.com";
option domain-name-servers 172.16.0.1;
default-lease-time 43200;
max-lease-time 86400;
log-facility local7;
subnet 172.16.0.0 netmask 255.255.0.0 {
  range 172.16.11.101 172.16.11.120;
  option routers 172.16.11.143;
}
next-server 172.16.11.143;
filename="pxelinux.0";
Service dhcpd  restart

3、配置cobbler的模板

先要下载要安装发行版本的系统(就是映像光盘)

这里是虚拟机你就挂载光盘就可以啦,真实环境的话不管你用什么方法要提供一个原始系统

Mount /dev/cdrom /mnt -r

制作一个模板

Cobbler import --path=/mnt --name=centos-6.5-x86_64

Ls /var/lib/cobbler/kickstarts/

Ls /var/www/cobbler/ks_mirror/centos-6.5-x86_64

提供kickstart 文件

ksvalidator centos6.x86_64.cfg #测试kickstart的语法、如果保错一定要解决,不然后面它也不给安装

#####################################################################################

#platform=x86, AMD64, or Intel EM64T
#version=DEVEL
# Firewall configuration
firewall --disabled
# Install OS instead of upgrade
install
# Use network installation
url --url="http://172.16.11.143/cobbler/ks_mirror/centos-6.5-x86_64/" #此处慎重填写
# Use text mode install
text
firstboot --disable
# System keyboard
keyboard us
# System language
lang en_US
# SELinux configuration
selinux --disabled
# Installation logging level
logging --level=info --host=172.16.0.1
# Reboot after installation
reboot
# System timezone
timezone  Asia/Shanghai
# System bootloader configuration
bootloader --append="rhgb crashkernel=auto quiet" --location=mbr --driveorder="sda"
# Clear the Master Boot Record
part /boot --fstype="ext4" --size=200
part pv.008 --size=61440
volgroup vg0 --pesize=8192 pv.008
logvol / --fstype=ext4 --name=root --vgname=vg0 --size=20480
logvol swap --name=swap --vgname=vg0 --size=2048
logvol /usr --fstype=ext4 --name=usr --vgname=vg0 --size=10240
logvol /var --fstype=ext4 --name=var --vgname=vg0 --size=20480
repo --name="Fedora EPEL"  --baseurl=http://172.16.11.143/cobbler/ks_mirror/centos-6.5-x86_64/ --cost=1000  #此处慎重填写
%post
#vim syntax on 
sed -i "8 s/^/alias vi=‘vim‘/" /root/.bashrc 2>/dev/null 
echo ‘syntax on‘ > /root/.vimrc 2>/dev/null
# file descriptors 
ulimit -HSn 65535 
echo -ne " 
* soft nofile 65536 
* hard nofile 65536 
" >>/etc/security/limits.conf 
# Set the hostname
ClientName=`ifconfig eth0 | awk ‘/inet addr:/{print $2}‘ | awk -F. ‘{print $NF}‘`
sed -i "s@HOSTNAME=.*@HOSTNAME=client$ClientName.org.com@g" /etc/sysconfig/networks
# set puppet agent
sed -i ‘/\[main\]/a server=server.org.com‘ /etc/puppet/puppet.conf
/sbin/chkconfig puppet off
# set hosts
echo ‘172.16.0.1  server.org.com server‘ >> /etc/hosts
%end
%packages
@base
@basic-desktop
@chinese-support
@client-mgmt-tools
@core
@desktop-platform
@fonts
@general-desktop
@graphical-admin-tools
@legacy-x
@network-file-system-client
@perl-runtime
@remote-desktop-clients
@x11
#func
lftp
ibus-table-cangjie
ibus-table-erbi
ibus-table-wubi
#puppet
%end
###################################################################################

4、为cobbler提供profile 文件

cobbler profile add --name=centos-6.5-x86_64-basic --distro=centos-6.5-x86_64 --kickstart=/tmp/centos6.x86_64.cfg #kickstart文件放置位置
cobbler profile add --help
--name=NAME           Name (Ex: F10-i386-webserver)
--distro=DISTRO       Distribution (Parent distribution)
vim /var/lib/tftpboot/pxelinux.cfg/default #查看生成的profile是否有误

5、启动tftp

/etc/init.d/xinetd restart
chkconfig tftp on
Ss -tunl
67、69、837是否监听

6、设置node2网卡开机启动测试

bubuko.com,布布扣

选择安装系统

bubuko.com,布布扣

自动化安装系统安装软件阶段

bubuko.com,布布扣

其实cobbler还有个cobbler-web的软件是个图形部署cobbler的工具,前提是搭建起cobbler来,这里就不做演示啦,大家就自行研究啦,

对于cobbler不明白的可以私下讨论。

cobblers 部署

标签:基础知识   局限性   在线安装   

原文地址:http://1983939925.blog.51cto.com/8400375/1560884

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!