centos 5.4 nfs服务器搭建
NFS(Network File System)的基本原则是让不同客户端及服务器通过一组RPCs共享相同的文件系统。它独立于操作系统,允许不同硬件及操作系统的系统共同进行文件的共享。虽然NFS可以在网络中进行文件共享,但NFS在设计时并没有提供数据传输的功能,因此,它需借助RPC(Remote Procedure Call,远程过程调用)。RPC定义了一种进程间通过网络进行交互通信的机制,它允许客户端进程通过网络向远程服务进程请求服务,而不需要了解服务器底层的通信协议详细信息。当一个RPC连接建立开始阶段,客户端建立过程调用(Procedure Call),将调用参数发送到远程服务器进程,并等待响应。当请求到达时,服务器通过客户端请求的服务,调用指定的程序,并将结果返回客户端,当RPC调用结束,客户端程序将继续进行余下的通信操作。
1.准备
用NFS-Client表示Web应用所在的机器,其IP为192.168.1.210(Client_IP);用NFS-Server表示上次文件的机器,其IP为192.168.1.209(Server_IP)。
NFS-Server上传文件所在的文件夹为/root/uploadfiles/,NFS-Client上指向NFS-Server:/root/uploadfiles的文件夹是/web/app1/uploads.
2.在NFS-Client和NFS-Server上安装nfs和portmap
一般来说,CentOS安装好之后,就已经安装了nfs和portmap。可以通过CentOS的“软件包管理者”查看一下,如果没有安装,勾选 nfs-utils-***, nfs-utils-lib-***, portmap-***这三项,安装。也可以使用下面的命令安装:
# yum install nfs-utils portmap
3. 在NFS-Server上配置NFS服务
1 [NFS-Server]#vim /etc/exports
2 /root/uploadfiles Client_IP(rw,sync, no_root_squash)
3 保存exports文件
4 [NFS-Server]#chkconfig portmap on
5 [NFS-Server]#chkconfig nfs on
6 [NFS-Server]#vim /etc/hosts.deny
7 portmap:ALL
8 保存
9 [NFS-Server]#vim /etc/hosts.allow
10 portmap:Client_IP(192.168.1.210)
上述代码中,rw表示NFS-Client对/root/uploadfiles文件夹只具有读写权限。sync表示要以同步方式将文件传到NFS- Server。no_root_squash表示当NFS-Client是以root用户登录时,在访问/root/uploadfiles时不会变为 nobody用户。而后面两句chkconfig是把portmap和nfs两个服务设置为开机自动启动。需要特别注意的是第二行代码中,Client_IP和后面的”(“之间不能有空格。
4. 在NFS-Server上为mountd, rquotad, lockd配置固定的端口
因为NFS会为以上三个服务分配临时端口,所以很难在防火墙上控制要开放哪些端口。所以要将几个端口固定住。
1 [NFS-Server]#vim /etc/services
2 在文件最后添加:
3 mountd 1011/tcp #rpc.mountd
4 mountd 1011/udp #rpc.mountd
5. 在NFS-Server的防火墙里开放相关端口
要开放1101/tcp, 1101/udp, 111/tcp, 111/udp, 2049/tcp, 2049/udp这六个端口。如果是通过图形界面配置,可以手工添加前四个端口,而后面2049这两个端口,可以通过勾选上面的nfs4来开放。
6. 启动portmap和nfs服务
启动方式是service portmap start; service nfs start;
可以通过命令# exportfs来检查配置是否成功。如果成功,会显示/etc/exports文件中的内容。
7. 在客户端挂载服务器的共享文件夹/root/uploadfiles
1 [NFS-Client]#service portmap start;
2 [NFS-Client]#showmount -e Server_IP
3 会显示NFS-Server是否有共享目录
4 [NFS-Client]#mount -t nfs4 Server_IP:/root/uploadfiles /web/app1/uploads
5 [NFS-Client]#df -H
6 能看到多出一个挂载点,说明成功。
下面就可以在NFS-Client机器上往/web/app1/uploads里操作目录和文件,实际变化的是NFS-Server的/root/uploadfiles。
转载于:https://blog.51cto.com/sailforever/882296