今天成功远程安装了15台刀片服务器,完全采用cobbler自动化安装,一个多小时搞定,主要每台服务器还需要配置raid,耽误了不少时间。磁盘阵列这东西还真得一个个进阵列管理界面一个一个折腾,目前还没发现什么方便快捷的工具,好在可以使用远程控制台,方便多了!远离机房,珍爱生命!
我的cobbler服务器也是前段时间才部署完成,130多G的ubuntu12.04源也下载下来了,今天试用了下还是不错的,速度很快。基本上已经是目前最新的源了,后面加个计划任务,定期同步更新下,保持最新状态!
之前安装操作系统,使用的是kickstart,如果是两年或更早以前你用这个,还会显得很高端,现在如果还在使用kickstart,就有点落伍了。简单总结了下kickstart的缺点:
1、不能夸网段安装,每个网段都得部署一个网络安装源;
2、安全性太差,如果你把服务器第一启动顺序设置为从网络启动,那么每次重启服务器,你的系统可能就要重新安装了,不设置第一启动为网络的话,每次重装就必须得进机房接上显示器,等待着F12的出现(DELL服务器是开机时按F12从网络引导,其他服务器不太清楚,开机都会有提示的)而这个等待的过程是相当痛苦无聊的。即使你不把服务器第一启动项设置为从网络启动,一旦你的系统挂了,无法正确引导了,那么正好这时你的DHCP也开着,那么你的噩运也就降临了!
3、Kickstart的模板文件功能单一,无法对新系统做过多初始化配置。
以上仅是简单列了三点,将cobbler结合IPMI使用,功能还是相当强大的,对运维人员来说,基本上不需要进机房了。
安装前简单介绍下cobbler。
Cobbler介绍
cobbler是Redhat支持的一个开源项目,用来部署和安装系统。所以对Redhat系列os支持是比较好的。不过对ubuntu支持是非常差的。cobbler里不少设置,只针对redhat有效,同时也由于不同发行版的安装是有差异。cobbler感觉好像和ubuntu关系比较紧张.
cobbler不仅仅是一个pxe服务器,他还可以管理dns(bind),dhcp。一般数据中心里或者生产环境,是不允许dhcp, 但是pxe,必须需要dhcp,所以我们需要根据mac地址来分配IP,这样dhcp就不会影响到网络。
目标
1、自动化安装centos和ubuntu
2、IP,主机名自动配置
3、网络安装,无风险
准备服务器
一台普通PC机就可以,我的环境安装的是centos6.2_x86_64,最小化安装,没什么特别的要求,配置个固定IP就OK。
设置源
采用网易的源和USTC的源:
yum -y install wget vim-enhanced
mv /bin/vi /bin/vi.save
ln -s /usr/bin/vim /bin/vi
cd /etc/yum.repos.d/
mkdir backup
mv *.repo ./backup
wget http://mirrors.163.com/.help/CentOS6-Base-163.repo
rpm -ivh http://mirrors.ustc.edu.cn/fedora/epel/6/x86_64/epel-release-6-7.noarch.rpm
yum list
设置hostname
cat /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.80.8 cobbler.test.com
cobbler关闭selinux
sed -i '/SELINUX/s/enforcing/disabled/' /etc/selinux/config
这个需要重启机器才能生效,所以建议修改完重启.
[root@cobbler ~]# sestatus
SELinux status: disabled
关闭iptables
cobbler会使用到好几个端口,为了简化,直接把iptables关闭:
chkconfig ip6tables off
chkconfig iptables off
/etc/init.d/ip6tables stop
/etc/init.d/iptables stop
安装cobbler
1、安装cobbler相关的包
如果希望cobbler可以管理dhcp,dns,需要把dns和dhcp都安装在同一台服务器上。如果你不管理dns,可以不需要安装bind.
yum -y install cman tftp-server dhcp cobbler cobbler-web bind pykickstart