网络文件系统NFS

由于MPICH的安装目录和用户可执行程序在并行计算时需要在所有节点存副本,而且目录要相互对应,每次一个节点一个节点地复制非常麻烦,采用NFS(Netword File Systom,网络文件系统)后可以实现所有节点内容与主节点内容同步更新,并自动实现目录的对应。NFS使得所有机器都能以同样的路径(假设为/home/mpi)访问服务器上保存的文件,访问方法如同对本地文件的访问。这对于部分采用MPI进行并行计算的用户来说可能是必须的,通常我们会将MPICH的安装目录及并行程序存放目录配置为NFS共享目录,这样可以省去将文件向各个节点复制的麻烦,大大提高工作效率。


完成NFS安装配置与挂载,节点机node1设为NFS服务器,设置共享目录/home/mpi,可读写。节点机node2、node3、node4为客户机,共享NFS服务。

需要创建好用户,配置好网络、yum源及关闭防火墙和做好主机映射,并ssh免密

1、安装nfs-utils和rpcbind两软件包


[root@node1 ~]# yum -y install nfs* rpcbind


2、编辑配置文件“/etc/exports”

[root@node1 ~]# vim /etc/exports 
/home/mpi 192.168.23.0/24(rw,sync,no_all_squash) #rw表示读写,sync表示同步操作,no_all_squash表示远程普通用户不映射到nfsnobody。

3、启动rpcbind服务和nfs服务

。如果服务已经启动,则不提示信息。


[root@node1 ~]# systemctl start rpcbind
[root@node1 ~]# systemctl start nfs


4、使用exportfs命令进行一些操作


①输出所有目录


[root@node1 ~]# exportfs -av
exporting 192.168.23.0/24:/home/mpi


②重新输出共享目录


[root@node1 ~]# exportfs -arv
exporting 192.168.23.0/24:/home/mpi


③停止输出所有共享目录


[root@node1 ~]# exportfs -av


5、查看NFS服务器共享


①查看共享目录


[root@node1 ~]# showmount -e 192.168.23.111
Export list for 192.168.23.111:
/home/mpi 192.168.23.0/24


②查看客户机或IP地址及其在主机中的目录


[root@node1 ~]# showmount -a 192.168.23.111
All mount points on 192.168.23.111:


③分别在node2,node3,node4节点机上挂载nfs共享目录,参数“-t nfs”可以省略

各个节点要开启nfs和rpcbind服务。 注:node1可换成ip


[root@node2 ~]# mount node1:/home/mpi/ /home/mpi
[root@node3 ~]# mount node1:/home/mpi/ /home/mpi
[root@node4 ~]# mount node1:/home/mpi/ /home/mpi


6、测试NFS写操作


①在node4节点机上写文件和列文件操作


[root@node4 ~]# su - mpi
[mpi@node4 ~]$ touch node4w1
[mpi@node4 ~]$ ll
总用量 0
-rw-rw-r-- 1 mpi mpi 0 7月 26 06:28 node4w1


②在node1节点机上检查文件是否存在


[root@node1 ~]# cd /home/mpi/
[root@node1 mpi]# ll
总用量 0
-rw-rw-r-- 1 mpi mpi 0 7月 26 06:28 node4w1


NFS共享设置成功