手抄报 安全手抄报 手抄报内容 手抄报图片 英语手抄报 清明节手抄报 节约用水手抄报

基于centos7的MPI高性能运算环境搭建

时间:2025-01-08 21:22:54

这里是为计算服务所用到的集群为高性能集群。基本上需要三个步骤1 ssh无密码访问2 Nfs文件共享3 Mpi配置

工具/原料

CentOS-7-x86_64-DVD-1511.iso

Intel® Parallel Studio XE 2015

一,系统与软件安装

1、1系统采用CentOS-7-x86_64-DVD-1511.iso系统安装参见引用

2、3 Intel® Parallel Studio XE 2015安装参考2013的安装http://www.bkjia.com/Linuxjc/913104.html

3、3 InfiniBand的驱动的安装(使用普通网卡的请跳过本步骤)Mellanox的网站下载InfiniBand的驱动如上图http://www.mellanox.com/page/products_dyn?product_family=26&mtag=linux_sw_drivers下载其中对应系统版本的驱动文件tgz或者iso,如果是iso就挂载mount -o ro,loop MLNX_OFED_LINUX********.iso /mnt如果是tgz就解压tar –zxvf MLNX_OFED_LINUX********.tgz并到相应的文件夹执行./mlnxofedinstall –all会报错,根据提示yum安装所需要依赖的文件包。以上步骤在所有节点上都要进行。另外注意,主机选用—all选项,从机可以只选正常的basic,但是为了简单。我在这里都用了—all 安装了子网管理器 和HPC的所有内容。4.启动openibd并设为开机启动:service openibd startchkconfig openibd on5.启动子网管理器opensmd并设为开机启动:service opensmd startchkconfig opensmd on6.查看HCA端口状态,若State为Active,则表示正常。ibstat7.还可以用如下命令查看HCA端口:hca_self_test.ofed8.重启系统

二,ssh无密码访问

1、禁止防火墙和selinux# systemctl disable firewalld# systemctl stop firewalld修改/etc/sysconfig/selinux确保SELINUX=disabled,然后执行setenforce 0或者reboot服务器以生效2、各节点之间域名名互相解析(hosts)分别修改2台主机名分别为node1和node2,在centos 7中直接修改/etc/hostname加入本机主机名和主机表,然后重启网络服务即可。Node1如下#vi /etc/hostnamenode1#systemctl restart network.serviceNode2与之类似。Hosts文件配置两台台主机的主机表,在/etc/hosts中加入192.168.1.11node1192.168.1.12 node23、各节点之间时间同步在node1和node2分别进行时间同步,可以使用ntp实现。[root@node1 ~]# ntpdate 172.16.0.1需要联网在时间正确情况下省去问题不大4,各节点之间配置ssh的无密码密钥访问。下面的操作需要在各个节点上操作。# ssh-keygen -t rsa -p!然后一路enter# ssh-copy-id -i /root/.ssh/id_rsa.pub root@node2 #对方主机名过程中要输入对方机器的密码。两台主机都要互相可以通信,所以两台主机都得互相生成密钥和复制公钥,相互的节点上的hosts文件是都要解析对方的主机名在node1上#ssh node2 测试是否无密码登陆node2;node2同样。

三,NFS文件共享

1、1,安装 NFS 服务器所需的软件包:centos 5 :#yum install nfs-utilsportmapcentos 6之后 :#yum install nfs-utilsrpcbind2,编辑exports文件,添加从机#vim /etc/exports/home 192.168.1.* (rw,no_root_squash,no_all_squash,sync)这样192.168.1.12可以挂载NFS服务器上的/home目录到自己的文件系统中。》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》/home为共享的目录,使用绝对路径。192.168.1.12/255.255.255.0(rw,no_root_squash,no_all_squash,sync)为客户端的地址及权限,地址可以是一个网段,一个IP地址例如192.168.1.2/49或者是一个域名,域名支持通配符,如:*.youxia.com,地址与权限中间没有空格,权限说明:rw:read-write,可读写;ro:read-only,只读;sync:文件同时写入硬盘和内存;async:文件暂存于内存,而不是直接写入内存;no_root_squash:NFS客户端连接服务端时如果使用的是root的话,那么对服务端分享的目录来说,也拥有root权限。显然开启这项是不安全的。root_squash:NFS客户端连接服务端时如果使用的是root的话,那么对服务端分享的目录来说,拥有匿名用户权限,通常他将使用nobody或nfsnobody身份;all_squash:不论NFS客户端连接服务端时使用什么用户,对服务端分享的目录来说都是拥有匿名用户权限;anonuid:匿名用户的UID值,通常是nobody或nfsnobody,可以在此处自行设定;anongid:匿名用户的GID值。》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》3,启动nfs服务先为rpcbind和nfs做开机启动:Centos7:#systemctl enable rpcbind.service#systemctl enable nfs-server.service然后分别启动rpcbind和nfs服务:centos 5# serviceportmap start# servicenfs startcentos6:# servicerpcbind start#service nfs startCentos7#systemctl start rpcbind.service#systemctl start nfs-server.service确认NFS服务器启动成功:#rpcinfo -p检查 NFS 服务器是否挂载我们想共享的目录 /home# exportfs/home 192.168.1.12/255.255.255.04,在从机上安装NFS 客户端首先是安裝nfs,同上先为rpcbind做开机启动:#systemctl enable rpcbind.service然后启动rpcbind服务:#systemctl start rpcbind.service注意:客户端不需要启动nfs服务检查 NFS 服务器端是否有目录共享:# showmount -e node1Export list for node1:/home 192.168.1.12/255.255.255.0在从机上使用 mount 挂载服务器端的目录/home(或者home下的某个目录)到客户端某个目录下:例如:#mkdir /home/share#mount -t nfs4 node1:/home/share/home/share#df -h 查看是否挂载成功想在客户机上实现开机挂载,则需要编辑/etc/fstab: #vi /etc/fstab加上192.168.1.11:/home/share /home/share nfs defaults 0 0例如我现在的fstab文件# /etc/fstab# Created by anaconda on Wed Jun 22 01:50:37 2016## Accessible filesystems, by reference, are maintained under '/dev/disk'# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info#/dev/mapper/centos-root / xfs defaults 0 0UUID=ae96b13e-1a14-4266-91ab-6a27bb543e27/boot xfs defaults 0 0/dev/mapper/centos-home /home xfs defaults 0 0/dev/mapper/centos-swap swap swap defaults 0 0192.168.1.11:/home/share /home/share nfs defaults 0 0

四,MPI配置

1、MPI配置首先设置环境变量在/etc/profile.d下建立一个.sh文件例如:cat /etc/profile.d/mpi.shsource /opt/intel/impi/5.0.1.035/intel64/bin/mpivars.sh mpiPATH=$PATH:/opt/intel/impi/5.0.1.035/intel64/bin在两台机器上都要进行运行时用mpirun命令例如mpirun –n4 –machinefile/machinefile ./ex4进程数,命令选项–machinefile 后跟file的绝对路径./ex 为进程Machinefile可写成类似# cat /machinefilenode1:2 #意为在结点1两个进程node2:2 #意为在结点2两个进程

© 手抄报圈