别れの予感邓丽君:NFS,NIS,RSH配置(ZZ)

来源:百度文库 编辑:偶看新闻 时间:2024/04/28 16:47:33
NFS,NIS,RSH配置(ZZ)2010年01月29日 星期五 16:53 LINUX集群中的每个节点都有自己的处理器和内存,运行独立的操作 系统,不能直接访问其他节点的处理器,内存或其他设备。而MPI环境却要求这样的访问,这就需要内部网络和协议的支持。首先,每个节点要能互访,需进行基 本网络配置;其次,由于并行计算的特点,每个节点的计算程序是通常是相同的,只是所分配的计算区间不同。这就需要:(1)每个计算节点能够使用载入同一个 计算程序,并能进行相应初始化;(2)高效率的用户身份验证方法,并且能执行用户发出的计算指令。对于第一个要求,可以使用Linux的NFS文件系统实 现,将服务器节点的用户文件让所有计算共享。对于第二个要求,可通过网络信息服务(NIS)和SHELL命令服务(RSH)实现,所以NFS、NIS、 RSH是集群的基本网络服务。

I.网络信息服务(NIS)
NIS是一个简单的客户机/服务器数据库系统,提供一个简易网络查询服务。NIS是网络信息系统的简称,包含了网络用户的信息,由数据库与处理程序构 成,目的是为网络上所有机器提供所需信息。数据库建立在服务器上,用于统一管理集群中服务器和节点机的用户信息,使得一个用户可以登入集群中任何一台节点 机,而不需要管理员另外为用户在每台节点机上设置帐户和密码。虽然NIS存在一定的安全隐患,但在内部网络,安全问题不大。
II.网络文件系统(NFS)
并行任务启动时,需要所有节点都能载入并行计算程序的执行代码。并行计算程序执行代码文件、输入输出数据文件等必须让所有节点机共享,这可以通过 NFS实现,用户在任何节点登入,看到的是单一系统印象,感觉不到多台计算机的存在。微机集群一般通过NFS来实现文件共享。NFS是一个可靠的协议,提 供服务过程中不保留信息,客户机出现问题,并不影响服务器。虽然NFS也存在比较大的安全隐患,但在内部网络,问题就不明显了。
III.远程SHELL命令(RSH)
基于MPI的并行计算需要在每个计算节点启动并行计算任务,用户需要登入每个节点,然后递交计算任务。不过这通常效率比较低,那么,高效的做法是,不 需要登入远程机器,就可以在远程机器上启动并递交计算任务,而RSH提供了这样的机制。MPI安装于服务器节点,其启动命令包含有在每个可供使用的节点机 上启动计算的批处理命令。NIS为节点机接受这样的命令提供身份验证机制,但是,远程SHELL命令需要由程序来发出和响应。RSH就是这样的程序。命令 执行之前,节点机检查服务器是否有权限发出这样的命令。之后,节点机通过/etc/hosts.equiv文件对服务器IP做可信赖检查,通过检查,则命 令执行;没通过,则需口令才能执行命令。对于集群来说,做的是高效率的并行计算,无口令登入,无疑带来了更高的计算效率。

具体安装步骤如下(以四节点集群为例):

集群中各节点所安装的系统为Redhat9.0,在安装服务器和各节点机操作系统时,设置服务器和各节点机的主机名分别 为:server,pc1,pc2,pc3其中服务器的IP为:192.168.0.1,客户端的IP依次类推。操作系统选择最小安装模式,然后再根据节 点在集群中担任的角色选择添加所必须的软件包,分服务器和节点机:
服务器所需添加的软件包为:
nfs-utils、ypserv、yptools、rsh-server、xinetd
其中:
nfs-utils 提供NFS服务器功能,已经默认安装;
ypserv和yptools 提供NIS服务器功能;
rsh-server 包括一组程序,它允许用户在远程机器上运行命令(rsh)、登录到其它机器(rlogin)以及机器间复制文件(rcp);
xinetd 是互联网服务守护进程,为所有服务提供访问控制,这些控制构建在远程主机的编号和访问时间上,可以防止攻击。Xinetd 也可以把指定的服务绑定到主机上的IP,每个服务器都有它自己指定的Xinetd配置文件,这些文件位于/etc/xinetd.d目录中。
节点机所需添加的软件包为:
ypbind、rsh-server、xinetd
其中:
ypbind 为NIS客户端服务程序

