来源:作者: 发布时间:2007-11-09 05:14:02


1.linux安装
安装过程就不多说了。需要注意的是安装时,假如机群不和外界连网则能够不考虑安全
方面的因素而把rsh选为可信赖的服务,注意安装相应的软件包;假如还要和外界保持联
网,出于安全需要应把ssh选为可信赖的服务。安装以后,应该确保各节点之间能够用s
sh相互登录。每个节点的sshd都应该能正常提供服务。主机名:node1...noden (我所构
建的系统n=2)
2.创建NFS服务
在服务器节点public目录下建立mpi目录,并将其配置成NFS服务器,在/etc/exports文
件中加入一行:
/public/mpi node1(rw) node2(rw)
在客户端节点的/etc/fstab文档中增加一行:
sever :/pubilc/mpi nfs rw , bg , soft 0 0
将/public/mpi这个目录从服务器节点输出,并装载在各客户端,从而便于在各节点间分
发任务
3.修改/etc/hosts文档,将任何节点名称极其ip地址填入。例如:
127.0.0.1 localhost.localdomain localhost
192.168.1.1 node1
192.168.1.2 node2
…………………….
每个节点都进行类似的配置。这样做的目的是使节点之间能够通过node1 ... noden的名
称相互访问。您能够通过ping noden 或 ssh noden进行测试。
4.修改(或创建)/etc/hosts.equiv文档
将任何您允许访问本机进行mpi计算的机器名填入,一行一个机器名。这一步是为了使节
点对其他的节点放权。
例如,我的node1是我用于启动mpi集群计算的机器,其他的节点是参和计算者,在node
1的/etc/hosts.equiv文档是这样的:
node1 #给自己放权,这样在只有一台机器时也能够模拟并行计算环境
node2
.....
noden
在node2...noden的/etc/hosts.equiv文档:
node1 #对node1放权
node2
......
noden
5.修改~/.bash_profile文档
首先决定一个用于启动集群计算的用户名,不提倡使用root进行集群计算。这里在每个
节点上建立新用户chief,他们的主目录都是/home/chief,必须采用同样的密码,将来
的计算程式必须放在相同的路径上。譬如您的程式为:fpi.f和a.out,则必须把a.out放
在同样的路境内,比如~/mpirun/a.out,每个节点都是如此。 修改~/.bash_profile文
件,主要是加入下列几行脚本:
export PATH=$PATH:/usr/local/mpich/bin
export MPI_USEP4SSPORT=yes
export MPI_P4SSPORT=22
export P4_RSHCOMMAND=rsh 或ssh
这里我们预定了将来mpich的运行环境安装在目录/usr/local/mpich下面。其余的三个变
量是用来通知mpi运行环境采用rsh(或ssh)来作为远程shell。linux的运行环境到此就配
置完毕了。
6.配置rsh 或ssh
对于采用rsh来作为远程shell运行MPI的用户只要确保在各个节点上都具备相同的用户,
并把这一用户的密码设为空密码就能够运行了。
若采用ssh作为远程shell则按如下配置:以您设定的用于启动mpi计算的用户登录,运行
ssh-keygen,这将生成一个私有/公开密钥对,分别存放在~/.ssh/identity和~/.ssh/i
dentity.pub文档内。然后进行访问授权,运行:
cp ~/.ssh/identity.pub ~/.ssh/authorized_keys
chmod go-rwx ~/.ssh/authorized_keys
ssh-agent $SHELL
ssh-add
在每个节点重复一遍。试着在某一节点上登录其他节点,ssh noden,则在.ssh/下生成
一个known_hosts2文档,里面放着访问该主机的密钥,把任何密钥收集起来,在各个节
点上作同样的拷贝。这样做的目的是使各节点相互之间访问无需输入密码。
7.开启各项必需的服务
假如是以根用户root 登陆系统的则能够用ntsysv命令启动ntsysv实用程式。ntsysv 实
用程式允许使用简单的菜单界面启动或关闭各种运行等级的服务。在其中我们选择开启
rsh ,rlogin,telnet等。也能够关闭一些服务以加快启动速度如sendmail。
假如是使用su命令转为root用户的则很可能运行ntsysv并不出现ntsysvs实用程式。此时
能够直接去修改/etc/xinetd.d下的rlogin, rsh ,telenet的配置。用vi编辑器打开xin
etd.d:
vi /etc/xinetd.d
则可看到如下所示的配置文档:
关于rsh的配置如下
# default: off
# description: The rshd server is the server for the rcmd(3) routine and, \
# consequently, for the rsh(1) program. The server provides \
# remote execution facilities with authentication based on \
# privileged port numbers from trusted hosts.
service shell
{
disable = yes
socket_type = stream
wait = no
user = root
log_on_success += USERID
log_on_failure += USERID
server = /usr/sbin/in.rshd
}
关于rlogin的配置如下
# default: off
# description: rlogind is the server for the rlogin(1) program. The server
\
# provides a remote login facility with authentication based on \
# privileged port numbers from trusted hosts.
service login
{
disable = yes
socket_type = stream
wait = no
user = root
log_on_success += USERID
log_on_failure += USERID
server = /usr/sbin/in.rlogind
}
关于telnet的配置如下
# default: off
# description: The telnet server serves telnet sessions; it uses \
# unencrypted username/password pairs for authentication.
service telnet
{
disable = yes
flags = REUSE
socket_type = stream
wait = no
user = root
server = /usr/sbin/in.telnetd
log_on_failure += USERID
}
任何这些服务在安装完系统之后都是默认为禁用的,要进行修改来打开这些服务。如要
通过修改启动telenet则就需要改disable = yes为disable = no。对于其他的服务的启
动的修改和之相同。若启动这些服务则只需要简单执行:
#/etc/rc.d/init.d/xinetd restart
或重起电脑就能够使所作的更改生效。
C.在服务器节点编译、安装Fortran90编译器
先将Fortran90(我用的是Intel的)编译器拷贝至/tmp下,然后用tar xvfz fortran90
.tar.gzj解压缩。运行
./install
选择您所要安装的类型,假如您的机器是基于IA-32,就选择1。假如您的机器是基于It
anium(TM)-based system就选择2。假如要停止安装,就选择X。选择过之后安回车进入
下一步,此时会需要您选择 :
1. Intel(R) Fortran Complier for 32-bit Applications,Version 6.0 build 02031
2Z
2. 2.Linux Applicationdebugger for 32-bit Applications,Version 6.0 buid 2002
0
x. Exit
按顺序选择1,2 。最后选择X 完成安装并退出。在选择完1之后会需要您看版权声明,
输入Accept继续安装。默认的安装路径为/opt/intel,选择默认路径按Enter继续。选2之
后的情形和1相同。假如不注册能够用90天。
D. 在服务器节点编译、安装mpich 1.2.3
将mpich 1.2.4:ftp://ftp.mcs.anl.gov/pub/mpi/mpich.tar.gz。拷贝到一个临时目录
下,放在/tmp下了。用root用户登录进行编译安装。
1. 对mpich的安装进行预处理:
首先,用tar xvfz mpich.tar.gz解压。生成mpich-1.2.3目录。转换到mpich-1.2.3目录
。运行预处理:
./configure --prefix=/usr/local/mpi --对应于用rsh进行远程登录的系统
./configure --prefix=/usr/local/mpi -rsh=ssh --对应于用ssh进行远程登录的
系统
这里我们通知编译系统mpich的安装位置为/usr/local/mpich,运行环境的远程shell为
rsh或ssh。
2.编译:
make
运行此命令后mpich软件包会自动编译形成MPI系统的函数库,需要数分钟的时间,根据
不同的机器能够略有不同。
3.安装:
make install
运行此命令能够将MPI软件包安装到由./configure --prefix选项指定MPICH安装目录即
/usr/local/mpi
修改文档/usr/local/mpi/share/util/machines/machines.LINUX。如下:
node1
ndoe2
......
ndoen
这一步是通知mpich运行环境都有那些节点可供集群计算。每个节点都这样输入一遍。
4.测试安装是否正确
在/usr/local/mpi/examples/basics下编译cpi.c:
make cpi
用命令行:
../../bin/mpirun -np 2 cp
运行。将会获得如下信息。
Processes 0 on node1
Processes 1 on node2
……..………………..
假如能正常运行即证实mpich软件包安装完全成功。
|
还没有关于此文章的相关评论!