Cobbler自动化部署ubuntucentos技术文档

 

制作人:童安安

时  间:2016725日 2016年7月29日修订

版  本:第一版 修订1

Emailtonganan@gmail.com taa@tonganan.com

博  客:http://www.tonganan.com

    本文档是基于Centos 6.8最小化安装镜像制作,适用于redhat 6Centos 6ubuntu等其他linux系统可以参照操作。如有错误,欢迎发送邮件联系我修正,谢谢

 

材料:

 

CentOS-6.8-x86_64-minimal.iso

下载地址:http://mirrors.ustc.edu.cn/centos/6.8/isos/x86_64/CentOS-6.8-x86_64-minimal.iso

CentOS-6.8-x86_64-bin-DVD1.iso

下载地址:http://mirrors.ustc.edu.cn/centos/6.8/isos/x86_64/CentOS-6.8-x86_64-bin-DVD1.iso

ubuntu-14.04.3-server-amd64.iso

下载地址:http://mirrors.ustc.edu.cn/ubuntu-releases/14.04/ubuntu-14.04.4-server-amd64.iso

2.6.11-1.el6

Python 2.7

Vmware 12.1.1  

epel-release-latest-6.noarch.rpm

下载地址:http://mirrors.ustc.edu.cn/epel/epel-release-latest-6.noarch.rpm

 

简介:

 

网络安装服务器套件 Cobbler(补鞋匠)发布从前,我们一直在做装机民工这份很有前途的职业。自从若干年前 Red Hat 推出了 Kickstart,此后我们顿觉身价倍增。不再需要刻了光盘一台一台地安装 Linux,只要搞定 PXEDHCPTFTP,还有那满屏眼花缭乱不知所云的 Kickstart 脚本,我们就可以像哈里波特一样,轻点魔棒,瞬间安装上百台服务器。这一堆花里胡哨的东西可不是一般人都能整明白的,没有大专以上学历,通不过英语四级, 根本别想玩转。总而言之,这是一份多么有前途,多么有技术含量的工作啊。很不幸,Red Hat 最新(Cobbler项目最初在2008年左右发布)发布了网络安装服务器套件 Cobbler(鞋匠),它已将 Linux 网络安装的技术门槛,从大专以上文化水平,成功降低到初中以下,连补鞋匠都能学会。对于我们这些在装机领域浸淫多年,经验丰富,老骥伏枥,志在千里的民工兄弟们来说,不啻为一个晴天霹雳。

 

过程:

 

为了保证安装的顺利性,建议大家使用centos6 X86_64的最小化安装光盘来部署测试,

以下是测试环境的网络情况:

wKioL1eW7W7Du0sWAACEPfljdUM452.png-wh_50

首先我们先将Cobbler这台机器使用CentOS-6.8-x86_64-minimal.iso,这个最小化镜像来安装安装系统,并且配置IP192.168.136.3,然后使用

yum update


来把系统更新到最新版本,Cobbler这个软件包centos的源默认不提供,我们需要安装EPEL源来安装,在shell里执行

rpm -Uvh http://mirrors.ustc.edu.cn/epel/epel-release-latest-6.noarch.rpm        
yum install cobbler cobbler_web dhcp


安装完成后,我们需要把系统里Python升级到2.7版本来支持Cobbler的最新组件。最小化安装的centos系统里默认没有集成wgetxznanoDjangocmanpykickstartgcc这些包,我们先执行

yum install wget xz gcc nano Django cman pykickstart


如果需要部署ubuntu的安装还需要安装

yum install ed patch perl perl-Compress-Zlib perl-Cwd perl-Digest-MD5 perl-Digest-SHA1 perl-LockFile-Simple perl-libwww-per
                                               
rpm -Uvh http://mirrors.ustc.edu.cn/epel/6Server/x86_64/debmirror-2.14-2.el6.noarch.rpm --nodeps

打开/etc/debmirror.conf,注释掉@dists="sid";和@arches="i386";两行


nano  /etc/debmirror.conf


wKiom1eW7hvDQX4gAAAS2Ne3ZlM715.png

Ctrl + x 接着按Y 回车保存退出。然后执行下面命令来下载并编译安装Python2.7

cd /root
                                                                   
mkdir python
                                                               
cd python
                                                                  
wget https://www.python.org/ftp/python/2.7.12/Python-2.7.12.tar.xz

xz -d Python-2.7.12.tar.xz
                                                     
tar xvf Python-2.7.12.tar
                                                      
cd Python-2.7.12
                                                            
./configure --prefix=/usr/local
                                                 
make
                                                                      
make install

安装完成后我们还需要修改下/usr/bin/yum/usr/bin/Cobbler这两个文件来让Cobbler正常运行。


nano /usr/bin/yum

移动光标将#!/usr/bin/python修改成 #!/usr/bin/python2.6,然后Ctrl + x 接着按Y 回车保存退出


nano /usr/bin/cobbler

移动光标将#!/usr/bin/python2修改成 #!/usr/bin/python2.6,然后Ctrl + x 接着按Y 回车保存退出。

Cobbler运行环境与iptablesselinux有冲突,需要我们关闭掉这两个组件。


nano /etc/selinux/config

移动光标将SELINUX=enforcing修改成 SELINUX=disabled然后Ctrl + x 接着按Y 回车保存退出。


chkconfig iptables off
service iptables stop
                                                              
sync
                                                                           
sync
                                                                           
sync
                                                                           
reboot

等待系统重启好了,我们先用openssl来生成一个将来部署的机器的root用户密码

openssl passwd -1 -salt 'random-phrase-here' '1234567890'

标红处可以修改成你自己的密码

wKiom1eW7xmgtC1-AAAUPWsu3T8224.png$1$random-p$RkqDMTpuNlZZhJ7moLn3Q. 这个就是生成的密钥,把他复制保存下来,后面要用。接着修改Cobbler服务端的配置文件


nano  /etc/cobbler/setting

移动光标找到'next_server: 127.0.0.1'修改成192.168.136.3 (tftp服务器地址,Cobbler服务器的IP)'server: 127.0.0.1' 修改成 192.168.136.3(Cobbler服务器地址) 'manage_dhcp: 0'0改成1接受Cobbler来管理DHCP,'manage_rsync: 0'0改成1,接受Cobbler来管理rsync,找到default_password_crypted: "$1$mF86/UHC$WvcIcX2t6crBz2onWxyac."把标红段修改成之前生成的密钥。然后Ctrl + x 接着按Y 回车保存退出。

 

修改TFTPRSYNC的配置文件

 

nano  /etc/xinetd.d/tftp

移动光标找到disable=yes修改成disable=no,然后Ctrl + x 接着按Y 回车保存退出。


nano  /etc/xinetd.d/rsync

移动光标找到disable=yes修改成disable=no,然后Ctrl + x 接着按Y 回车保存退出。



修改dhcp的配置文件

 

nano /etc/cobbler/dhcp.template

找到   

        subnet 192.168.1.0 netmask 255.255.255.0    修改成自己的网段,

        option routers             192.168.1.5;          修改成网段的网关地址,

        option domain-name-servers 192.168.1.1;    修改成运营商提供的DNS地址,

        option subnet-mask         255.255.255.0;     修改成网段的子网掩码

        range dynamic-bootp       192.168.1.100 192.168.1.254;  修改成要分配的IP段,

注意中间的空格,然后Ctrl + x 接着按Y 回车保存退出。

 

wKioL1eW72yQcdieAAAbHYvdp-4324.png 

 

修改HOST设置


nano /etc/hosts

在文件结尾加入 127.0.0.1 localhost 然后Ctrl + x 接着按Y 回车保存退出。

 

启动服务

service httpd restart
                                                                 
service xinetd start

service cobblerd start
                                                              
chkconfig httpd on
                                                                 
chkconfig dhcpd on
                                                                
chkconfig xinetd on
                                                                
chkconfig tftp on
                                                                  
chkconfig cobblerd on


导入Cobbler的配置文件

service cobblerd restart

cobbler get-loaders
                                                                
service cobblerd restart
                                                             
cobbler sync
                                                                      
service dhcpd start
cobbler check


 

导入镜像ubuntu镜像

mkdir -p /mnt/ubuntu14.04

mount -o loop /root/ubuntu-14.04.3-server-amd64.iso /mnt/ubuntu14.04/

cobbler import --path=/mnt/ubuntu14.04/ --name=ubuntu14.04 --arch=x86_64
    
cobbler sync


 

导入镜像centos镜像

mkdir -p /mnt/CentOS6.8
mount -o loop /root/CentOS-6.8-x86_64-bin-DVD1.iso /mnt/CentOS6.8/
cobbler import --path=/mnt/CentOS6.8/ --name=CentOS6.8 --arch=x86_64
cobbler sync