赞
踩
本文讲述基本过程,具体操作还可能出现各种问题,请自行研究。
单机多核并行版本请参考另一篇博客:
http://blog.csdn.net/txcokokok/article/details/42219099。
系统和软件:Ubuntu 12.04, inter fortran compiler 2013,Openmpi 1.8.2,ssh,nfs,openssh-server。
一、物理连接
用网线连接两台电脑,可使用交换机连接多台。
二、环境安装
在联网状态下,分别在两台电脑上运行以下命令:
sudo apt-get install ssh openssh-server
sudo apt-get install nfs-kernel-server
sudo passwd root #设置root账户密码
三、修改IP,DNS,ping通两台电脑
(1)联网状态下,在A电脑上使用ifconfig命令查看本机IP,此处为192.168.1.106。
(2)修改B电脑的IP,DNS,修改后B电脑无法上网。
修改IP: /etc/network/interface,加入:
auto eth0
iface eth0 inet static
address 192.168.1.100 #本机的IP,前三位与A电脑相同即可
gateway 192.168.2.254 #默认即可
netmask 255.255.255.0
修改DNS: /etc/dhcp/dhclient.conf,在最后加入A电脑的IP:
prepend domain-name-servers 192.168.1.106
(3)修改两台电脑的:/etc/hosts,加入两台电脑的IP
192.168.1.106 txc_X9DAi#A电脑用户名
192.168.1.100 txc_X9 #B电脑用户名
如果两台电脑用户名相同,请自行更改其中一台。
全部修改完成后,重启。
(4)用网线连接后,在A电脑上运行以下代码,修改IP:
sudo ifconfig eth0 192.168.1.106
sudo /etc/init.d/networking restart
可在B电脑上使用ping 192.168.1.106 来检查与A电脑的连接,或相反。
四、建立ssh连接
(1)在两台电脑上运行:
ssh-keygen -t rsa #生成密钥
(2)在A电脑上运行以下命令,自行修改用户名:
scp ~/.ssh/id_rsa.pub txc-X9:~/.ssh/1.pub #使用scp命令复制A电脑的公钥id_rsa.pub到B电脑上,写入1.pub文件中。
(3)在B电脑上:
cp ~/.ssh/id_rsa.pub authorized_keys #复制B电脑公钥id_rsa.pub为authorized_keys
cat ~/.ssh/1.pub >> authorized_keys #合并A、B电脑公钥到authorized_keys中
scp ~/.ssh/authorized_keys txc-X9DAi:~/.ssh/ #复制authorized_keys到A电脑
以上过程也可自行复制,文件都在用户文件夹下的 .ssh 文件夹内。
(4)在两机上运行:
chmod 644 ~/.ssh/authorized_keys #提高权限
ssh-add
实现两机互访不需输入密码。
在B电脑上使用 ssh txc-X9DAi 来ssh A电脑,或相反,检查是否成功。
五、安装nfs
(1)第二步运行过:sudo apt-get install nfs-kernel-server 之后
在A电脑上修改 /etc/exports,设置要共享的文件夹,此处为VASP:
/home/txc/VASP *(rw,sync,no_root_squash)
(* :允许所有的网段访问
rw :读写权限
sync:资料同步写入内在和硬盘
no_root_squash:nfs客户端共享目录使用者权限)
sudo /etc/init.d/portmap restart #重启portmap,
sudo /etc/init.d/nfs-kernel-server restart #重启nfs服务
(2)在B电脑上运行mount命令,建立A、B电脑上两个VASP文件夹的共享连接,自行修改用户名。
sudo mount txc-X9DAi:/home/txc/VASP /home/txc/VASP
永久修改的方法:
http://wenku.baidu.com/view/163e99d63186bceb19e8bbfe.html
#################################################################################
至此集群环境搭建完毕,下面是集群的VASP的安装过程。
基本内容与单机相同,其他步骤参考下文:
http://blog.csdn.net/txcokokok/article/details/42219099。
不同之处:
一、改用以下命令编译openmpi:
./configure --prefix=/home/txc/install/openmpi --enable-heterogeneous --enable-sparse-groups --enable-static --enable-orterun-prefix-by-default F77=ifort FC=ifort
二、改用以下命令安装VASP:
修改5.2的makefile,改为静态编译,即使用 .a 为后缀的文件。
(也许按另一篇的动态编译也可以,没有试过。两机硬件相同的话,只在一台上安装,另一台拷贝VASP运行文件过去应该也可以。)
64位:
MKL_PATH=/opt/intel/composer_xe_2013.2.146/mkl/lib/intel64 #就是包含以下库文件的路径
BLAS= -Wl,--start-group $(MKL_PATH)/libmkl_intel_lp64.a$(MKL_PATH)/libmkl_sequential.a $(MKL_PATH)/libmkl_core.a -Wl,--end-group -lm -lpthread #-Wl,--start-group -Wl,--end-group 用于反复查找库文件中的链接,避免出现找不到文件的情况
LAPACK=$(MKL_PATH)/libmkl_intel_lp64.a
三、改用以下命令运行VASP
mpirun --allow-run-as-root-hostfile hostfile -np 2 vasp
hostfile内容如下,自行修改用户名,使用slots指定每台电脑上的进程数,每台机是16核,使用16个进程:
txc-X9DAi slots=16
txc-X9 slots=16
可直接修改openmpi安装目录下的hostfile文件,并设置为共享,方便修改。如果运行后提示找不到hostfile文件,则应在运行命令处指定hostfile文件的路径。
################################################################################
每次开机后,需运行以下命令设置IP和共享连接
1.在A电脑上运行
sudo ifconfig eth0 192.168.1.106
sudo /etc/init.d/networking restart
ssh-add
2.在B电脑上运行
ssh-add
sudo mount txc-X9DAi:/home/txc/VASP /home/txc/VASP
sudo mount txc-X9DAi:/home/txc/install/openmpi/etc /home/txc/install/openmpi/etc#hostfile文件路径
然后就可以运行vasp了
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。