Cobbler自动化部署ubuntu和centos技术文档
制作人:童安安
时 间:2016年7月25日 2016年7月29日修订
版 本:第一版 修订1
Email:tonganan@gmail.com taa@tonganan.com
本文档是基于Centos 6.8最小化安装镜像制作,适用于redhat 6和Centos 6,ubuntu等其他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,只要搞定 PXE、DHCP、TFTP,还有那满屏眼花缭乱不知所云的 Kickstart 脚本,我们就可以像哈里波特一样,轻点魔棒,瞬间安装上百台服务器。这一堆花里胡哨的东西可不是一般人都能整明白的,没有大专以上学历,通不过英语四级, 根本别想玩转。总而言之,这是一份多么有前途,多么有技术含量的工作啊。很不幸,Red Hat 最新(Cobbler项目最初在2008年左右发布)发布了网络安装服务器套件 Cobbler(补鞋匠),它已将 Linux 网络安装的技术门槛,从大专以上文化水平,成功降低到初中以下,连补鞋匠都能学会。对于我们这些在装机领域浸淫多年,经验丰富,老骥伏枥,志在千里的民工兄弟们来说,不啻为一个晴天霹雳。
过程:
为了保证安装的顺利性,建议大家使用centos6 X86_64的最小化安装光盘来部署测试,
以下是测试环境的网络情况:
首先我们先将Cobbler这台机器使用CentOS-6.8-x86_64-minimal.iso,这个最小化镜像来安装安装系统,并且配置IP为192.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系统里默认没有集成wget、xz、nano、Django、cman、pykickstart和gcc这些包,我们先执行
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
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运行环境与iptables和selinux有冲突,需要我们关闭掉这两个组件。
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'
标红处可以修改成你自己的密码
$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 回车保存退出。
修改TFTP和RSYNC的配置文件
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 回车保存退出。
修改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
转载于:https://blog.51cto.com/tonganan/1830072