重新配置了一下计算环境,顺便记录下来供同行参考,这次以安装MS5.0为例,实际上4.0,4.2,4.4的版本这几天我都配置过了,方法基本相同。
1.操作系统环境说明
客户端要求是Windows XP Professional - SP3或Vista (Business & Enterprise Editions) SP2,客户端只支持32位操作系统,也就是说装了64位的操作系统也无法用64位计算,只能运行在兼容32位模式下。
服务器端硬件现在一般是IA32或x86-64,后者较多,操作系统一般有windows、UNIX和LINUX。如果是用windows系列,可以用以下几种:
•Windows Server 2003, all editions - SP2 and R2
•Windows Server 2008, all editions - SP2
•Windows XP Professional - SP3
•Windows Vista (Business & Enterprise) - SP2
如果用UNIX系列(包含LINUX)可以用以下几种:
•x86 (32-bit)
Red Hat Enterprise Linux AS, ES, and WS - 4.7 and 4.8
SUSE™ Linux Enterprise Server 10 (SP1 and SP2)
•x86-64 (64-bit)
Red Hat Enterprise Linux AS, ES, and WS - 4.7 and 4.8
Red Hat Enterprise Linux - 5.3 and 5.4
Red Hat Enterprise Linux Desktop - 5.3 and 5.4
SuSE Linux Enterprise Server - 10 (SP1 and SP2) and 11
一般最小化安装就可以,不需要图形界面,但所有节点都要安装一些补丁,下面我以64位CentOS 4.8版为例,其他版本请参考README_Materials_Studio.htm中关于system_requirements_info部分:
glibc-2.3.4-2.43 (32-bit and 64-bit)
libgcc-3.4.6-11 (32-bit and 64-bit)
libstdc++-33-3.4.6-11 (32-bit and 64-bit)
compat-libstdc++-33-3.2.3-47.3 (32-bit)
hpmpi-2.03.01.00-20090402r.x86_64
这里要注意,除了HPMPI以外,其他都要同时安装32位和64位两种版本,HPMPI也要在所有参与计算的节点上安装。
2.SSH和RSH免认证设置,一般都是使用SSH免认证登录。
首先确认rsh-server包是否安装,方法参考Installing Materials Studio on a Linux cluster中的部分内容或网上搜索,很多教程:
HP-MPI使用rsh的话要保证各节点间可以免认证访问,这可以通过创建或修改/etc/hosts.equiv文件来实现,一般来说,hosts.equiv中要包含这样的内容:
localhost
节点1机器名
节点2机器名
……
节点n机器名
如果要使用SSH的话,首先要确认SSH服务是否安装,一般来说,SSH服务默认是安装的,测试方法如下:
ssh localhost
如果已经安装,你可以看提示符换行,并切换到当前用户的用户目录,如果没有出现这样的提示的话,就不能使用对称多处理器并行,需要检查SSH是否可用。
如果出现要求你输入密码的提示符,你就需要进行SSH免认证设置。当你第一次采用SSH登录时一般会看到以下提示:
The authenticity of host 'dewer2 (133.27.92.5)' can't be established.
RSA key fingerprint is cf:d6:77:c6:db:42:99:6f:11:07:f3:38:46:7b:f9:05.
Are you sure you want to continue connecting (yes/no)?
回答yes继续,片刻后,看到一个新的提示符.
配置SSH免认证登录的方法如下:
为当前安装MS网关的用户创建一个公钥对,方法如下:
$> ssh-keygen -t rsa
不要输入任何密码字符串,只回车两次就可以了。
产生的私钥放于~/.ssh目录下的id_rsa 和id_rsa.pub文件中,将id_rsa.pub文件另存为 authorized_keys2。
改变读写权限,保证目录~./ssh和里面的文件不被其他任何用户访问,否则无法实现免认证登录,操作方法如下:
切换路么到保存密钥之处
cd ~/.ssh
设置权限
chmod 600 *
设置目录访问权限
chmod 700 .
Materials Studio用户的主目录必须设为对其他用户只读权限,如果其他用户有写权限的话,SSH还要要求输入密码,操作过程如下:
切换到用户的主目录
cd ~
改变权限,命令如下:
chmod 755 .
在各节点进行同样的操作,然后将所有id_rsa.pub的内容全并到一个文件里并命名为 authorized_keys2,放到每一个节点的~/.ssh路径下。这样应该就可以做到免认证SSH了,如果还提示要输入密码的
话再仔细检查一下上述各步是否有误。
注意,MS的安装用户一定是非root用户,否则无法实现免认证登录,也无法实现多节点并行。
3.MS安装
先将MS文件上传到主节点,可以以打包的形式上传,也可以先做成ISO,我一般是习惯先做成ISO上传,以免出现权限不够的问题,遇到权限不够的时候改变文件属性,加上执行权限就可以了。
上传后将ISO文件挂载到某一目录下,如果想挂到根目录下mnt目录下的iso目录中,命令如下:
mount -o loop -t iso9660 ms50_unix.iso /mnt/iso
在主节点上切换到MS安装用户,本人用的是msi,然后到换到/mnt/iso/UNIX下执行./Install --type cluster,或是直接./mnt/iso/UNIX/Install --type cluster
--type cluster这个参数是并行时必须的加的参数,另一个要注意的就是要用非root用户安装。
安装过程中其他基本上用默认的就可以,但有一个临时文件夹建议不要放在共享目录下,每个节点放一个tmp,这样可以减少节点间的通信量,提高性能。比如说我的安装目录是/home/msi/Accelrys/MaterialsStudio50,Accelrys是我要共享给其他节点的目录,那tmp我就放在/home/msi/下,用MS的用户创建,保证可写入。其他每个节点的用户目录下都创建一个tmp目录。安装完成后将Accelrys目录共享给其他节点。
先将Accelrys共享,编辑/etc/exports,加入下面一行内容:
/home/msi/Accelrys *(rw,no_root_squash)
保存退出后,重启NFS服务
service NFS restart
然后到其他节点上,su root,输入密码,执行以下命令:
mount -t nfs 主节点名:/home/msi/Accelrys /home/msi/Accelrys
再将hosts.equiv文件放在/etc下和/home/msi/Accelrys/etc下.
将licenses里第一行中的机器名改为你的主节点的机器名后,文件名改为msi.lic放到/home/msi/Accelrys/LicensePack/Licenses里。
修改
/home/msi/Accelrys/MaterialsStudio50/share/data下的machines.LINUX,写上各节点的机器名:CPU数。修改/home/msi/Accelrys/MaterialsStudio50/etc/Gateway/root_default/dsd/conf里两个文件里的CPU数为你各节点CPU总数。
重新启动网关,进入/home/msi/Accelrys/MaterialsStudio50/etc/Gateway,执行
./msgateway_control_18888 start
到此,LINUX下的安装结束。
回到windows下,配置服务控制台,加入新的网关,然后测试是否可用,如有问题再回头一下排查。
写的较匆忙,可能有不准确的地方,以后慢慢再修改。