LINUX备忘录(网络配置)

1. 在/etc/sysconfig/network-scripts/ifcfg-eth0文件下,可以配置eth0网卡的参数

  IPADDR=IP地址

  NETMASK=子网掩码

  NETWORK=所在局域网

  BROADCAST=广播地址

  BOOTPROTO=获取地址方式(static——静态IP,dhcp——动态IP)

 

2. 配置NFS基本步骤

  1)编写/etc/exports文件

    [要共享的目录]  [可访问的主机名或IP地址或通配符组合] (rw|ro)

    ....

    ....

   这个文件更详细的格式说明在http://blog.chinaunix.net/u/26040/showart_285389.html

    试过填了 192.168.1.*(rw),但无法访问,错误信息是permission denied. 可能由于括号跟星号连在一起,改成主机名后就无问题了。

  2)启动portmap服务和nfs服务

    service portmap restart

    service nfs restart

  3) 注意防火墙,目前除了关闭或者信任网卡之外,还不知道怎么配置防火墙才能成功配置NFS,可以ping的情况下如果出现no route to host的错误信息,就是防火墙有                   问题。

  4) 客户端使用mount命令挂载NFS公开的目录,试过不需要在客户端的fstab文件中加入被公开目录的信息,一样可以成功挂载(客户端使用df命令一样可以检测到被挂载                            的目录)。

 

3. 在/etc/hosts文件中修改网络主机名称解析

  可以写成:

  [IP]  [主机名]

  也可以写成:

  [IP]  [域名]  [主机名]

  还不知道两者区别,但可以正常使用

 

4. 无密码登录的RSH配置  

  预备工作

    a) 检查被登录主机上是否已经安装rsh及rsh-server,使用命令 rpm -aq | grep ^rsh*  即可(针对CentOS)。没有装的话yum install一下。

    b) 安装后,去到/etc/xinetd.d/下编辑rlogin,rsh,rexec文件,把里面原来的disable = yes 改成 disable = no。

    c) 执行命令/etc/init.d/xinetd restart

  hosts.equiv文件方式:

      在被登录主机上的/etc/目录下创建hosts.equiv文件,按每行

      [主机名H]  [用户名U]

      的格式配置,设置后就允许远程主机H上的U用户无密码登录到本机,当然在/etc/hosts文件里面应该要有H对应的IP解析设置。

      用户名是可选的,不设置的话该主机H上所有普通用户都能无密码登录。

      关于hosts.equiv文件的详细格式说明,在这里 http://www.ibeijie.cn/hosts-equiv-file-format-and-the-use-of

 

     被登录主机就配置好了,被允许的客户端主机只要使用被允许的用户执行rsh [被登录主机名或IP] 就可以无密码登录。

 

5. 无密码SSH登录配置

  在这个配置过程分开角色主机A和B,A——客户端主机,执行远程登录,B——服务器主机,被登录。

  1) 在主机A上命令ssh-keygen -t rsa,不用任何参数,默认在当前用户的主目录下创建一个.ssh文件夹,并在内产生一个id_rsa和iid_rsa.pub文件,带.pub后缀的记录公钥,另一个记录私钥。注意产生过程中,任何输入都直接回车,这样采用默认方式就可以,复杂的话看SSH的专业配置文档。

  2) 把上述产生的id_rsa.pub文件在.ssh目录下复制一份,改名为authorized_keys。

  3) 在B主机上利用执行命令 scp A:/home/用户名/.ssh/authorized_keys   ~/.ssh/  ,这样把公钥文件复制到B主机上(当然也可以用其他远程文件传输命令),不过scp不需要对方公开目录(例如用nfs)。采用scp的过程可能会询问你是否要建立链接(取决于是否第一次互连),输入yes即可。然后还要求输入A主机的密码。

  4) 在B主机获取了A主机生成的公钥文件后(并置于B主机对应用户下的.ssh文件夹中),就可以使用主机A登录主机B了,第一次要求输入密码,以后就不用了。但注意此过程不可逆,主机B现在还不能以无密码方式登录主机A的。

  雷人的囧事:这里的.ssh文件夹,如果是通过ssh-keygen命令调用而被创建的话,其属性是drwx------,一切没有问题。但如果手动用mkdir创建,是drwxr-xr-x,则在被远程登录时,会跳过该文件夹的检查,哪怕有authorized_keys文件在里面。

 