在服务器和节点机上分别编辑/etc/hosts,建立集群网络中主机名与IP地址对应关系,在该文件中加入:
192.168.0.1 server
192.168.0.2 pc1----------- (分别为客户机的IP地址和主机名)
192.168.0.3 pc2
192.168.0.4 pc3
在服务器和节点机上分别编辑/etc/hosts.equiv,建立主机间的信任关系,在该文件中加入:
server
pc1
pc2
pc3

服务器具体配置

NFS设置
编辑文件NFS文件输出表文件/etc/exports,输出/usr/local和/home文件让节点机共享。其中/usr/local用于安装 MPI并行环境和存放其他公用程序。/home是普通用户登录目录,通过这样的机制,可以统一集群中的应用程序目录及用户目录,更体现集群的单一系统印 象。虽然NFS可以在网络中进行文件共享。但是NFS协议本身并没有提供数据传输的功能,它必须借助于过程调用(RPC)协议来实现数据的传输。RPC定 义了一种进程间通过网络进行交互通信的机制,它允许客户端进程通过远程服务器上的服务进程请求服务,而不需要了解底层通信协议的细节。
1.在系统最小化安装已含有nfs-utils和portmap软件包.只要启动这两项服务就可以。
通过 cd /var/log/message 来查看是否正确启动
2./etc/exports文件内容编辑如下:
/usr/local (rw,no_root_squash)
/home (rw,no_root_squash)
3.重启动NFS守护进程:/etc/rc.d/init.d/nfs  restart
4.输出/etc/exports里列出的所有文件:exportfs  –a
5. 用showmount –e 命令查看当前主机中NFS服务器上所以输出的共享目录。

NIS设置
在NIS服务器设置之前,先创建一个普通用户user1,该用户用于做NIS测试。也可用于做MPI并行计算的用户。
1.把portmap 设为开机启动
#chkconfig –level 35 portmap on
2.修改启动配置脚本文件:编辑/etc/sysconfig/network,加入NISDOMAIN=server.cn 指定NIS域名。
3.修改/etc/nsswitch.conf文件:该文件用来配置使用哪些服务来确定诸如主
机名、口令以及组文件信息等,规定NIS客户端查询用户数据信息来源
的顺序。在该文件中编辑如下内容:
passwd:files nis
shadow:files nis
group: files nis
hosts: files nis dns
4.建立网络信任组
# touch /etc/netgroup
5.启动 ypserv 和yppasswdd
# service ypserv start
#service yppasswdd start
5初始化NIS数据库:通过数据库初始化,创建NIS用户信息数据库
命令:/usr/lib/yp/ypinit –m
出现添加NIS从服务器信息,若不需添加,ctrl+d结束,接着接受提示信息,按Y,出现NIS服务器设置成功信息
d.重新启动NIS服务
命令 /etc/rc.d/init.d/ypserv start
/etc/rc.d/init.d/yppasswdd start

RSH 设置

a.编辑/etc/xinetd.d/rsh ,把里面的disable选项的yes改成no
b.编辑/etc/xinetd.d/rlogin ,把里面的disable选项的yes改成no
c.重新启动服务:/etc/rc.d/init.d/xinetd restart

节点机具体配置

NFS设置
# vi /etc/fstab
使节点机启动时自动挂载NFS服务器输出的文件目,在该文件中加入:
server:/usr/local /usr/local nfs defaults 0 0
server:/home /home nfs defaults 0 0
可用mount 命令,测试是否能挂载NFS服务器上的输出文件目录
如:mount -t nfs server:/home /home ,若正确,进入节点机/home 目录,可看到服务器上的/home 目录

NIS 设置
最小化安装已含有ypbind服务
# /etc/yp.conf
加入
domain server.cn
ypserver server
让节点机能认识集群网络的NIS域名和NIS服务器。
# vi /etc/sysconfig/network,方法与服务器端的配置方法一样。
# vi /etc/nsswitch.conf ,方法与服务器端的配置方法一样。
启动客户端软件 /etc/rc.d/init.d/ypbind start
此时,可以用ypcat passwd 命令,测试所创建建NIS服务是否正确,若正确,可以看到服务器的/etc/passwd 文件的一部分。

RSH设置
节点机的RSH设置与服务器端配置方法一样,启动xinetd 服务。

至此,集群所需的网络环境搭建完成。在这里,可以进行远程无口令登录测试,新建一个普通用户usr1,在普通用户下用命令:rsh +远程主机名(或rlogin +远程主机名),若网络配置正确,可以看到远程主机SHELL提示符,并可以使用远程主机的资源。