搭建 NFS 服务_ubuntu
前言
概要
网络文件系统,英文Network File System(NFS),是由SUN公司研制的UNIX表示层协议(presentation layer protocol),能使使用者访问网络上别处的文件就像在使用自己的计算机一样。
定义
NFS是基于UDP/IP协议的应用,其实现主要是采用远程过程调用RPC机制,RPC提供了一组与机器、操作系统以及低层传送协议无关的存取远程文件的操作。RPC采用了XDR的支持。XDR是一种与机器无关的数据描述编码的协议,他以独立与任意机器体系结构的格式对网上传送的数据进行编码和解码,支持在异构系统之间数据的传送。
特点
(1)提供透明文件访问以及文件传输; [2]
(2)容易扩充新的资源或软件,不需要改变现有的工作环境; [2]
(3) 高性能,可灵活配置。 [2]
工作原理
NFS(Network File System,网络文件系统)是当前主流异构平台共享文件系统之一。主要应用在UNIX环境下。最早是由Sun Microsystems开发,现在能够支持在不同类型的系统之间通过网络进行文件共享,广泛应用在FreeBSD、SCO、Solaris等异构操作系统平台,允许一个系统在网络上与他人共享目录和文件。通过使用NFS,用户和程序可以像访问本地文件一样访问远端系统上的文件,使得每个计算机的节点能够像使用本地资源一样方便地使用网上资源。换言之,NFS可用于不同类型计算机、操作系统、网络架构和传输协议运行环境中的网络文件远程访问和共享。 [4]
NFS的工作原理是使用客户端/服务器架构,由一个客户端程序和服务器程序组成。服务器程序向其他计算机提供对文件系统的访问,其过程称为输出。NFS客户端程序对共享文件系统进行访问时,把它们从NFS服务器中“输送”出来。文件通常以块为单位进行传输。其大小是8KB(虽然它可能会将操作分成更小尺寸的分片)。NFS传输协议用于服务器和客户机之间文件访问和共享的通信,从而使客户机远程地访问保存在存储设备上的数据。 [4]
1.安装 NFS 软件包
#先更新资源列表,使用命令:
sudo apt-get update
# 安装 NFS服务器端
sudo apt-get install nfs-kernel-server
# 安装 NFS客户端
sudo apt-get install nfs-common
2. NFS 共享目录
sudo vi /etc/exports
若需要把 “/work” 目录设置为 NFS 共享目录,请在/etc/exports文件末尾添加下面的一行:
# * 表示允许任何网段 IP 的系统访问该 NFS 目录
/work *(rw,sync,no_root_squash)
为/work目录设置宽松的权限:
sudo chmod -R 777 /work
# linux 为当前用户,-R 表示递归更改该目录下所有文件
sudo chown linux:linux /work -R
选择在当前登录用户下的目录作为共享目录,在挂载的时候可以似乎可以避免一些由于权限带来的问题,例如(/home/linux/NewFolder,linux为用户目录)
3.启动 NFS 服务
#启动 NFS 服务
sudo /etc/init.d/nfs-kernel-server start
#重启 NFS 服务
sudo /etc/init.d/nfs-kernel-server restart
在 NFS 服务已经启动的情况下,如果修改了 “/etc/exports” 文件,需要重启 NFS 服务,以刷新 NFS 的共享目录。
4.测试 NFS 服务器
挂载
# xx.xx.xx.xx 为NFS 服务器ip地址。
mount -t nfs -o nolock xx.xx.xx.xx:/work /mnt
解除挂载
umount /mnt