版权声明:本文为博主原创文章,未经博主允许不得转载。
xCAT裸机部署 ( by quqi99 )
作者:张华 发表于:2013-07-21
版权声明:可以任意转载,转载时请务必以超链接形式标明文章原始出处和作者信息及本版权声明
http://blog.csdn.net/quqi99 )
因为想搞清楚上篇博客 http://blog.csdn.net/quqi99/article/details/9396413 提到的能否用xCAT来自动配置RAID的问题,所以花了一个小时看了一下xCAT如何使用。但是因为我们伟大的长城防火墙的缘故,在今天的学习过程中,突然就一直上不了sourceforge.net网站了,所以本文提到的步骤既没有做实验验证,也没有继续看xCAT和RAID结合的那部分内容。只是根据之前缓存下来的网页和手上已有的资料整理了一下xCAT基本的使用步骤。
xCAT是一个集群管理工具,能用于裸机部署,Dell的crowbar具有类似的功能,crowbar能做BIOS配置,RAID配置,网络搜寻,状态监控,性能数据收集,和报警。Crowbar是开源了但它并没有将RAID等高级功能开源,所以我研究了xCAT。在裸机上通过xCAT部署了操作系统之后,可以继续用puppet或chef之类的工具进行软件的安装和配置。希望使用chef的同学可参见它的红宝书:http://docs.opscode.com/essentials_cookbook_directory.html。XCAT一些诱人的特性如下:
-
自动发现硬件
-
firmware, BIOS/UEFI配置
-
在x86_64平台上基于IPMI进行远程硬件控制,如开关机,如收集CPU的温度等状态信息,也支持Power和systemz架构(zVM/zLinux)
-
安装裸机,支持的OS有:RHEL,CentOS, Fedora, Ubuntu, AIX, windows, SLES, Debian等
-
IaaS云功能,可通过copycds定义操作系统镜像,支持通过KVM,PowerVM, zVM, Vmware等创建创机
-
提供中心化的GUI界面,也能将一个CLI命令同时发向所管理的多个节点
-
性能和状态监控
-
和HPC的一些产品集成,如GPFS等,crowbar是和Hadoop集成
其架构如下图所示,一个单一xCAT管理节点能管理500个节点左右的Linux:
1 安装xCAT并配置NM网络管理节点
1, 关闭selinux和iptables
echo 0 >/selinux/enforce
sed -i's/^SELINUX=.*$/SELINUX=disabled/' /etc/selinux/config
service iptables stop
chkconfig iptables off
2,配置网卡,如果BOOTPROTO=dhcp的话,不想dhclient/dhcpc去更新/etc/resolv.conf也需要添加:PEERDNS=no,也需要设置hostname及时区。
vi/etc/sysconfig/network-scripts/ifcfg-eth1
DEVICE=eth1
ONBOOT=yes
BOOTPROTO=static
IPADDR=172.20.0.1
NETMASK=255.240.0.0
3,xCAT可从物理交换机获得MAC地址从而自动发现其他节点,这需给交换机的管理端口设置IP及打开SNMP特性。例:
[root@node1 ~]# telnetxcat3750
xcat3750-1>enable
xcat3750-1#configureterminal
Switch(config)#access-list 10 permit <IP of MN>
Switch(config)#snmp-server group xcatadmin v3 auth write v1default
Switch(config)#snmp-server community public RO 10
Switch(config)#snmp-server community private RW 10
Switch(config)#snmp-server enable traps license?
Switch(config)#snmp-server user xcat xcatadmin v3 auth SHA passw0rd access 10
检查是否配置成功:
sudo yum installnet-snmp net-snmp-utils
snmpwalk -v 3 -u xcat-a SHA -A passw0rd -X cluster -l authnoPriv <ip-of-switch>.1.3.6.1.2.1.2.2.1.2
4,下载xcat-core和xcat-dep,http://sourceforge.net/projects/xcat/files/xcat-dep/2.x_Linux/
或将这两个工程的yum源下载放到/etc/yum.repos.d/目录下,然后
sudo yum clean all&& sudo yum update
5, 安装NM,sudo yum install xCAT
6, NM中两个重要的表site和networks(可用tabdump命令查看表,用tabedit命令修改表)
7, Nm节点上配置DNS,Nm中的/etc/hosts文件可以手动配置,也可以通过上面说的配置交换机自动发现。xCAT会根据这里的定义给裸机分配hostname和ip。配置好这个文件后执行:
makedns -n && make dns all && sudoservice named restart
且如要是手工配置方式的话,每次添加新裸机节点都需重复执行这几个命令。切记,hostname不能用大写,这似乎是xCAT的一个bug。
8,NM节点上配置dhcp,先安装dhcp的软件包,然后执行:
makedhcp -n && makedhcp all &&sudo service named restart
这样会生成dhcp的一些配置文件,如/etc/dhcpd/dhcpd.conf,和/var/lib/dhcpd/*.lease文件。lease文件记录哪台客户机使用了dhcp服务器,里面有裸机的MAC和IP信息。所以,很显然,如果是手工配置方式的话,这步在新增裸机后也要重复执行。
/etc/dhcpd/dhcpd.conf文件如何配置,略。
9, Nm节点上配置conserver软件,在安装裸机过程中可通过rconsnode1命令查看安装过程。
makeconservercf && sudo service conserverrestart
10, 对tftp的设置,如果报”bootfilename, tftp:open timout”的话,得查看/etc/xinet.d/tfpy中的disable=yes属性
2 添加一个裸机作为被管理机
查看裸机节点定义:lsdefnode1
添加一个裸机定义:nodeaddnode1 key=value
修改裸机定义属性:chdefnode1 mac=...
配置一个裸机节点成功之后通过rpowerall stat命令应该可以看到如:
node1:on
重要属性说明:
arch=x86_64
bmc=<bmc-ip>, #bmc是IBMX系统服务器的带外管理端口
bmcpassword=PASSWORD
bmcusername=USERID
cons=ipmi #使用IPMI接口管理
groups=mygroup #裸机所在的组
installnic=mac
mac=34:40:B5:AB:7C:50
mgt=ipmi #通过ipmi进行电源管理
monserver=<monserver-ip> #监控服务器
netboot=xnba #可能xnba是PXE的一种改进的网络启动模式
nodetypes=osi #osi是osimage的缩写,这个和copycds重成的镜像文件一致
postbootscripts=syslog, remoteshell, synfiles #裸机安装完后要执行的脚本
3 上传镜像
先把镜像拷到NM机上面,然后执行“Copycdsrhel.iso”命令就可以将它上伟到MN的/install/文件下面,其中/install目录就是site表中的installdir字段定义的。
4 安装裸机节点
网络启动安装:nodesetnode1 install
安装过程中可通过rconsnode1命令查看安装过程。
重新安装:rinstall(-o rhels6.2) node1 #其中-o参数可以父盖nodeadd节点添加时的OS参数。
重新安装一个裸机的话,可用一个脚本:
#! /bin/bash
makedhcp -a
makedhcp -n
makeconservercf
service xcatd restart
service dhcpd restart
service named restart
nodeset node1 install
rsetboot node1 net #如果不设置这步,启动时就不会从网络安装
rinstall -o rhels6.2 node1
参考:http://sourceforge.net/apps/mediawiki/xcat/index.php?title=XCAT_iDataPlex_Cluster_Quick_Start