HPC服务器要点

最近听了一次马路遥朋友的讲座,他的主题就是HPC,以下内容就是根据他的讲座整理而成的。
因为涉及到高可用计算,所以服务器与服务器之间的连接速度是很重要的。是选择千兆还是万兆还是infiniband,个人感觉还是选择万兆吧。毕竟延迟小是明摆着的事情。
服务器系统的安装也是一个问题,如何迅速的安装系统呢? 用kickstart?可这个只能redhat系统下使用啊。马兄说了他使用的主要是SystemImage,和syncbased这2种方式。
如果用kickstart来安装系统,那要是每个机器需要修改的配置不同的话那可以用php/cgi的方式自定义各种ks.cfg
如何选择合适的系统,马兄由于习惯redhat的系统所以选择了centos,但是其实一些新的发行版还是真是不错,比如gentoo和ubuntu这2个,首先是内核新,其次是文件系统可选择余地大。
对于HPC来说选择一个合适的软件来进行任务管理和分配系统资源是很重要的,主要有以下几种
1 SGC: sun出品,稳定性优秀
2 openPBS,Torque 这个稳定性稍差点
3 L$F, 这个是商业软件,应该稳定性也非常优秀。

而对于这样一个庞大的系统和服务器集群做好监控是非常重要的,监控软件主要有以下几种:
1 ganglia
2 cacti
3 nagios
个人是最喜欢最后一种,客户端可供自定义的多。而前面2种就是基于snmp协议的,在内网中使用还是非常不错的选择。

管理软件,所谓的管理软件其实就是可以一次操作需要的服务器
1 pdsh 这个是多服务器管理
2 mussh 这个可以允许本地脚本在远程执行,这个应该是个不错的功能。不知道远程跟本地是通过什么进行连接的
3 cssh 这个是基于图形界面的,就好象在一个界面中开多个终端一样。这个曾经在redhat中使用过,可以自定义各种组和成员。
但是我觉得windows一些客户端也能完成上面的工作,比如xshell这样的工具,这样也可以自定义组和成员,也能一次操作对多个服务器进行生效。

既然是集群那时间同步是非常重要的,所以还要建立ntp服务器。

集群中所有服务器的认证也是非常头疼的,还好我们有NIS和openLDAP.
NIS我曾经在公司内部使用过,感觉需要在客户端上要修改挺多东西,而且不同Linux发行版本还修改的不同。openLDAP还没用过,但是听说非常好用,而且还不光能做服务器登录的认证还能做email认证等等。

在集群中不光有计算的服务器,还必须要有文件服务器,这个选择就很重要了
1 NFS: 常用,但是性能不怎么样,特别是client超过10个以上更是不行,同时不能支持对文件同时进行修改。于是衍生出了clusterFS, 这个就非常多了。
2 FressNAS: 基于FreeBSD操作系统的
3 openFilter: 基于Linux系统的
4 sun Lustre: 可以进行400台机器同时读写,这个太牛了。。。。
5 Redhat GFS: 这个不怎么好用,后面还得跟上SAN存储才行,这样成本就大了,除非你用netbsd实现SAN
6 PVFS/PVFS2