6. 安装配置MPICH2

  预备配置:

    1)NFS,NIS都是可选的,不做都可以。

    2)配置SSH,关于SSH的配置可以看第5点。不过这里有一点要注意,在第5点中的配置后,主机B不能无密码访问主机A。为了达到这种效果,就把主机A用户目录下的.ssh整个文件夹的内容都复制到主机B去。这样做以后,A,B均使用同样的密钥,也拥有同样的公钥。在这种情况下,两台主机就对等了,可以互相无密码访问,对于更多的主机集群也一样的道理。

    3)为每一台集群的主机创建一样的用户。配置好/etc/hosts,让主机之间能互相解析,这就意味着所有主机都用固定IP。我成功的情况下是没有域名的,一台机叫node3,另一台叫node4,没有设置域。(在设置域的情况下做了好久都失败,不知道有无原因相关)

    4)把每台主机的/etc/hosts中127.0.0.1这一行的解析数据删掉,这一步很关键,如果不删除的话,后面是启动不了MPI集群的。

    5)安装gcc编译器,gcc-c++编译器。(MPICH2的默认配置文件需要g++,但可以删掉,具体做法不详)

    6)防火墙关掉。

  安装过程:

    1)第一点,所有集群主机都要安装MPI,有说法是不用全部都安装,只需要一台安装,并用NFS公开该目录,让其他主机挂载。(但我没试过成功,不能下定论)

    2)安装前要考虑好安装目录,而且所有集群主机的MPI安装目录都必须完全一致。

    3)下载好MPICH2的tar文件,用各种手段分发到各台主机上吧。(例如我就是一台主机做NFS)

    4)安装全过程使用ROOT帐号没问题。(特意说一下这个)

    5)解压tar文件,解压文件中有个configure可执行文件,执行该文件 ./configure --prefix=安装目录。 (强烈建议指定安装目录,不指定的话就按默认了,我的默认是装到/usr/local/share/下)

    6)configure执行完毕以后,接着执行make,随之make installl。

    7)就这样安装结束,在每台主机上重复。

  单机启动:

    在集群启动之前,先尝试单机启动。切换到使用MPI的用户,一般不支持用ROOT使用。然后在该目录的主文件夹中:

    1)touch .mpd.conf

    2)chmod 600 .mpd.conf

    3)使用vi在里面添加一句:MPD_SECRETWORD=abc,abc就是你要使用的密码,填其他。因为MPICH2需要安全保护,所以改变这个文件权限那一步也不能省略,不该权限,启动不了。

    4)修改用户的.bashrc文件,在里面最后添加一句 export PATH=MPICH2安装目录/bin:$PATH。 这样就可以直接使用MPICH2的命令了。

    一切准备就绪,调用mpd & 在后台启动MPICH2。

    启动MPICH2后,要确保单机下MPICH2可以工作,在MPICH2的安装目录下的share中有个examples_logging文件夹,在里面有份cpi.c的代码,是例子代码,一个并行计算PI值的程序,拷贝过来主目录。

    5)调用mpicc cpi.c -o cpi编译该程序。

    6)调用mpiexec -np 5 ./cpi执行该程序,参数中的-np是指定并行核的数量,单机上,是通过启动多进程模拟。

    运行无误后,进入集群启动。

  集群启动:

    1)关掉所有主机上的mpd进程,如果有开的话。在每台主机上执行mpdallexit命令。

    2)选择一台主机作为启动主机,在该主机下建立一个mpd.hosts文件

        touch mpd.hosts

        用vi编辑器向文件写入要被加入集群的所有主机的名称,包括当前主机(注意)

    3)可选的一步,使用mpdcheck -f mpd.hosts -ssh测试一下所有主机是否都能无密码SSH访问

    4)执行mpdboot -n 3 -f mpd.hosts命令,其中-n指定核的数量,一般是少于等于主机列表文件中主机的数量。

    启动完毕,之后就可以像单机模式下来执行并行程序了!

   排错:

    1)Invalid port info,在执行mpdboot时出现,一般情况下,这个错误源于各个主机中MPICH2的安装目录不一致,甚至有些机器没有安装。但还有很多其他原因。

    2)mpdboot无法加入节点的一个原因:该节点之前已经加入过并行计算机群,但没有正常结束,导致其/tmp目录下留有mpich使用的登录帐户文件,删除即可。

原文链接: https://www.cnblogs.com/klzwj1988/archive/2010/10/21/1857464.html

欢迎关注

微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍

    LINUX备忘录(网络配置)

原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/16375

非原创文章文中已经注明原地址,如有侵权,联系删除

关注公众号【高性能架构探索】,第一时间获取最新文章

转载文章受原作者版权保护。转载请注明原作者出处!

(0)
上一篇 2023年2月7日 下午4:41
下一篇 2023年2月7日 下午4:43

相关推荐