Cobbler自动化安装部署Ubuntu和CentOS教程
本文档是基于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 start
service xinetd start
service cobblerd start
chkconfig httpd on
chkconfig dhcpd on
chkconfig xinetd on
chkconfig tftp on
chkconfig cobblerd on
导入Cobbler的配置文件
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