北京快三开奖

  • <tr id="U9YkSO"><strong id="U9YkSO"></strong><small id="U9YkSO"></small><button id="U9YkSO"></button><li id="U9YkSO"><noscript id="U9YkSO"><big id="U9YkSO"></big><dt id="U9YkSO"></dt></noscript></li></tr><ol id="U9YkSO"><option id="U9YkSO"><table id="U9YkSO"><blockquote id="U9YkSO"><tbody id="U9YkSO"></tbody></blockquote></table></option></ol><u id="U9YkSO"></u><kbd id="U9YkSO"><kbd id="U9YkSO"></kbd></kbd>

    <code id="U9YkSO"><strong id="U9YkSO"></strong></code>

    <fieldset id="U9YkSO"></fieldset>
          <span id="U9YkSO"></span>

              <ins id="U9YkSO"></ins>
              <acronym id="U9YkSO"><em id="U9YkSO"></em><td id="U9YkSO"><div id="U9YkSO"></div></td></acronym><address id="U9YkSO"><big id="U9YkSO"><big id="U9YkSO"></big><legend id="U9YkSO"></legend></big></address>

              <i id="U9YkSO"><div id="U9YkSO"><ins id="U9YkSO"></ins></div></i>
              <i id="U9YkSO"></i>
            1. <dl id="U9YkSO"></dl>
              1. <blockquote id="U9YkSO"><q id="U9YkSO"><noscript id="U9YkSO"></noscript><dt id="U9YkSO"></dt></q></blockquote><noframes id="U9YkSO"><i id="U9YkSO"></i>

                鸟哥的 Linux 私房菜
                目次 | Linux 根底篇 | Linux 效劳器篇 | Linux 企业使用篇 | 平安办理
                     
                 
                浅易 Cluster 搭建
                近来更新日期:2003/05/20
                 
                比年来由为数值形式模仿的盛行,以是‘平行运算’的架构也就越来越紧张了!什么是数值模仿呢?次要便是藉由一些物理实际去开辟出来的一些‘盘算公式’,而这些盘算公式藉由顺序言语(比方C、Fortran等等)实践的将他编译成为可实行的顺序,最罕见的比方地方气候局不是每天都市预告气候吗?这个预告的举措便是应用数值盘算去演算出来的。别的,另有氛围质量形式模仿,也是颠末运算出来的,除此之外,比方地理、物理、水文等等许多方面的任务,都是应用这种数值模仿的运算的喔!不外,这些顺序是很大型的!也便是说,他们在运算的工夫是很长的,假如运用单颗 CPU 的话,不管这颗 CPU 的频率与效能有多高,照旧得要运算个好几个钟头的~云云一来,关于像气候预告这个急需时效性的任务能够就会有所延误啊!不外,假如我将这个运算的任务同时丢给多颗 CPU 呢?也便是让多颗 CPU 同时停止这个顺序的运算任务,云云一来,将可以大大的减低工夫的消耗了~这便是平行运算的复杂阐明。在 Linux 平台下面,要告竣复杂的平行运算,可以透过 MPI 的函式库,比方 MPICH 便是一个很著名的 MPI 软件喔!立刻来给他看看平行运算范例的 Cluster 建置吧!
                 
                原理
                  :什么是 Cluster 与 Cluster 的长处
                  :Cluster 的主从架构
                  :告竣 Cluster 所需求额定功用 ( RSH ) 与软件 ( MPICH )
                搭建流程
                  :全体架构
                  :鸟哥的一个实例标准
                  :零碎装置 ( Red Hat 9 )
                  :防火墙 ( 含 NAT 主机 ) 与网络设定
                  :NFS 搭建计划(相称紧张,参考阐明)
                  :NIS 搭建计划
                  :RSH 设定
                  :装置 Fortran 90 的编译顺序 PGI pgf90 ( PS. server version )
                  :装置 MPICH
                其他主机相干设定
                  :X-Window Server/Slave 架构
                重点回忆
                参考资源

                原理:

                • 什么是 Cluster 与 Cluster 的长处

                •  
                  什么是 Cluster 呢?现在罕见的 Cluster (猬集)架构有两种,一种是 Web / Internet cluster system,这种架构次要是将材料安排在差别的主机下面,亦即由多部主机同时担任一项效劳;而别的一种则是所谓的平行运算了!平行运算实在便是将统一个运算的任务,交给整个 Cluster 外面的一切 CPU 来停止同步运算的一个功用。由于运用到多个 CPU 的运算才能,以是可以放慢运算的速率。现在比拟罕见于平行运算功用的,通常需求在超等电脑下面才看的到,这些超等电脑次要是用在地理、军事、物理等需求很精细的、少量的运算的任务中,而思索到波动性,则通常是用在 Unix 零碎下面的硬体架构上。不外,现在由于 PC 下面的 CPU 的运算功用越来越弱小了~因而,固然许多顺序开辟者就动头脑到 PC 下面来制造平行电脑的零碎啰!我们这篇漫笔次要在引见的便是‘平行运算’这一类的 Cluster 了!
                   
                  由于 Cluster 次要是用在平行运算下面的,而所谓的平行运算是运用到多颗 CPU 的运算功用,因而可以让您的大型运算的顺序很快的实行终了!因而,假如你的任务情况当中,经常会运用到很耗 CPU 运算功用的顺序时,就可以实验运用 Cluster 来停止任务啰!应该可以节流您不少的工夫呐!别的,我们这篇漫笔次要是在 X86 架构下的 PC 来搭建 Cluster 的喔!
                   
                  不外,也需求特殊注意的是,由于我们的 Cluster 是将一个任务均匀分给一切的 node (注:一颗 CPU 在一个 Cluster 架构下,就称为一个 node 啰!),以是,万一您做成的 Cluster 零碎当中,一切的 node 并非完全相反的运算品级,那么先做竣工作的 node 将会停息任务,会比及一切的 node 都停止终了后,才会在停止下一动~以是啦!激烈的发起在统一个 cluster 的架构中,只管即便一切的 CPU 都运用相反的 CPU 型号,应该会比拟好一点喔!
                   

                • Cluster 的主从架构

                •  
                  最复杂的 Cluster 实在便是以一种主从架构来停止材料的运算任务的,图示如下:
                  • 下面的 Master 与 Slave 指的都是 CPU 喔!

                  •  
                  • Master 那部呆板下面必需要有可以将任务分派给各个 node 去任务的函式库,也便是 MPI ,他最紧张的功用便是将任务给他分派下去的啦!而最紧张的软件便是:(1)MPICH;(2)编译器(compiler, 比方 Fortran);

                  •  
                  • 什么是网络功用呢?假如 master 与 slave 是在统一台呆板当中,比方双 CPU 的主机板,那么这里就不需求网络功用啦!不外,假如我是运用四台双 CPU 的 PC 呢?呵呵!那么这四部主机就需求以高速网络架构停止连线啦!别的,还需求在这四部主机之间树立可以互通讯息的通讯协议才行,这方面的功用就含有:(1)R Shell, 亦即称为 RSH;(2)NIS,使 Master 与 Slave 具有相反的帐号群组干系;(3)NFS,使读取写入的材料可以在统一个 partition 下面;

                  •  
                  • Slave 便是单纯的未来自 Master 的义务给他做完便是了!
                   
                  整个主从架构大抵上便是如许啦!因而,可以晓得的是,我们需求的便是下面那些咚咚啰!
                   

                • 告竣 Cluster 所需求额定功用 ( RSH ) 与软件 ( MPICH )

                •  
                  由下面的 Cluster 主从架构当中,我们晓得 Master 与 Slave 之间的网络相同很紧张的一个咚咚,那便是 R Shell 啰!别的,另有将一个任务传送给差别的 node 来停止盘算的义务,就需求 MPICH 这个函式库来停止!复杂的谈一谈这两个玩意儿吧!
                   
                  • RSH:

                  • 在我们的 Linux 主机下面任务,通常运用 BASH 这个 shell 来转达给 kernel 任务的讯息,以使主机准确的任务;而假如在差别的主机之间,那就可以运用 R Shell 来停止指令的下达喔,云云一来,我们就可以间接在 A 呆板,向 B 呆板下达任务的指令,而不需求登入 B 呆板呢~那便是 RSH 的次要功用啦!最罕见的 RSH 指令便是 rcp 与 rsh 了!有兴味的冤家应该晓得以 man 来查寻一下该指令的用法啰!
                    需求附带一提的是,这个 RSH 是‘相称风险’的一个效劳喔!由于我们可以间接登入 RSH 主机,而且在下面停止指令的下达,为了防止还要输出暗码的题目,因而通常 RSH 曾经将信托主机设定好了,不外,由于 RSH 会启动一些 port 来监听 Clients 的需求,而偏偏这些 port 与 daemon 都还挺风险的,因而,‘Cluster 最好是设定在外部网络当中,并运用公有 IP ,比拟可以防止风险’喔!别的,谁人 Master 也必需要设定好肯定水平的紧密防火墙喔!
                     
                  • MPICH:

                  • MPI 是 Messages Passing Interface 的缩写,他自身是一个规格很紧密的通讯规范,次要的功用是在处置平行运算之间各个 node 的材料交流,请留意, MPI 并不是一套软件喔!而至于 MPICH 便是契合 MPI 这个规范通讯协议的一套软件了!因而,我们可以经过 MPICH 这个软件提供的 MPI 函式库来告竣平行运算的功用喔!也便是说,我们所写的顺序,只需可以运用 MPICH 提供的函式库,那么该顺序就可以停止平行运算时分所需求的功用了,这就可以防止顺序开辟者还要行止理通讯节点下面的题目,而可以将顺序开辟的重心偏重在顺序自身的题目下面!
                    MPICH 是由 Mathematics and Computer Science Division的 Argonne 实行室所开展,细致的材料可以参考:http://www-unix.mcs.anl.gov/mpi/mpich/
                   
                  除了这两个软件之外,还需求 NIS 与 NFS 喔!以是啦!要建置一个 Cluster 的话,身为零碎办理员的您,必需要学会的技艺真是相称的多的,至多需求:
                   
                  • 熟习 Linux 的操纵本领;
                  • 熟习 Linux 根底网络参数设定;
                  • 熟习 Linux 相干的 Server 搭建(这方面请参考鸟哥的私房菜搭建效劳器篇);
                  • 理解 RSH 的相干功用与设定本领;
                  • 理解 MPICH 的设定与相干功用;
                  • 熟习至多一种顺序言语。
                   
                  还真的是欠好学啊!鸟哥也是老手玩弄 Cluster 说~各人一同研讨研讨吧! ^_^

                搭建流程
                  要搭建 Cluster 固然便是需求多部的 PC 来连线啦!否则怎样称为 Cluster 呢?您说是吧!以是,无论怎样,在搭建 Cluster 之前,请务须要确认您的‘一切硬体以及网络功用都是完好无损的!’不然就无法持续下去啦!别的,发起 Cluster 的一切主机规格只管即便相反,可以防止等候的困扰呢!底下就来谈一谈整个搭建流程吧!
                   

                • 全体架构

                •  
                  全体架构的搭建当中,需求的一切软件为:
                   
                  • Master 主机装置需求:
                    • 防火墙的设定(含 NAT 搭建);
                    • RSH
                    • NIS Server
                    • NFS Server
                    • Compiler Install
                    • MPICH Install
                    • 其他特别功用
                     
                  • Slave 主机装置需求:
                    • 防火墙的设定
                    • RSH
                    • NIS Client
                    • NFS Client
                   
                  根本上,简直一切的任务都是在 Master 下面做啦! Slave 最大的义务便是停止来自 Master 所要求的盘算任务,因而,Slave 可以越复杂越好~至于 Master 下面,由于我们都是在 Master 主机下面下达任务指令,而总不克不及总是在荧幕后面下达指令吧!因而上,Master 通常会有两个网络介面,辨别是对外的 Public IP 与对内的 Priavte IP。而既然 Master 有提供 Public IP 的设定,天然就比拟担忧所谓的骇客入侵题目,以是啦,您的 Master 主机,要吗就不要开放 Public IP ,要吗就务须要设定很紧密的防火墙,而且不用要的效劳就只管即便封闭他~终究我们的 Cluster 是要用来做为盘算运作的,以是不用要的网络协议效劳,固然便是封闭他啦!底下鸟哥将以本人的一个实践案例停止阐明的啦!参考看看吧!
                   

                • 鸟哥的一个实例标准

                •  
                  在我这个案例当中, Cluster 次要的功用为:停止 MM5 这个气候形式的运算以及 Models-3/CMAQ 这个氛围质量形式的运算,而由于这两个咚咚都是运用 PGI Fortran 90 做为 Compiler ,因而,我就必需要停止 PGI 的装置啦!而我的硬体架构次要是如许的:
                   
                  • Master : 为双 CPU 主机,运用 AMD MP 的 CPU ,而且有一颗 120 GB 的硬碟,别的,由于我的数值形式需求 PGI Fortran ,以是就必需要装置 Server 版的 PGI Fortran 喔!
                  • Slave : 共有三部 Slave ,每一台均为双 CPU 的 AMD MP 的 CPU ,而且有一颗 120 GB 的硬碟;
                  • 衔接 Master 与 Slave 的为 10/100/1000 的 Switch ,固然,四部主机(1 x master + 3 x slave)都是装置 Intel 的 1GB 网络卡喔!
                   
                  硬体衔接有点像如许:
                  那么底下就来谈一谈怎样装置他吧!
                   

                • 零碎装置( Red Hat 9 )

                •  
                  我的这个零碎运用的是最新的 Red Hat 出书的 Red Hat 9 ,会用这个玩意儿最大的缘由是由于 Red Hat 是现在援助的 Linux 软件最多的一个 Linux Distribution 了,装置他之后,就比拟不会欠东欠西的,别的,许多的软件都因此 Red Hat 做为测试的平台,因而我就选择他来做为我的零碎平台啊!别的,需求注意的是,由于 Slave 并不需求运用到图形介面的功用,他单纯是用在盘算下面,因而我没有在 slave 下面装置图形介面的计划~至于 Master 则装置了 KDE 这个咚咚喔!好了,Linux 的装置置信各人应该都要很熟习了,以是我就不再谈装置的细致步调,仅提几个特殊需求留意的中央啰:
                   
                  • Partition 方面:

                  • 由于我的硬碟真实是在蛮大的,而且在 Slave 下面也是 120 GB 的硬碟,假如不将 Slave 的硬碟运用的话,真实以为很糜费,因而,一开端我就计划将四部主机的硬碟全部都以 NFS 分享到外部网络当中,而为了防止跟零碎的文件放在一同,因而,我就将硬碟联系出除了须要的 partition 之外,其他的就挂载在 /disk1 这个目次当中,四部主机的 parition 都相反,辨别是:
                     
                    • /     : 10 GB
                    • /var  :  5 GB
                    • /tmp  :  3 GB
                    • Swap  :  3 GB ( 由于我每部 Linux 主机下面都有 1.5 GB 的影象体 )
                    • /disk1: 96 GB
                     
                  • 装置时选择的套件:

                  • 一切的主机都需求底下的套件装置(注:由于本来的条记记载的很乱,以是假如找不到相反的字眼,那便是我写错啦!):
                    • Administrattion Tools
                    • Development Tools
                    • Editors
                    • Engineering and Scientific
                    • FTP Server
                    • Kernel Development
                    • Network Servers
                    • Server configuration Tools
                    • Sound and vedio
                    • System Tools
                    • Text-based Internet
                    • Windows File servers
                    不外, Master 需求额定再添加 X Window 方面的援助,比方 KDE 与 X-Window System 这两个次要的套件要勾选喔!
                   
                  零碎装置大抵上便是这些吧,假如有疏漏的,请将来在装置终了之后,再以本来 Red Hat 9 的光碟来重新装置他吧!横竖 Red Hat 零碎都因此 rpm 来装置的,挺容易装置的喔!整个装置终了后,还花不到几分钟呢!
                   

                • 防火墙 ( 含 NAT 主机 ) 与网络设定

                •  
                  由于我们的 Cluster 次要是用在数值运算,因而,固然不需求对外开放网络效劳啦!以是,最好便是以公有 IP 来停止网络的设定是比拟好的!别的,最好照旧要设定好防火墙的啦!我的网络参数预设是如许的:
                   
                  • Network/netmask:192.168.10.0/255.255.255.0
                  • Master:(对外)140.116.xxx.yyy;(对内)192.168.10.30, Gateway 为对外的 Gateway 喔!而且有设定 NAT 啊!
                  • Slave:192.168.10.10, 192.168.10.20, 192.168.10.40 三部,Gateway 为 192.168.10.30
                   
                  网络参数的各个文件是如许的:
                   
                  • 各个主机的主机称号请修正:/etc/sysconfig/network
                  • 各个主机的网络卡设定项目请修正:/etc/sysconfig/network-scripts/ifcfg-eth0
                  • 各个主机的 DNS 查寻零碎请修正:/etc/resolv.conf
                  • 各个主机的外部主机称号查寻零碎请修正:/etc/hosts,我的 /etc/hosts 如下:

                  • 127.0.0.1       localhost       localhost.localdomain
                    192.168.10.10   node1.cluster
                    192.168.10.20   node2.cluster
                    192.168.10.30   server.cluster
                    192.168.10.40   node4.cluster
                   
                  而我的每部主机先将一切的网络效劳都给他关失去,仅剩下 SSH 这个网络协议存在罢了~以是,我应用 Red Hat 提供的 ntsysv 这个指令来选择开机时启动的项目有:
                   
                  • atd
                  • crond
                  • iptables
                  • keytable
                  • network
                  • random
                  • sshd
                  • syslogd
                  • xinetd
                   
                  至于防火墙零碎的计划下面,由于 Master 主机 (192.168.10.30) 具有 NAT 的功用,以是必需要修正一下他的防火墙机制,因而,就有两个差别的防火墙机制 scripts 啰!别的,由于担忧外来的入侵打击,因而,在这个 Cluster 的零碎当中,我的 iptables 防火墙机制是运用‘MAC(网络卡卡号)’来做为设定的基准,而不是运用 IP 啊!为什么呢?由于横竖我仅容许我本人同网络内的几部电脑连出去罢了,固然没有须要针对 IP 啊!以是啰,就必需要搜集四部主机的网络卡来容许他进入啰。别的,由于我能够并不在 Cluster 后面操纵,因而会启用一两部主机的网络卡卡号,好让他可以进入 Cluster 呦!底下就将我的防火墙机制给他列出来一下:
                   
                  • Master:
                  • #!/bin/bash
                    # This program is for iptables' rules
                    # VBird 2003/05/02
                    #
                    # 0. PATH and modules
                      PATH=/sbin:/bin:/usr/sbin:/usr/bin
                      export PATH
                      modprobe ip_tables
                      modprobe iptable_nat
                      modprobe ip_nat_ftp
                      modprobe ip_nat_irc
                      modprobe ip_conntrack
                      modprobe ip_conntrack_ftp
                      modprobe ip_conntrack_irc
                    #
                    # 1. clear the rules and make the policys
                      iptables -F
                      iptables -X
                      iptables -Z
                      iptables -F -t nat
                      iptables -X -t nat
                      iptables -Z -t nat
                      iptables -P INPUT   DROP
                      iptables -P OUTPUT  ACCEPT
                      iptables -P FORWARD ACCEPT
                      iptables -t nat -P PREROUTING  ACCEPT
                      iptables -t nat -P POSTROUTING ACCEPT
                      iptables -t nat -P OUTPUT      ACCEPT

                    #
                    # 2. NAT services
                      echo "1" > /proc/sys/net/ipv4/ip_forward
                      iptables -t nat -A POSTROUTING -s 192.168.10.0/24 -o eth1 -j MASQUERADE
                    #
                    # 3. Trust network and conditions
                      iptables -A INPUT -m state --state ESTABLISHED,RELATED  -j ACCEPT 
                      iptables -A INPUT -i lo -j ACCEPT
                      iptables -A INPUT -m mac --mac-source XX:YY:ZZ:WW:QQ:PP -j ACCEPT 
                    # 下面这一行便是网络卡的卡号啦!

                     
                  • Slave:

                  • Slave 的防火墙机制跟 Master 简直如出一辙,只是由于在外部啊,以是不需求启动 NAT 的效劳即可!下面的给改一改先~
                   
                  好啦!网络的设定与防火墙就到这里为止,要记得喔,你的网络必需要曾经可以准确的启动了!假如照旧无法启动网络,或许是防火墙机制照旧有题目,那么对外的谁人网络卡的网络线照旧先给他拔失吧!比拟平安一些些的啦!比及都设定妥当,尤其是防火墙,然后才来启动他吧!
                   

                • NFS 搭建计划

                •  
                  由于我这里估计要设定 NIS ,而且每部主机的 /disk1 都要分享出去,因而,每部主机都必需要开放 NFS 的效劳喔!而且,每一台主机的设建都可以相反呐!如许比拟容易来设定啰~别的,比拟纷歧样的中央在于 Master 这一台,由于我的 Cluster 一切的帐号都在 NIS 的控制之中,因而,我将 Master 的 /home 也分享出来,而且每部 Slave 主机都挂载 Master 的 /home 才成!
                   
                  这个 NFS 在 Cluster 当中是相称紧张的,为什么呢?由于我们不是在四部主机下面任务吗,而这四部主时机去读取的‘材料’实在都是‘在本机下面可以看的到的’材料才行,这还包罗底下我们会继续引见的 mpich 这个软件的函式库呢!也便是说:‘在 Cluster 外面,一切的呆板会运用到的材料必需都在相反的目次当中!’以是,这便是为什么我们要对 /home 停止分享,以及停止 NIS 的设定了!别的,由于我的 Server 这部 Master 呆板分享出去的目次中,曾经含有 /disk1 这个 partition,别的,还统统将他挂载在 /cluster/server 底下,因而,可以发起:‘将来在装置一切的 Cluster 需求的套件材料时,比方 Compiler 以及 MPICH 等等,都可以装置到 /cluster/server 这个目次底下,以使一切的主机都可以运用统一个 partition 泉源的材料喔!
                   
                  设定顺序:
                   
                  • Master:
                     
                    1. 启动 portmap 而且设定开机启动:
                    [root @server root]# /etc/rc.d/init.d/portmap start
                    [root @server root]# chkconfig --level 35 portmap on
                     
                    2. 设定 NFS 分享出去:
                    [root @server root]# vi /etc/exports
                    /home  192.168.10.0/24(rw,async,no_root_squash)
                    /disk1 192.168.10.0/24(rw,async,no_root_squash)
                    [root @server root]# exportfs -rv
                    [root @server root]# /etc/rc.d/init.d/nfs start
                    [root @server root]# chkconfig --level 35 nfs on
                     
                    3. 设定估计的挂载点:
                    [root @server root]# mkdir -p /cluster/node1
                    [root @server root]# mkdir -p /cluster/node2
                    [root @server root]# mkdir -p /cluster/node4
                    [root @server root]# mkdir -p /cluster/server
                     
                  • Slave:
                     
                    1. 启动 portmap 而且设定开机启动:
                    [root @node1 root]# /etc/rc.d/init.d/portmap start
                    [root @node1 root]# chkconfig --level 35 portmap on
                     
                    2. 设定 NFS 分享出去:
                    [root @node1 root]# vi /etc/exports
                    /disk1 192.168.10.0/24(rw,async,no_root_squash)
                    [root @node1 root]# exportfs -rv
                    [root @node1 root]# /etc/rc.d/init.d/nfs start
                    [root @node1 root]# chkconfig --level 35 nfs on
                     
                    3. 设定估计的挂载点:
                    [root @node1 root]# mkdir -p /cluster/node1
                    [root @node1 root]# mkdir -p /cluster/node2
                    [root @node1 root]# mkdir -p /cluster/node4
                    [root @node1 root]# mkdir -p /cluster/server
                     
                  挂载顺序:
                   
                  • Master:

                  • 将底下这些指令测试实行一下,假如乐成后,将指令写入 /etc/rc.d/rc.local 当中
                     
                    [root @server root]# mount -t nfs -o bg,intr server.cluster:/disk1 /cluster/server
                    [root @server root]# mount -t nfs -o bg,intr  node1.cluster:/disk1 /cluster/node1
                    [root @server root]# mount -t nfs -o bg,intr  node2.cluster:/disk1 /cluster/node2
                    [root @server root]# mount -t nfs -o bg,intr  node4.cluster:/disk1 /cluster/node4
                     
                  • Slave:
                    将底下这些指令测试实行一下,假如乐成后,将指令写入 /etc/rc.d/rc.local 当中
                    [root @node1 root]# mount -t nfs            server.cluster:/home  /home
                    [root @node1 root]# mount -t nfs -o bg,intr server.cluster:/disk1 /cluster/server
                    [root @node1 root]# mount -t nfs -o bg,intr  node1.cluster:/disk1 /cluster/node1
                    [root @node1 root]# mount -t nfs -o bg,intr  node2.cluster:/disk1 /cluster/node2
                    [root @node1 root]# mount -t nfs -o bg,intr  node4.cluster:/disk1 /cluster/node4
                     
                  呵呵!如许就设定乐成了!我们每一台主机‘看起来’就仿佛有 400 GB 的硬碟空间啊!可骇了吧! ^_^
                   

                • NIS 搭建计划

                •  
                  NIS 的设定也是很复杂,不外次要照旧需求分为 NIS Server 与 NIS Client 两部份来设定的!请留意,在设定之前,就曾经要将 NFS 搞定喔!这些流程都是有肯定水平的相干性的呢!
                   
                  • Master:

                  • 在 Master 下面需求停止的任务许多喔!起首,肯定要修正 ypserv.conf 以及其他相干的文件的呐!
                     
                    1. 启动 time 与 time-udp 这两个事后要启动的 daemon
                    [root @server root]# chkconfig --level 35 time on
                    [root @server root]# chkconfig --level 35 time-upd on
                    [root @server root]# /etc/rc.d/init.d/xinetd restart
                     
                    2. 树立 NIS 的范畴称号 (我这里是设定为 cluster ): 
                    [root @server root]# nisdomainname cluster 
                    [root @server root]# echo "/bin/nisdomainname cluster" >> /etc/rc.d/rc.local 
                    [root @server root]# echo "NISDOMAIN=cluster" >> vi /etc/sysconfig/network
                     
                    3. 树立 NIS 设定档:
                    [root @server root]# vi /etc/ypserv.conf (在这个文件内添加三行即可)
                    127.0.0.0/255.255.255.0   :  *  :  *  :  none 
                    192.168.10.0/255.255.255.0:  *  :  *  :  none 
                    *                         :  *  :  *  :  deny 
                    [root @server root]# touch /etc/netgroup
                     
                    4. 启动 NIS:
                    [root @server root]# /etc/rc.d/init.d/ypserv    start 
                    [root @server root]# /etc/rc.d/init.d/yppasswdd start 
                    [root @server root]# chkconfig --level 35 ypserv on 
                    [root @server root]# chkconfig --level 35 yppasswdd on
                     
                    5. 制造材料库:(每次有变动运用者资讯时,就必需要停止这个步调!)
                    [root @server root]# /usr/lib/yp/ypinit -m
                    [root @server root]# chkconfig --level 35 ypserv on 
                    [root @server root]# chkconfig --level 35 yppasswdd on
                     
                  • Slave:

                  • 至于 NIS Client 则是需求设定 yp.conf 这个文件呢!
                     
                    1. 树立 NIS 的范畴称号 (我这里是设定为 cluster ): 
                    [root @node1 root]# nisdomainname cluster 
                    [root @node1 root]# echo "/bin/nisdomainname cluster" >> /etc/rc.d/rc.local 
                    [root @node1 root]# echo "NISDOMAIN=cluster" >> vi /etc/sysconfig/network
                     
                    2. 树立 NIS 查寻的主机称号:
                    [root @node1 root]# vi /etc/yp.conf 
                    domain cluster 
                    ypserver server.cluster
                     
                    3. 修正暗码验证方法:
                    [root @node1 root]# vi /etc/passwd (在这个文件的最底下新增如下一行)
                    +::::::
                    [root @node1 root]# vi /etc/nsswitch.conf 
                    passwd:     files nis nisplus 
                    shadow:     files nis nisplus 
                    group:      files nis nisplus 
                    hosts:      files nis dns 
                     
                    4. 启动 NIS:
                    [root @server root]# /etc/rc.d/init.d/ypbind    start 
                    [root @server root]# chkconfig --level 35 ypbind on 
                     
                  呵呵!不啰唆!立刻就设定妥当啦!
                   

                • RSH 设定

                •  
                  这个 RSH 曾经提过了,次要的功用是提供 Master 可以运用 R 指令(如 rsh, rlogin, rcp 等等)来停止 slave 端主机的操控的!以是啦, RSH daemon 次要是在 slave 呆板下面搭建的喔!与 Master 就有关啦!Master 只需可以实行 R command 即可!固然是云云,不外,在我的测试当中,最好 Master 也启动 RSH 比拟好一些些啰!在底下的设定当中,我们假定 Server 下面的一切运用者都可以运用 R command 呢!设定的办法很复杂啊!
                   
                  • Slave & Master:

                  • 底下的设定在 Master 与 Slave 下面都需求举措喔!设定一样即可!
                    1. 启动 RSH 啰!
                    [root @node1 root]# chkconfig --level 35 rsh on
                    [root @node1 root]# /etc/rc.d/init.d/xinetd restart
                     
                    2. 编辑可运用 R command 的主机设定档:
                    [root @node1 root]# vi /etc/hosts.equiv
                    server.cluster +
                     
                    特殊留意,由于 RSH 预设便是不援助 root 运用 R command ,以是您必需要到 master 下面去,并以普通身份运用者停止 R command 的测试才行喔!不要间接以 root 任务,会无法乐成的啦!(表现 permission deny 的啦!)
                   
                  • Master:

                  • 由于 RSH Server 下面的设定中,您的 User 家目次必需要存在一个名为 .rhosts 的文件,本来我的 Server 下面就有一个名为 test 的运用者,而而且为了让我将来新树立的运用者都可以运用 R command ,以是我在 Master 这部呆板下面做了如许的举措喔:
                    [root @server root]# vi /home/test/.rhosts
                    server.cluster
                    [root @server root]# vi /etc/skel/.rhosts
                    server.cluster
                    [root @server root]# chmod 644 /etc/skel/.rhosts
                     
                  如许就妥当的设定好了 RSH 啰!
                   

                • 装置 Fortran 90 的编译顺序 PGI pgf90 ( PS. server version )

                •  
                  我由 PGI 的官方网站下载了最新的 PGI Server 套件,请特殊注意的是,由于 PGI 有两种形式,一种是任务站(Workstation)一种则是效劳器(Server)形式,此中,任务站仅能提供单一主机来操纵,无法停止 Cluster 的功用的!因而,请务须要下载 Server 的版本,而且是援助 Linux 版本的喔!不要搞混了! PGI Fortran Server version 的下载网址在这个中央:http://www.pgroup.com/downloads.htm,请自行下载吧!比拟需求注意的是,从下面这个网站下载的版本仅是分享软件的版本,您装置之后可以具有 15 天的无偿使用限期,超越限期之后,又需求重新装置一次,非常费事的啦!假如您的 Cluster 是用来停止学术研讨的,那么在测试完成之后,能够需求去他的网站注册,这个注册的用度差别可就很大了~由于将来我的 Cluster 需求不断不时的运作,因而是需求去注册的啦!而且,我只会用到 Fortran 这个编译器,因而,我就间接运用 PGIHPF 这个版原本测试装置罢了,而不是运用全部 ( 含 PGI Fortran 与 C ) 的版本喔!由于注册的价差差了两~三万台币啊!装置 Fortran 真是很复杂的啦!假定您将 linux86-HPF.tar.gz 安排在 /root/software 底下,则:(注:以下的举措仅只需在 Master 下面停止即可喔!)
                   
                  1. 树立 pgi fortran 在 /cluster/server/program/pgi 底下:
                  [root @server root]# cd /usr/local/src
                  [root @server src]# mkdir pgi-fortran; cd pgi-fortran
                  [root @server pgi-fortran]# tar -zxvf /root/software/linux86-HPF.tar.gz
                  [root @server pgi-fortran]# ./install
                  接上去会有一些题目,请依序答复您的题目喔!
                  至于受权嘛!请树立吧!
                  最紧张的中央,是在第三个题目,他会问你要装置的目次,请选择
                  /cluster/server/program/pgi
                   
                  2. 修正团体参数:由于 RSH 不以 root 任务,以是我以运用者 test 来测试:
                  [root @serer root]# vi /home/test/.bashrc
                  # 参加这几行关于 PGI 的咚咚:
                  PGI=/cluster/server/program/pgi
                  export PGI
                  PATH=$PGI/linux86/bin:$PATH
                   
                  3. 设定查寻途径:
                  [root @server root]# vi /etc/man.config
                  # 参加这一行:
                  MANPATH /cluster/server/program/pgi/man
                   
                  如许就好了吗?!没错!的确是如许就完成了!非常复杂吧! ^_^要留意的是:
                   
                  • 记得 pgf90 必需要让一切的 node 都可以读的到,以是肯定要装置在 Server 的分享出去的目次当中,我这里的例子便是装置在 /cluster/server/program/gpi 这个目次当中啰!
                  • 实行档要可以实行,固然是必需要让目次在 PATH 这个变数底下,而我的 pgf90 是在 /cluster/server/program/pgi/linux86/bin 底下,以是,您的 PATH 必需要含有这个目次才行!
                   
                  大约便是云云啰!
                   

                • 装置 MPICH

                •  
                  后面我们提过了,装置 MPICH 是平行运算外面最紧张的一项任务了!由于我们便是靠他来帮我们告竣运作的啊!那么怎样来装置呢?又是复杂得不得了啊!起首,请先下载 mpich 吧!下载的网址在底下,我因此 mpich 1.2.5-1a 来测试的喔!
                     
                  假定您将 mpich 下载在 /root/software 外面,而且估计要装置到 /cluster/server/program/mpich 当中,并且仅装置 Fortran 罢了的话,可以如许做:
                   
                  1. 树立 mpich 在 /cluster/server/program/mpich 底下:
                  [root @server root]# cd /usr/local/src
                  [root @server src]# tar -zxvf /root/software/mpich.tar.gz
                  [root @server src]# cd mpich-1.2.5
                  [root @server mpich-1.2.5]# ./configure --enable-debug \
                  > -fc=pgf77 -f90=pgf90  \
                  > --prefix=/cluster/server/program/mpich
                  [root @server mpich-1.2.5]# make && make install
                   
                  2. 树立可以应用的主机形态:
                  [root @server mpich-1.2.5]# cd /cluster/server/program/mpich/share
                  [root @server share]# vi machines.LINUX
                  node1.cluster:2
                  node2.cluster:2
                  node4.cluster:2
                  server.cluster:2
                  # 这个文件当中,款式为 <主机称号>:<主机的 CPU 个数>
                   
                  3. 树立需求的变数:(又因此 test 为准喔!)
                  [root @server root]# vi /home/test/.bashrc
                  # 参加这一些材料:
                  PATH=$PATH:/cluster/server/program/mpich/bin
                  export PATH
                  MPI_HOME=/cluster/server/program/mpich
                  MPI_ARCH=$MPI_HOME/bin/tarch
                  export MPI_ARCH MPI_HOME
                  [root @server root]# vi /etc/man.config
                  # 参加这一行:
                  MANPATH /cluster/server/program/mpich/man
                   
                  呵呵!如许就曾经完成了 MPICH 的装置与设定了!就跟你说很复杂吧!但是呢,要测试可就得需求特殊注意了,由于 root 预设是不许运用 RSH 的,以是测试肯定要运用普通身份的运用者,这里我以 test 这团体做为测试的运用者喔!以是,请以 test 的身份登入主机,而且,这个 test 必需要在一切的主机下面都可以被盘问的到才行(请参考 NIS 的设定喔!)。
                   
                  [test @server test]$ cp -r /cluster/server/program/mpich/examples/ .
                  [test @server test]$ cd examples
                  [test @server examples]$ make pi3f90
                  [test @server examples]$ mpirun -np 8 pi3f90
                  # 下面谁人 -np 前面接的便是运用 CPU 的个数啦!由于我有 8 个 node ,
                  # 以是固然就以最大的 CPU 个数来测试看看,假如要看究竟 CPU 有没有启动的话,
                  # 可以先登入各个 slave 的主机,然后实行‘ top -d 1 ’来察看 CPU 的运用率,
                  # 再实行下面这个顺序,就可以晓得 CPU 有没有运作了! ^_^
                   
                  呵呵!没想到 PGI 的试用版本就可以提供多颗 CPU 的 Cluster 运作,真是给他很快乐!如许既然可以测试乐成了,天然就可以去处 PGI 的官方网站注册了!注册用度不低,但是挺值得的啊!

                其他主机相干设定:
                  除了一些根本的 Cluster 设定之外,您的主机实在能够还需求其他的设定项目标!最罕见的能够便是 X-Window System 的 server/slave 架构了!您总不盼望总是呆在 cluster 后面吧?!粉吵的呢!这个时分,大概就会盼望可以在 Client 端衔接上 Server 的 X Server 啰!
                   

                • X-Window Server/Slave 架构

                •  
                  搭建一个很复杂的 X Server 真的是很容易,容易到让你会很想笑出来~在下面的情况设定好了之后,请留意:‘您的主机应该是在 run-level 为三的笔墨形式底下,也便是没有 X Window 存在’才对!这个时分,要设定完成 X Server ,仅要修正一个文件,而且启动一支顺序即可!先阐明一下我的情况:
                   
                  X Server 主机的 IP 是 192.168.10.30,作业零碎是 Red Hat 9;
                  X Client 的 IP 是 192.168.10.100 ,作业零碎同时是 Linux 与 Windows 2000 。
                   
                  • X Server 的设定:

                  • 由于我们需求启动监听来自 X Client 的要求,这个时分需求重新做一下设定:
                    1. 先备份原先的设定档:
                    [root @server root]# cd /etc/X11/gdm
                    [root @server gdm]# mv gdm.conf gdm.conf.bak
                     
                    2. 编辑设定档,只需底下两行即可!
                    [root @server gdm]# vi gdm.conf
                    [xdmcp]
                    Enable=1
                     
                    3. 启动 gdm :
                    [root @server gdm]# gdm
                    [root @server gdm]# netstat -uln
                    udp        0      0 0.0.0.0:177             0.0.0.0:*
                    # 假如有呈现下面这行就对了!
                    [root @server gdm]# echo "/usr/bin/gdm" >> /etc/rc.d/rc.local
                    # 下面这行在设定开机时启动 gdm 啰!
                     
                  • X Client 的设定(在 Linux 下面):

                  • 假如您的 X Client 异样是 Linux ,那么:‘在这现在这个 Client 端衔接到 X Server 端实行 X 视窗’的功用,只需停止几个步调就可以了!
                    0. 请务须要在 X Window 当中,进入 X Window 的方法有:
                    [root @client root]# startx

                    [root @client root]# init 5
                     
                    1. 在 X Window 的画面当中,启用一个 shell ,然后输出:
                    [root @client root]# xhost + 192.168.10.30
                    192.168.10.30 being added to access control list
                    [root @client root]# init 3 (分开 X Window)

                    2. 在笔墨介面下输出:
                    [root @client root]# X -query 192.168.10.30
                    .....(进入 X Window 啰!)

                     
                  • X Client 的设定(在 Windows 下面):

                  • 假如您的 X Client 是在 Windows 下面,那么就必需要额定的来实行其他的软件了!现在您可以选择购置 Exceed 这个连线软件,或许是先‘试用’ X-Win 这个软件!都是用在 Windows 下面模仿衔接到 Linux X Server 用的软件啦!我这里因此 X-Win 这套顺序做为引见的,您可以在各大学的 FTP 网站下面捉到这个软件,固然,也可以在我这里下载 5.4 版。

                    http://linux.vbird.org/download/#x-win54
                     

                    1. 在 Windows 上的装置步调,便是实行他即可啊!然后不断给他下一步便是了!

                    2.  
                    3. 实行 X-Win32 这个顺序,在呈现如下的图示后,按下 Evaluation 这个试用按钮;


                    4.  
                    5. 按下确认按钮;


                    6.  
                    7. 在右下角的小图示当中,比方: 给他按下谁人 X 啰,就会呈现如下的图示:


                    8.  
                    9. 按下 Add 之后,会呈现如下的图示:


                    10.  
                    11. 下面选择 XDMCP 这个项目,然后选择 Next 之后,会呈现:


                    12.  
                    13. 紧张的中央在于 Query 这个选项,以及 192.168.10.30 这个 IP 指向喔!都设定好之后,给他 Save 一下,会呈现:


                    14.  
                    15. 下面的图示当中,给他按下确定吧!然后呢?在右下角的 X 小图示中 (  ) 按一下 X 之后,就会呈现方才我们树立的 My Linux X Server 这个选项,给他选择下去的啦,呵呵!就会呈现啰:


                    16. 很棒吧!如许就能在 Windows 下面连线进入 Linux 运用他的 X Window 功用啰!
                   
                  跋文:固然搭建一个 X Server/Client 是很复杂的一件事,不外,假如您的呆板并不是在 LAN 外面的话,而是在 Internet 下面停止 Server/Client 的 X 零碎架构的保持,请特殊注意的是,由于 X Window 的图形介面需求不断传输图形到您的任务机下面来,云云一来,将会消耗失大局部的频宽喔!在我的实践案例当中,发明到我的 X Server/Client 之间流量传输到达 2000 Kbits/second, 亦便是 250KBytes/second ,还记得流量的算法吧?!假如是 ADSL 拨接架构的话,现在曾经蛮罕见 下载/上传 = 1.5M/386K 的传输速率,不外,即便下载到达 1.5M 了,不外在我的案例中居然高达了 2.0M 的传输!呵呵!理解吧!以是啰,这个 X Window 的 Server/Client 架构请务必在外部网络搭建就好,不要想连上 Internet 啊!会等的快睡着.....

                重点回忆
                • Cluster 可以是平行盘算的一种,次要除了双 CPU 零碎外,也可以用在多主机架构下的一种增快数值盘算的方法;
                • 平行盘算的 Cluster 次要是藉由主从的架构去运转的,其次要的设建都在 Master 下面设定的, Slave 次要是盘算功用罢了,
                • Cluster 下面相称紧张的中央在于 NFS 的设定,由于 Master/Slaves 都需求读取异样的材料,以是 NFS 分享的文件材料就极端紧张了;
                • 除了 NFS 之外,还需求 MPI 这个平行盘算的函式库之装置,有了 MPI ,Cluster 才干真的运作起来;
                • 在 Cluster 当中,一切的主机之指令的相同次要亦颠末 RSH 的运作;

                参考资源
                浅易 Cluster 搭建

                2003/05/12:第一次完成日期!
                2003/05/20:参加了 X Server/Client 的架构!
                 
                     
                中国存储网 ChinaStor.com排版整理
                原文作者鸟哥,主页,更多Linux学习材料在线看:Linux零碎办理员手册 - Linux下令大全 - Linux挪用大全- Linux专栏 - 国产Linux