找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
广告投放联系QQ68610888
查看: 47613|回复: 67

openwrt NFS服务器应用进阶教程

 火.. [复制链接]
本帖最后由 teasiu 于 2016-3-9 04:06 编辑

一,名词:
NFS(Network File System)即网络文件系统,是FreeBSD支持的文件系统中的一种,它允许网络中的计算机之间通过TCP/IP网络共享资源。在NFS的应用中,本地NFS的客户端应用可以透明地读写位于远端NFS服务器上的文件,就像访问本地文件一样。
在openwrt中,人们习惯了用samba或者ssh来管理文件系统,但是,真正的NAS实现,NFS是理想(必备)的一种配置。
对比samba实现的共享,NFS的传输速度远远超过它。(我自己录得60M/s的速度)

二,安装:
opkg update
opkg install nfs-kernel-server
依赖包会自动下载安装。
(安装时可能会遇到内核与下载软件不兼容的情形,不在这里描述)
自编译的固件在Network--FileSystem下添加选定即可(其他依赖包会自动选上)。--推荐

三,配置
配置文件:/etc/exports配置说明:
在上面这个文件里输入以下内容
/mnt/sda1   192.168.1.0/255.255.255.0(rw,sync,no_subtree_check)   #这句的意思是将/mnt/sda1的文件共享给路由器下的所有IP客户并赋予读写权限
/mnt/sda2   192.168.1.0/255.255.255.0(rw,sync,no_subtree_check)
......
如果你只有一个分区或文件夹共享,则填写一行即可
(网友:)上面这些不能连接xbmc播放器可以修改为:
/mnt/sda1  192.168.1.0/255.255.255.0 (ro,all_squash,insecure)
(网友提到如何卸载服务器端)
服务器端卸载:
# vi /etc/exports   
#删除你挂载的那行。
# exportfs -r
#使上面的更改生效。注意,exportfs是fs而不是exports的s哦,这一句命令在你添加或减少挂载文件夹均有用到。


四,运行
终端输入
/etc/init.d/portmap start  #这一行必须先启动,才可以
/etc/init.d/portmap enable
/etc/init.d/nfsd start
/etc/init.d/nfsd enable
如果需要外网访问,则在防火墙--通信规则--打开路由器端口,把111\2049\32777\32778\32779\32780这6个端口的TCP/UDP打开

五,应用(这是本教程的重点)
初级应用:
1.在windows下:
首先在控制面板--程序--添加windows应用程序--添加NFS客户端
然后,在运行框输入 mount 192.168.1.1:/mnt/sda1 x:
在我的电脑里就会多了一个盘符X:的文件夹。
2.在linux下:
sudo apt-get install nfs-kernel-server
sudo mkdir /mnt/nfs
sudo mount -t nfs 192.168.1.1:/mnt/sda1 /mnt/nfs
在/mnt/nfs下就是路由器上共享的文档了。
卸载的话,sudo umount /mnt/nfs 即可。

进阶应用:
我们都知道nfs的传输速度很快,那么,怎么体现在实际的使用中受益呢,
楼主教你几个大招。
1.电视高清机顶盒,-本地文件--网络--samba--打开路由器上远程迅雷下载的电影,720P的还可以,1080P的就有点卡了
                               -本地文件--网络--NFS--打开路由器上远程迅雷下载的电影,1080P的电影,流畅到没人性。

2.上传电脑里的大文件资料到路由器的usb硬盘
用samba文件夹上传,4M/s有木有,半个小时以上有木有
直接拖到nfs文件夹,40M/s有木有,速度的没人性啊

3.网络启动live-cd
ubuntu又出新版本了,想看一看新特性,搞个live-cd,咱来个无盘启动:
下载iso镜像,挂载(压缩包打开也行)出来,把里面的文档全部拖进路由器/mnt/sda1的ubuntu文件夹。
启用路由器上的tftp服务器,根目录填/mnt/sda1,启动镜像填winly.0
把这个文件解压到/mnt/sda1根目录
tftpdroot
然后重启电脑,选择网卡启动,启动后的菜单选择ubuntu
10来秒打开ubuntu系统有木有。速度没人性啊。
如果你已经有了别的网络启动镜像,那么,请编辑你的启动菜单如下grub2为例子:
  1. menuentry "Try Ubuntu " {
  2.         set gfxpayload=keep
  3.         linux        /ubuntu/casper/vmlinuz.efi  file=/ubuntu/preseed/ubuntu.seed boot=casper ide=nodma netboot=nfs nfsroot=192.168.1.1:/mnt/sda1/ubuntu/ locale=zh_CN.UTF-8 quiet splash --
  4.         initrd        /ubuntu/casper/initrd.lz
  5. }
复制代码
其他的例子,可以跟帖出来,我帮你改。(改好以后再放到这里来)

还有其他大招的网友,不妨说出来,我帮你归类进来。











评分

参与人数 2恩山币 +2 收起 理由
嘉盛外*** + 1 打捞起床了,都更新到1.1了,教程是不是该跟新了
kfq*** + 1 我是来打酱油的,老婆说酱油要涨价了,顺便再买两块豆腐~

查看全部评分

我的恩山、我的无线 The best wifi forum is right here.
标记起来,下次就知道了
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

转载了。。。不过目前的路由器还是tomato的,虽然有很多openwrt的,但是感觉稳定性来说还是bwq518的tomato用着稳定
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

主要是各种设备没方便用的nfs的客户端
比如安卓有能用的吗(很久没玩nfs不清楚了)

点评

推荐kodi,完美支持nfs,内核支持nfs的话建议root了之后关掉分离挂载命名空间,手动挂载NFS,性能飞起,本地播放器随便用  详情 回复 发表于 2016-2-28 16:09
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

mark下
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

本帖最后由 zhouruixi 于 2016-2-28 13:35 编辑

写的不错
·话说40M 60M/s,莫非是usb3.0的路由器。samba 4M/s总觉得有问题不正常--,应用的话当属android了,推荐kodi,完美支持nfs,内核支持nfs的话建议root了之后关掉分离挂载命名空间,手动挂载NFS,性能飞起,本地播放器随便用

点评

关掉分离挂载命名空间 这个是作什么用的,不明白,能详细说说吗?谢谢!  详情 回复 发表于 2016-3-30 18:05
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

来自手机 | 显示全部楼层
留名备用~~~
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

支持下!就是现在的windows 10系统已经不带NFS了

点评

win10企业版,NFS有的。我自己就这么用的。  详情 回复 发表于 2016-2-28 14:34
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| | 显示全部楼层
tom663 发表于 2016-2-28 14:29
支持下!就是现在的windows 10系统已经不带NFS了

win10企业版,NFS有的。我自己就这么用的。
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

我在nfsroot=192.168.1.254:/mnt/sda1/ubuntu/ 后面加了nolock参数才成功从debian nfs server上挂载的镜像启动成功。

点评

可以把你的整个完整的debian菜单分享出来吗?谢谢  详情 回复 发表于 2016-2-28 15:26
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

来自手机 | 显示全部楼层
学习了
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| | 显示全部楼层
zhouruixi 发表于 2016-2-28 14:51
我在nfsroot=192.168.1.254:/mnt/sda1/ubuntu/ 后面加了nolock参数才成功从debian nfs server上挂载的镜像 ...

可以把你的整个完整的debian菜单分享出来吗?谢谢

点评

你可能理解错我的意思了,下面是我的ubuntu文件夹内容,放在openwrt上 ├── casper │   ├── initrd.lz │   └── vmlinuz.efi └── preseed └── ubuntu.seed 而ubuntu  详情 回复 发表于 2016-2-28 16:07
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

teasiu 发表于 2016-2-28 15:26
可以把你的整个完整的debian菜单分享出来吗?谢谢

你可能理解错我的意思了,下面是我的ubuntu文件夹内容,放在openwrt上
├── casper
│   ├── initrd.lz
│   └── vmlinuz.efi
└── preseed
    └── ubuntu.seed

而ubuntu的完整iso镜像在debian服务器上,我把iso挂在到/tmp/iso,然后设置debian上的nfs服务器共享它
修改menuentry "Try Ubuntu 14.04.2" {
        set gfxpayload=keep
        linux   /ubuntu/casper/vmlinuz.efi  file=/ubuntu/preseed/ubuntu.seed boot=casper ide=nodma netboot=nfs nfsroot=10.0.0.254:/tmp/iso/ nolock locale=zh_CN.UTF-8 quiet splash --
        initrd  /ubuntu/casper/initrd.lz
然后就可以引导安装ubuntu了

         我其实想把winly放到op上,让一台没有硬盘的主机(或者虚拟机)把nfs上的文件当作根目录,在开发版里面很常见,但我不知道应该怎么弄,不太懂grub

点评

我明白了。 你的NFS服务器上的配置文件exports没有添加这一句:no_subtree_check 例如: /tmp/iso 10.0.0.0/255.255.255.0(rw,sync,no_subtree_check)  详情 回复 发表于 2016-2-28 23:20
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

262300963 发表于 2016-2-28 11:42
主要是各种设备没方便用的nfs的客户端
比如安卓有能用的吗(很久没玩nfs不清楚了)

推荐kodi,完美支持nfs,内核支持nfs的话建议root了之后关掉分离挂载命名空间,手动挂载NFS,性能飞起,本地播放器随便用
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| | 显示全部楼层
zhouruixi 发表于 2016-2-28 16:07
你可能理解错我的意思了,下面是我的ubuntu文件夹内容,放在openwrt上
├── casper
│    ...

我明白了。
你的NFS服务器上的配置文件exports没有添加这一句:no_subtree_check

例如:
/tmp/iso  10.0.0.0/255.255.255.0(rw,sync,no_subtree_check)

点评

有,no_subtree_check参数的,op上也要加nolock才能挂在成功,应该是我编译的时候没有加入文件锁的支持.winly引导的ubuntu内核估计也是不支持,但是用pxelinux无盘引导debian则不需要此参数。总之室内和问题  详情 回复 发表于 2016-2-29 11:01
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

欢迎大家光临恩山无线论坛上一条 /1 下一条

有疑问请添加管理员QQ86788181|手机版|小黑屋|Archiver|恩山无线论坛(常州市恩山计算机开发有限公司版权所有) ( 苏ICP备05084872号 )

GMT+8, 2024-4-29 06:23

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

| 江苏省互联网有害信息举报中心 举报信箱:js12377 | @jischina.com.cn 举报电话:025-88802724 本站不良内容举报信箱:68610888@qq.com 举报电话:0519-86695797

快速回复 返回顶部 返回列表