leon_kong 发表于 2013-7-4 16:05:42

DSM 4.2 NFS设置

本帖最后由 leon_kong 于 2013-8-13 09:18 编辑

前言
在升级到DSM黑群晖之前,一直在用DNS-313配WDTV、iPad1来看电影。受到DNS-313及播放器硬件性能的影响,SMB协议网络播放720P文件根本是不可能的事情,只有采用NFS协议,才能让WDTV和iPad1流畅播放DNS-313上的720P影片(而1080P仍然没戏。但LD的iPad4可以通过SMB流畅播放DNS-313上的1080P电影,差距啊),所以一直比较迷信NFS。
在升级NAS的时候,看到DSM支持NFS,所以就利用D400的机箱和Acer D510的主板装了O大的DSM4.2 3211版(感谢odie82544前辈的辛勤工作,感谢vanloon前辈的指点帮助),并且在T430i笔记本上用VBox搭建了4.2的虚拟环境。
昨天在设置NFS时遇到了问题——在DSM里明明设置好了,XBMC里也能看到共享目录,但就是点不进去!查询了坛子里的文章,看到有很多朋友也遇到了这方面的问题,发帖求助后也没了下文,专门讲DSM下NFS设置的文章就更没有了。
最后通过google,参考群晖DS110的设置教程以及自己摸索,最后解决了这个问题,现在整理出来,分享给各位纳斯人,也为有同样NFS设置问题的朋友们提供一个参考。

DSM4.2下NFS的相关设置
1、开启NFS服务并设置共享文件夹的NFS权限
联机并登录DSM后,打开控制面板,在“文件共享及权限管理”栏下找到“win/Mac/NFS”图标,点击进入。


点击“NFS服务”标签页,勾选“启动NFS服务”,点击应用开启NFS服务。


返回控制面板,仍然是在“文件共享及权限管理”栏下,找到“共享文件夹”图标,点击进入。


选择要设置NFS共享的共享文件夹,如video文件夹,点击“权限”菜单,选择“NFS权限”,点击进入


点击“新增”按钮


根据需要设置“服务器名称或IP地址*:”(其实是客户访问端的服务器名称或地址/地址段。本例中地址为*,表示接受所有IP地址的访问)及其他参数(默认设置即可),确定保存。


至此,黑群晖的NFS服务已经启动,DSM管理界面下相关设置工作已完成,但是通过XBMC等客户端访问NFS共享时会出现本文初出现的问题——能看到服务器上的NFS共享文件夹,但是点击没有反应。如何解决,请接着看下文。

2、修改exports文件
熟悉NFS的朋友应该了解,在Linux下NFS服务的配置信息保存在/etc/exports文件中,DSM下NFS的相关设置也是保存在这里。但是DSM下NFS设置只对应linux下相关设置的3个参数,其余的参数没有设置(或设置不正确),而正是这些参数中的一个可以更正上面出现的问题。
接下来,就是要修改exports文件中的相关参数,首先要进行预备工作——开启服务器上的Telnet或SSH服务。
在控制面板中的“网络服务”栏下,找到“终端机”图标,点击进入。


根据使用Telnet还是SSH终端,勾选“启动Telnet功能”或“启动SSH功能”(本文以Telnet为例),保存。


在客户机(以Win7为例)上打开命令提示符,telnet登入服务器,用户名为root,密码为admin的密码

用vi工具编辑/etc/exports——输入“vi /etc/exports”,



exports文件内容如下图所示。


其中:
/volume1/video —— 服务器端NFS共享路径
*                        —— 可接受的客户端地址,这里表示接受所有客户端
rw                      —— 客户端具有读写权限
async               —— 客户端写入采用异步方式,即先写入内存,再写入磁盘
no_wdelay          —— 若有写操作则立即执行
no_root_squash—— 客户机用root访问该共享文件夹时,不映射root用户
insecure_locks   —— 禁止客户端的非授权访问(需要修改的参数)
anonuid=0         —— 指定NFS服务器/etc/passwd文件中匿名用户的UID
anongid=0         —— 指定NFS服务器/etc/passwd文件中匿名用户的GID
这里,insecure_locks参数禁止了客户端的非授权访问,要改为insecure允许客户端的非授权访问,这样才能使客户端看到共享文件的内容。
在VI工具中输入“i”,进入编辑模式,修改insecure_locks为insecure

修改后按“ESC”键,输入“:wq”保存退出。


此时,exports文件已修改完毕,需要重启NFS,有两种方法:
一种是回到控制面板“NFS服务”标签页,去除“启动NFS服务”前面的勾选,点击应用停止NFS服务,然后再勾选“启动NFS服务”,点击应用重新开启NFS服务;
另外一种是在刚才的终端界面直接输入“exportfs -r”命令,回车重新加载/etc/exports中的共享目录。




附:NFS参数详解
Ro                        该主机对该共享目录有只读权限 Rw                         该主机对该共享目录有读写权限 Root_squash          客户机用root用户访问该共享文件夹时,将root用户映射成匿名用户 No_root_squash    客户机用root访问该共享文件夹时,不映射root用户 All_squash             客户机上的任何用户访问该共享目录时都映射成匿名用户 Anonuid                将客户机上的用户映射成指定的本地用户ID的用户 Anongid                将客户机上的用户映射成属于指定的本地用户组ID Sync                     资料同步写入到内存与硬盘中 Async                   资料会先暂存于内存中,而非直接写入硬盘 Insecure                允许从这台机器过来的非授权访问 wdelay                  如果多个用户要写入NFS目录,则归组写入(默认) no_wdelay             如果多个用户要写入NFS目录,则立即写入,当使用async时,无需此设置 hide                      在NFS共享目录中不共享其子目录 no_hide                共享NFS目录的子目录 subtree_check       如果共享/usr/bin之类的子目录时,强制NFS检查父目录的权限(默认) no_subtree_check和上面相对,不检查父目录权限 anonuid=xxx         指定NFS服务器/etc/passwd文件中匿名用户的UID anongid=xxx         指定NFS服务器/etc/passwd文件中匿名用户的GID

大功告成!

leon_kong 发表于 2013-7-4 16:09:50

沙发自己坐{:soso_e129:}

hjfgt 发表于 2013-7-4 16:12:14

感谢分享!

lasttime 发表于 2013-7-4 16:17:59

NFS效率确实高不少,但是有线浏览的话,SMB已经足够了。

virus1999 发表于 2013-7-4 16:24:41

学习了……感谢楼主分享。

feng5064 发表于 2013-7-4 16:25:08

对NFS不熟悉,受教了。感谢分享!

hxwjb 发表于 2013-7-4 16:26:42

支持技术帖

百战不殆 发表于 2013-7-4 16:26:45

这个不错哦

dolphinrfc 发表于 2013-7-4 16:28:06

回復看內容

irdilyzz 发表于 2013-7-4 16:36:06

这得看看,,,感谢楼主。

redmore 发表于 2013-7-4 16:36:34

看看学习

EverGame 发表于 2013-7-4 16:40:21

看看,学习一下。

vanloon 发表于 2013-7-4 16:42:04

{:soso_e122:} 还藏起来 看看 呵呵

leon_kong 发表于 2013-7-4 16:45:04

vanloon 发表于 2013-7-4 16:42
还藏起来 看看 呵呵

增加点人气,呵呵

sanna 发表于 2013-7-4 16:47:07

刚好需要。谢谢分享。看看内容。

liuxiqiang 发表于 2013-7-4 17:26:32

看看吧~~~~~~~~~~

cctv10 发表于 2013-7-4 17:32:24

感谢分享!

cube818 发表于 2013-7-4 17:41:27


感谢分享!

fastgame 发表于 2013-7-4 17:42:55

感谢楼主的好文章

pctine 发表于 2013-7-4 17:47:41

等著看下一篇.
页: [1] 2 3 4 5 6 7 8 9 10
查看完整版本: DSM 4.2 NFS设置