NFS+MPICH安装与设置:本实验环境是VMware+Centos8

NFS

NFS是用来共享文件夹的一种方式,使用NFS可以便于集群化管理节约存储空间。
NFS就是Network File System的缩写,它最大的功能就是可以通过网络,让不同的机器、不同的操作系统可以共享彼此的文件。
</img/article_picture/nfs_principle.jfif>

NFS安装

NFS服务端配置

  •  yum install -y  nfs-utils    #安装nfs服务
     yum install -y  rpcbind      #安装rpc服务
    
    * 启动rcp再启动NFS
    ```shell
    [root@localhost /]#systemctl start rpcbind #先启动rpc服务
    [root@localhost /]#systemctl enable rpcbind #设置开机启动
    [root@localhost /]#systemctl start nfs-server nfs-secure-server #启动nfs服务和nfs安全传输服务
    [root@localhost /]#systemctl enable nfs-server nfs-secure-server
    [root@localhost /]# firewall-cmd --permanent --add-service=nfs
    success #配置防火墙放行nfs服务
    [root@localhost /]# firewall-cmd --reload
    success
  • 配置共享文件
    [root@localhost /]# mkdir /public   #创建public共享目录
    [root@localhost /]# vi /etc/exports
    /public master(ro) #master是设置了映射,可以使用ip
    /protected master(rw) #设置共享文件夹的阅读属性ro为只读,rw为读写
    [root@localhost /]# systemctl reload nfs #重新加载NFS服务,使配置文件生效

NFS客户端配置

  • 客户端挂载(showmount)
    [root@localhost ~]# showmount -e 192.168.245.128  #客户端输入的指令是服务端ip
    Export list for 192.168.245.128:
    /protected 192.168.245.0/24
    /public 192.168.245.0/24
  • 客户端创建共享目录,并挂载目录
    [root@localhost ~]# mkdir /mnt/public
    [root@localhost ~]# mkdir /mnt/data
    [root@localhost ~]# vim /etc/fstab #在该文件中挂载,使系统每次启动时都能自动挂载
    192.168.245.128:/public /mnt/public nfs defaults 0 0
    192.168.245.128:/protected /mnt/data nfs defaults 0 1
    root@localhost ~]# mount -a #是文件/etc/fstab生效
  • 检查
    df -Th

MPICH安装与设置

准备工作

  • 更新yum库
    在这里遇到一个问题:在使用yum命令时,报错仓库发生问题,问题如下:
    “错误:为仓库 ‘appstream’ 下载元数据失败 : Cannot prepare internal mirrorlist: No URLs in mirrorlist”

    该问题的意思是镜像列表没有镜像源的URL链接。
    所以需要在镜像列表中添加镜像源,这里参考一下博客
    https://blog.csdn.net/wykqh/article/details/123004620
  • 下载依赖
    yum install wget -y
    yum install gcc gcc-c++ gcc-gfortran kernel-devel -y

下载安装Mpi与配置环境

  1. 创建新的目录,并下载安装包
cd /
mkdir software
cd /software
wget http://www.mpich.org/static/downloads/3.4.1/mpich-3.4.1.tar.gz
  1. 解压
tar -zxvf mpich-3.4.1.tar.gz
  1. 进入目录安装mpi程序
cd /software/mpich-3.4.1
./configure --prefix=/mpich-install --with-device=ch4:ofi 2>&1 | tee c.txt
make
make install

其中,./configure步骤和make步骤时间都比较长,如果./configure步骤报错,说明是有依赖没有安装,可以针对报错信息寻找解决方法。
4. 配置环境
打开文件

vim ~/.bashrc

在打开的文件末尾添加如下语句

export MPICH=/mpich-install
export PATH=$MPICH/bin:$PATH

使环境变量生效

source ~/.bashrc
  1. 验证mpi安装成功与否
    方法一:查看mpi版本
mpirun --version

方法二:运行示例程序
安装的mpi程序中有内置的测试程序,执行以下命令即可

mpirun -np 10 ./examples/cpi

最终结果如下图

执行mpi程序

  1. 编写mpi程序
    新建一个c程序
vi demo.c
  1. 编写并行程序
#include <mpi.h>
#include <stdio.h>
int main(int argc, char **argv)
{
int numtasks, rank;
MPI_Init(&argc, &argv);
printf("Hello parallelworld!\n");
MPI_Finalize();
}
  1. 编译执行demo文件
mpicc -o demo demo.c  //编译demo文件
mpirun -np 10 ./demo //以十个进程数运行文件

最终效果如下:

参考博客
1.https://blog.csdn.net/wangzhouf/article/details/108222704?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522164569585216780274145051%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%2522%257D&request_id=164569585216780274145051&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~first_rank_ecpm_v1~rank_v31_ecpm-1-108222704.pc_search_result_cache&utm_term=centos命令行MPI安装&spm=1018.2226.3001.4187
2.https://blog.csdn.net/qq_38265137/article/details/83146421