基于 NFS 搭建便捷远程硬盘
知识准备:
一、NFS服务简介
NFS 是Network File System的缩写,即网络文件系统。一种使用于分散式文件系统的协定,由Sun公司开发,于1984年向外公布。功能是通过网络让不同的机器、不同的操作系统能够彼此分享个别的数据,让应用程序在客户端通过网络访问位于服务器磁盘中的数据,是在类Unix系统间实现磁盘文件共享的一种方法。
NFS 的基本原则是“容许不同的客户端及服务端通过一组RPC分享相同的文件系统”,它是独立于操作系统,容许不同硬件及操作系统的系统共同进行文件的分享。
NFS在文件传送或信息传送过程中依赖于RPC协议。RPC,远程过程调用 (Remote Procedure Call) 是能使客户端执行其他系统中程序的一种机制。NFS本身是没有提供信息传输的协议和功能的,但NFS却能让我们通过网络进行资料的分享,这是因为NFS使用了一些其它的传输协议。而这些传输协议用到这个RPC功能的。可以说NFS本身就是使用RPC的一个程序。或者说NFS也是一个RPC SERVER。所以只要用到NFS的地方都要启动RPC服务,不论是NFS SERVER或者NFS CLIENT。这样SERVER和CLIENT才能通过RPC来实现PROGRAM PORT的对应。可以这么理解RPC和NFS的关系:NFS是一个文件系统,而RPC是负责负责信息的传输。
防火墙已关闭/iptables: Firewall is not running.
客户机准备(windows):
前提条件: windows 专业版
-
1 、在控制面版——程序——启用或关闭windows功能中开启 NFS 服务:
-
关闭防火墙
-
保证两台电脑能够相互通讯
-
到这里基本就差不多了,前提是你的电脑支持 NFS ,其他没有什么东西
服务端准备
-
安装 NFS 服务:
apt-get install nfs-kernel-server
-
创建同步文件夹,位置自便,名字自便
mkdir ftp
-
授予文件夹权限
chmod +777 /ftp
-
配置 NFS 配置文件:,具体如下,其实也只用加一行代码就行了:
# 打开**/etc/exports**文件,在末尾加入: /home/ftp *(rw,sync,no_root_squash)
具体参数如下:
- /home/ftp:要共享的目录
- * :允许所有的网段访问
- rw :读写权限
- sync:资料同步写入内在和硬盘
- no_root_squash:nfs客户端共享目录使用者权限
然后启动程序:
#<---重启portmap, sudo /etc/init.d/portmap restart #<---重启nfs服务 sudo /etc/init.d/nfs-kernel-server restart #<---显示共享出的目录 showmount -e
到这里基本就差不多了,最后一步是client 和server 的交互
对了,在这之前需要关闭防火墙或开放端口
挂载硬盘
有好几种方式,我选择最容易最简单的一种,前提是保持服务端服务正常
-
右键此电脑,选择 “映射网络硬盘”
-
输入文件夹路径,//ip/home/ftp
-
成功连接如下图: