GetNAS Logo

FreeNAS的第一个NFS共享

2015-3-8 12:38 Herald NFS共享 4,748

NFS (Network FileSystem 网络文件系统),它的功能是可以透过网络,让不同的机器、不同的操作系统分享文件,可以将它看做是一个文件服务器。

电脑挂载 NFS 共享的目录后,可以像使用本地硬盘分区一样使用共享目录,非常方便。主流的Linux发行版诸如Ubuntu、Fedora、OpenSUSE等默认支持挂载NFS共享,有一些发行版可能需要额外安装软件来支持此功能。对于Windows系统,旗舰版和企业版预置了NFS服务,使用时在控制面板中开启即可,其他的版本可以通过安装NFS客户端来实现这种类型共享的挂载。

创建NFS共享

在创建NFS共享之前,首先我们创建了一个名为 myNFS 的数据集,它位于 myStor 数据集之下,如下图。如果你还不了解如何创建和管理数据集,请先阅读《FreeNAS 创建和删除卷/数据集》。

20150307211606

出于安全考虑,我们将 myNFS 数据集的所有者和所有者组均设置为 nobody,如下图。

20150307220952

在FreeNAS WebGUI中打开“Sharing”共享管理器,并切换到“UNIX(NFS)”,点击“Add Unix(NFS) Share”添加NFS共享按钮,弹出窗口中有如下设置选项,前四项为基本选项,后面剩余的选项为高级选项,点击“Advanced Mode”高级模式按钮方可显示。

  • Path:共享路径,选择要通过NFS共享的卷/数据集;点击“Add extra path”连接,可以同时添加多个共享路径;
  • Comment:共享名称,如果留空,则默认以共享路径作为共享名称;
  • All directories:如果选中此项,则允许用户挂载共享路径下的所有子目录;
  • Read only:只读模式,选中此项,则禁用共享目录的写权限;
  • Authorized networks:授权的网络,格式为 1.2.3.0/24,用空格分隔多个网段;
  • Authorized IP addresses or hosts:授权的IP或主机,用空格分隔多个网段;
  • Quiet:静默模式,用于阻止闹人的错误提示;
  • Maproot User:root用户将被限制为只具有所选用户的权限;
  • Maproot Group:root用户将被限制为只具有所选用户组的权限;
  • Mapall User:所有挂载NFS共享的客户端都将以所选用户权限访问;
  • Mapall Group:所有挂载NFS共享的客户端都将以所选用户组权限访问;
  • Security:选择安全机制;

如下图所示,本例的共享路径选择了新创建的 myNFS 数据集,共享名称为 getnas。

20150307211923

同时,设置 Mapall User 和 Mapall Group 为 nobody,如下图。设置这一步的目的是强制所有挂载此共享的用户均使用nobody权限。

20150307221157

共享创建完成,在服务管理中启用NFS服务,如下图。

20150307214655

NFS高级选项的提示:

  1. 同一个NFS共享中 “Maproot” 和 “Mapall” 二者只能使用一个。即便你两项都进行了设置,系统也会默认用 “Mapall” 的设置覆盖 “Maproot” 设置。如果只希望限制 root 用户权限,则设置 “Maproot” 选项。如果希望限制所有用户的权限,则设置 “Mapall” 选项。
  2. 卷和数据集会被视为独立的文件系统,NFS无法超越文件系统边界。
  3. 每个共享、文件系统或文件夹的网络或主机名必须是唯一的。
  4. 每个共享的文件系统只能设置一次“All directories”。

Windows 7 访问NFS共享

上面已经介绍过,windows 7 及以上的企业版和旗舰版系统内置了NFS客户端和NFS管理程序,我们以 Windows 7 旗舰版为例介绍如何访问NFS共享。

一次找到并打开,开始菜单 → 控制面板 → 程序 → 程序和功能 → 打开或关闭 Windows 功能。在弹出的 Windows 功能窗口中找到 NFS 服务,并勾选 NFS 客户端管理工具

20150307215524

点击确定后,系统会自动配置并启用NFS服务,如下图。

20150307220011

打开计算机,如下图所示,找到并点击“映射网络驱动器”。

20150307233056

在“映射网络驱动器”窗口中输入NFS共享路径(按照FreeNAS官方文档的说法,使用 192.168.1.104:/getnas 即可。但笔者实测发现,使用NFS共享名称会报错。只能在IP地址后面跟NFS的真实共享路径才可以。)特别需要注意的是IP地址和共享路径之间有一个”:”半角冒号。

20150307221513

网络驱动器映射成功,会在计算机中显示,如下图。接下来可以像使用本地硬盘分区一样来使用这个NFS共享目录了,但是经过笔者实测,在Windows 7下面用磁盘映射的方式访问NFS共享速度和稳定性都不是很理想,经常会导致资源管理器崩溃。

20150307233445

Ubuntu 14.04访问NFS共享

笔者使用Ubuntu 14.04 LTS 32位系统进行NFS共享目录挂载测试,得到的结论是需要先安装 nfs-common 这个包,否则无法正常挂载。成功挂载以后,访问NFS共享的速度相当给力,看来NFS还是更适合类Unix系统使用。好了,简单介绍一下Ubuntu挂载NFS的方法。

打开终端,首先安装nfs-common软件包,如下图所示,使用命令 sudo apt-get install nfs-common。

dola@dola-MXC061: -mnt_001

接下来就可以使用Linux挂载命令来挂载NFS共享目录了,我们将NFS共享挂载到Ubuntu系统的/mnt目录(挂载的目标目录可以随意选择,不过要保证目标目录存在且是空的。)

使用命令:sudo mount -t nfs 192.168.1.104:/mnt/myStor/myNFS /mnt   注意空格,请将命令中的IP地址和共享路径修改为你实际的路径,如下图所示,如果没有错误提示,代表目录已经挂载成功了。

dola@dola-MXC061: -_002

用系统自带的文件管理器访问一下/mnt目录,随便拖些文件进去,体验一下速度怎么样,确实很稳定。

mnt_003

查看一下文件的属性,如下图,可以看到,文件的所有者为 nobody,所有者组为nogroup,这个所有者组似乎和我们在FreeNAS上对数据集的设置有些偏差,但是并不影响正常使用NFS共享。

omv_rpi_1.9_hd_sd 属性_004

Mac OS X 访问NFS共享

相比之下,在苹果系统上访问NFS共享要更简单一些,系统本身对NFS做了支持,而且完全图形化操作。打开 Finder,用快捷键 Command + K 打开“连接服务器”窗口,如下图,在服务器地址中输入NFS共享的地址,然后点击连接。

Snip20150308_2

NFS共享挂载完成,在Finder中可以看到左侧共享中显示了NFS共享的IP地址。随便拖一些文件到NFS共享目录中,不错,很稳定。

Snip20150308_4


GetNAS 公众号

微信搜索:getnas 或扫描下方二维码关注

GetNAS 公众号


本文为GetNAS.com原创,版权归上海炬树信息科技有限公司所有,未经书面授权禁止转载。

授权转载请注明来源:https://www.getnas.com/2015/03/1027.html