集配置(Torque安装配置+Maui安装配置+SSH免验证设置+节点共享目录设置+用户硬盘空间限制和核心使用限制设置)异常详细版
制作者:甄江苏
单位:湘潭大学材料科学与工程
本教程假设你已经在多台电脑上安装了CentOS 7.x 或RedHat 7.x版本的系统(建议每个机器上的root用户登录密码相同),并且强烈建议安装系统时选择系统语言选择英文。
本教程主要分为这几个方面:
1.IP设置、计算机名称设置及hosts文件修改
2.SSH双向免验证登录及其相关设置
3.防火墙设置
4.节点间共享文件夹(NFS服务)设置
5.NIS服务设置
6.Torque安装及其设置
7.Maui安装及其设置
8.用户硬盘使用容量限制
9.并行运行相关说明(比较重要!!!)
1.IP设置、计算机名称设置及hosts文件修改
1.1IP设置(所有节点都要设置,只有主节点必须设置两个,外网和内网):
一般服务器电脑都有两个网络接口(至少主节点上面有两个接口吧),我们可以把主节点上的一个网络接口连接外网,以便在其他电脑上通过远程ssh来进行相关操作,比如修改配置,提交任务等。另一个接口来连接内网,以便和其他子节点相互通信。外网IP是网络管理中心分配的,内网IP可以自己分配。
用图形桌面的方式进入系统,点击右上角,会看见网络接口名称(比如我的这个显示enp2s0和enp3s0两个接口),前提是你的两个接口已经连上了网线。然后点击进去,会看见关闭(或打开)选项和设置选项,点击进去进行设置,我们现在先设置内网IP(我用enp2s0接口作为内网接口),像上面说的那样选择一个接口进
去设置:
进去后,点击右下角的齿轮状图标进行设置,然后出现一个菜单,会发现左边有6项,选择第三项,进去后为左中下角的第一个“Connect automatically”打钩,然后选择左边的第四个选项(也就是“IPV4”那个选项),然后选择右上角的“ON”,“ON”的下边那个(有DHCP的那个)用鼠标点击一下,选择中间的选项(“
Manual”选项),然后在出来的地方填写IP相关信息,第一行是IP地址,可以填比如:192.168.1.1(不能是192.168.1.0),其他节点可以是.2,.3……等;第二行是掩码,所有节点都填写:255.255.255.0;第三个是网关,可以填:192.168.1.1(所有节点网关都一样),然后点击应用就可以了,而外网IP跟上面的设置方法差不多,只不过是在连接外网的网络接口里填写由网络管理中心给你的相关数据而已。
假如你现在设置了两台电脑,内网ip分别为:192.168.1.1和192.168.1.2,你想知道这两台电脑之间能不能通过内网通信,直接在一台机器上的终端执行:ping IP
这里的IP是另一台机器的ip,如果数据一行一行刷下来,然后再在另一台机器上也像上面这样做,如果也是一样,说明两台机器能够相互通信,如果卡住半天不动,说明有问题,自行百度解决。
此外,这里顺便设置一下网络接口速度,设置成千兆的,不然可能会自动变成百兆的,降低节点间通信速度。先确定内网网络接口,假如是enp2s0,然后利用root 权限执行:
[root]# ethtool -s enp2s0 autoneg off speed 1000 duplex full
注意,每台计算机都按照上述方式设置一下。
1.2修改计算机名称:
为每台计算机修改适当的名称,如node000,node001,node002……(如果在安装系统时已经设定了指定的计算机名称,那就不用设置了)
如果是CentOS 7.x或者RedHat 7.x版本的linux系统,则用root权限运行命令修改:
[root]# hostnamectl set-hostname node000
然后用命令查看是不是修改了。
[root]# hostname
修改所有节点(包括主节点)的名称,其他版本系统自行百度修改方法。
1.3修改hosts文件:
在主节点上用root权限修改/etc/hosts文件:
[root]# vim /etc/hosts
然后将本机的内网IP和所有其他节点(包括主节点)的IP填写到最下边,IP后面跟上对应的计算机名,计算机名后面也可以写上别名,比如像这样:
192.168.1.1 node000 node0 #node0是别名,用于方便ssh管理其他节点192.168.1.2 node001 node1 #这样后面就可以用ssh node1来登录……#node001这个节点了
后面设置了ssh免验证登陆后要把这个hosts文件复制到所有子节点,稍后会在2.4节讲。
注意,node000是计算机的名称,而这里的node0是别名,它就像一个变量一样,代指IP地址,以后需要输入这个IP的地方,直接用node0代替就行了。
2.SSH双向免验证登录及其相关设置
如果想要多节点并行运行,必须让各个节点间能够通过ssh相互登录且免验证。方法:
一个简便的方法是在主节点上创建ssh密钥和公钥,然后将整个~/.ssh/这个文件夹拷贝到所有子节点相应位置即可,而对于设置了NIS服务的集来说,除了root用户需要拷贝外,其他用户都不需要拷贝。
2.1 创建ssh秘钥:
在主节点上的root用户下,比如node000节点上,创建ssh秘钥,在终端执行:[root]# ssh-keygen -t rsa
然后一直确认下去。
然后进入~/.ssh/文件夹下,制作授权文件:
[root]# cd ~/.ssh/
[root]# cp id_rsa.pub authorized_keys
[root]# chmod 600 authorized_keys
2.2 将ssh设置文件并拷贝到所有子节点:
在主节点上的root用户下,直接将刚才生成的~/.ssh/文件夹拷贝到所有子节点相应位置即可:
[root]# scp -r ~/.ssh/ node1:~/
centos安装vim命令[root]# scp -r ~/.ssh/ node2:~/
[root]# scp -r ~/.ssh/ node3:~/
在拷贝过程中会让你选择yes/no,统统选择yes,然后让你输入你想拷贝的那个节点的root用户的密码,输入就行了。
上面的手动拷贝很麻烦,特别当节点很多时,需要不停地输入密码等等,这里可以用一个脚本实现自动输入密码和拷贝,非常快(这会用到expect命令,请自行百度)。
弄好后,直接用ssh node1, ssh node2…..登录各个节点时(双向登录都可以)无需输入密码时,就设置正确了。
如果没有NIS服务,则其他非root用户想要实现免验证登录,也要像root用户一样这样设置。
2.3 有NIS服务时SSH免验证登录的设置(在设置NIS服务后设置非root用户时进行此步设置,此外,在每次创建新用户时也要执行此步设置):
这一步建议先按照2.2的方式设置好root用户的ssh免验证登录,然后根据第5节设置好NIS服务后,再按照本节设置其他非root用户的ssh免验证登录。
有NIS服务就不需要拷贝非root用户的ssh设置文件了,但是root用户的设置文件还是要向上面那样设置。
假设此时已经设置好root用户的免验证登录和配置好NIS服务了,然后设置普通用户的ssh免验证登录,此时只要设置主节点上的普通用户就行了,并且子节点都根本不需要创建这个用户。
比如我在主节点上创建一个test用户:

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。