高性能计算

在 PS3+YDL上安装集群(zz)

2010年3月24日 阅读(344)

zz from: http://oss.lzu.edu.cn/modules/lifetype/index.php?op=ViewArticle&articleId=427&blogId=6

在PS3+YDL上安装集群

             falcon <zhangjinw@gmail.com>
             2007-6-5

说明:刚接触集群,这里仅仅是一个操作笔记。里头可能有很多错误,欢迎指正。另外,转载请注名出处,并保留作者信息。

       如何在PS3上安装YDL(yellow dog linux)见参考资料,安装好YDL之后,默认安装了防火墙并进行了一定的安全配置,也安装了NFS服务。
       为了在linux上搭建一个集群,我们下载了mpich。为方便起见,我们只在一台服务器节点上安装它,其他节点通过NFS服务来使用服务器节点上的 mpich,这样可以避免重复的安装操作。
      
       假设我们有两台机器,一台是ps3-1(主机名,下同),另外一台是ps3-2,我们选择ps3-1作为服务器节点。对应的ip地址分别是 192.168.1.1.和192.168.1.2,并且假设两台机器上有相同的用户user,它们的密码也相同。另外,由于YDL默认配置的防火墙的限 制,我们将无法进行某些操作,所以,在进行下面的操作之前,先关闭掉ps3-1和ps3-2上的防火墙,只要分别在两台机器上执行下面的命令即可(注意: 一定要关闭,否则服务器节点在启动mpdboot等命令的时候将无法连接其他节点)。

> su
> /sbin/iptables -F

*可以直接把iptables服务给停掉:

> /etc/init.d/iptables stop
> /sbin/chkconfig –level 2345 iptables off
或者
> chmod -x /etc/init.d/iptables

       一、下载最新的mpich2-1.0.5p4.tar.gz

       
http://www-unix.mcs.anl.gov/mpi/mpich/index.htm

       (注意,它和以前的版本不大一样)

> cd ~
> wget ftp://ftp.mcs.anl.gov/pub/mpi/mpich2-1.0.5p4.tar.gz
> tar zxf mpich2-1.0.5p4.tar.gz
> cd mpich2-1.0.5p4; more README

       具体操作之前看一下它的README比较有好处,可以对后面的操作更容易理解。

        二、在服务器节点(ps3-1)上安装mpich2和简单测试

> cd ~
> mkdir mpich2
> cd mpich2-1.0.5p4      
> ./configure –prefix=/home/user/mpich2
> make; make install
> vi ~/.bash_profile
PATH=$PATH:$HOME/bin:$HOME/mpich2/bin
> cd ~
> vi .mpd.conf            //后面的mpich2_on_ps3是一个密码,你可以自定设置
secretword=mpich2_on_ps3
> vi mod.hosts
ps3-2
ps3-1
> . .bash_profile
> mpd &
> mpdtrace
ps3-1
> mpdallexit

        三、配置主机名和ip地址的映射

分别在两台机器上,修改/etc/hosts文件,如下:

192.168.1.1     ps3-1 server
192.168.1.2     ps3-2

       四、配置ssh服务,免密码登录彼此的机器,这个是mpich2需要的

(也可以通过rsh的,我做的时候只配置了ssh)

1. 在两台机器上分别产生一个公钥,并上传到对方的机器上。

先登录到ps3-1上

> ssh-keygen -t rsa
> scp .ssh/id_rsa.pub user@ps3-2:~/
> ssh user@ps3-2
> cat id_rsa.pub >> .ssh/authorized_keys
> ssh-keygen -t rsa
> scp .ssh/id_rsa.pub user@ps3-1:~/
> ssh user@ps3-1
> cat id_rsa.pub >> .ssh/authorized_keys
//下面一个操作有其他目的,下面有说明
> cat .ssh/id_rsa.pub >> .ssh/authorized_keys

说明:为了做到,只在一台服务器上安装mpich2,在其他机器上直接通过NFS访问它

另外,只允许普通用户登录服务器进行计算,那么我们可以直接把服务器

(也是登录节点)的用户目录作为NFS服务的主目录。

这样两个系统使用了同一份家目录的两个拷贝,如果不做上面的最后一步,那么在

ps3-2上挂载了服务器(ps3-1)上的家目录后,两个机器将无法实现免密码登录了,因为

这个时候的公钥和私钥对没有了。我们在最后再把ps3-1的公钥加.ssh/authorized_keys

里头以后,两边都变成了ps3-1的id_rsa和id_rsa.pub对,这样就可以直接通过user免密码登录了。

2. 在服务器节点(ps3-1)上配置并启动nfs服务

> vi /etc/export
/home/user ps3-1(rw,no_root_squash,sync) ps3-2(rw,no_root_squash,sync)
> su
> /etc/init.d/nfs start
> vi /etc/rc.d/rc.local
/etc/init.d/nfs start

3. 在节点(ps3-2)上启动portmap,挂载服务器节点(ps3-1)上的家目录

> cd /home
> su
> /etc/init.d/portmap start
> vi /etc/rc.d/rc.local
/etc/init.d/portmap start

> mount -t nfs server:/home/user /home/user
> vi /etc/fstab
server:/home/user       /home/user                      nfs     rw      0 0

4. 测试节点(ps3-2)上的mpd是不是可以工作拉

> cd ~
> . .bash_profile
> mpd &
> mpdtrace
ps3-2
> mpdallexit

到这里,实际上就差不多了,下面介绍一个简单的实例。

        五、通过服务器节点(ps3-1)启动所有节点上的mpd,并测试一个简单的实例

登录到服务器节点(ps3-1)

> cd ~
> mpdboot -n 2         //还可以通过mpd -h <hostname> -p <port> &启动各个节点
> mpdtrace
ps3-1
ps3-2
> cd mpich2-1.0.5p4/examples/
> mpiexec -n 2 ./cpi
Process 0 of 2 is on ps3-1
Process 1 of 2 is on ps3-2
pi is approximately 3.1415926544231318, Error is 0.0000000008333387
wall clock time = 0.004876

我们下载的mpich2-1.0.5p4下有一些examples,可以用来测试测试的。

参考资料

1. 在PS3上安装YDL


http://www.ibm.com/developerworks/power/library/pa-linuxps3-1/index.html

2. Client免输密码登录SSH Server的一种方法


http://oss.lzu.edu.cn/modules/newbb/viewtopic.php?topic_id=868&forum=6

3. mpich的主页


http://www-unix.mcs.anl.gov/mpi/mpich/index.htm

4. mpich的README文件

在下载的mpich的根目录下可以找到,有mpich安装和使用的比较详细的说明

You Might Also Like