一乐电子

 找回密码
 请使用微信账号登录和注册会员

QQ登录

只需一步,快速开始

微信扫码登录

手机号码,快捷登录

手机号码,快捷登录

搜索
查看: 5250|回复: 8

ubuntu下搭建nfs服务器

[复制链接]
发表于 2017-3-16 22:14 | 显示全部楼层 |阅读模式
本帖最后由 kenson 于 2017-3-16 22:25 编辑
+ |! S  u, g2 K7 \$ c% j/ d& f5 B
                                                        
+ u2 ]4 T$ F1 ~8 {, o& a1.1      
搭建NFS服务器
0 f  H% J) l& ~0 P0 @       NFS(Network FileSystem,网络文件系统)是由SUN公司发展,并于1984年推出的技术,用于在不同机器,不同操作系统之间通过网络互相分享各自的文件。NFS设计之初就是为了在不同的系统间使用,所以它的通讯协议设计与主机及操作系统无关。
! x, A6 l5 n; h& o: j: I8 LNFS分服务器和客户机,当使用远端文件时只要用mount命令就可把远端NFS服务器上的文件系统挂载在本地文件系统之下,操作远程文件与操作本地文件没有不同。NFS服务器所共享文件或目录记录在/etc/exports文件中。
5 O; R3 M  Q* i$ q$ O( R       嵌入式Linux开发中,会经常使用NFS,目标系统通常作为NFS客户机使用,Linux主机作为NFS服务器。在目标系统上通过NFS,将服务器的NFS共享目录挂载到本地,可以直接运行服务器上的文件。在调试系统驱动模块以及应用程序,NFS都是十分必要的,并且Linux还支持NFS根文件系统,能直接从远程NFS root启动系统,这对嵌入式Linux根文件系统裁剪和集成也是十分有必要的。
) z+ a2 d" h+ A2 H3 G0 m+ l0 J安装nfs-kernel-server:
6 L) Z. F) r0 Y3 B( P( i
ky@ubuntu:~$ sudo apt-get install nfs-kernel-server
设置NFS-Server目录。修改/etc/exports文件,在其中增加NFS服务器目录。     一个NFS服务器可以共享多个NFS目录,在/etc/exports文件中,每个目录的设置独占一行,编写格式如下:. h& A, H9 M  r0 N+ `
NFS共享目录路径    客户机IP或者名称(参数1,参数2,...,参数n)
       说明:
" m& v7 N3 l% X; P6 T
q  NFS共享目录可以是主机的任何一个目录,为了方便使用,最好将权限设置为777。
q  客户机指的是可以访问共享目录的客户机的IP或者主机名,可以是指定的IP或者主机名。如果使用IP,可以使用通配符。假如指定IP为192.168.1.x的客户机可以访问,可以写成192.168.1.*,如果设置为*,则表示任何客户机都可以访问。
q  访问参数可以是一个,也可以是多个,用逗号分开。可能的参数和说明如表 5.1所列。
' K6 p8 \6 a# ~% k+ ]NFS设置参数和说明
6 [) c- |2 D$ R# R. r
参数
说明
ro
只读访问
rw
读写访问
sync
所有数据在请求时写入共享
async
nfs在写入数据前可以响应请求
secure
nfs通过1024以下的安全TCP/IP端口发送
insecure
nfs通过1024以上的端口发送
wdelay
如果多个用户要写入nfs目录,则归组写入(默认)
no_wdelay
如果多个用户要写入nfs目录,则立即写入,当使用async时,无需此设置
hide
在nfs共享目录中不共享其子目录
no_hide
共享nfs目录的子目录
subtree_check
如果共享/usr/bin之类的子目录时,强制nfs检查父目录的权限(默认)
no_subtree_check
不检查父目录权限
all_squash
共享文件的UID和GID映射匿名用户anonymous,适合公用目录
no_all_squash
保留共享文件的UID和GID(默认)
root_squash
root用户的所有请求映射成如anonymous用户一样的权限(默认)
no_root_squash
root用户具有根目录的完全管理访问权限
anonuid=xxx
指定nfs服务器/etc/passwd文件中匿名用户的UID
anongid=xxx
指定nfs服务器/etc/passwd文件中匿名用户的GID
  o' q1 A6 u& M2 d! {4 _8 {4 f$ R
假定NFS共享目录是/home/ky/nfs,允许所有客户机访问,/etc/exports文件可写为:) X1 \) J" G* x: w/ k
/home/ky/nfs *(rw,sync,no_subtree_check, no_root_squash)
启动NFS服务器。启动portmap(如果有必要)和nfs-kernel-server服务:7 c/ E5 Z, [# T. ]" Y" X' Q% [
ky@ubuntu:~$ sudo service portmap start
ky@ubuntu:~$ sudo service nfs-kernel-server start
       本地验证NFS服务器。将NFS服务器目录挂载到本机另外一个目录下,可以看到挂载点目录下可以看到NFS服务器目录中的文件。
' o" G% k# S& O% ^7 y* x& t
ky@ubuntu:~$ ls /home/ky/nfs/
aaaa
ky@ubuntu:~$ sudo mount -t nfs 127.0.0.1:/home/ky/nfs /mnt
ke@ubuntu:~$ ls /mnt
aaaa
ky@ubuntu:~$ sudo umount /mnt/
用开发板验证NFS服务器是否可用。启动开发板,进入系统,配置好开发板的IP地址后,用mount命令挂载NFS服务器的NFS目录:0 o8 C" A) Q. D
target# mount  -t nfs 192.168.1.3:/home/ky/nfs /mnt -o nolock
target# ls /mnt
kingyee
target# umount /mnt/
       挂载成功后,可以在开发板的/mnt目录下看到NFS服务器上的文件。" D+ _, M# e( N  {! B  g9 d0 ?
说明,使用开发板与虚拟机安装的客户系统进行NFS挂载,需要将虚拟网卡设置为Bridged模式,并建议使用静态IP地址。
" r) r( P. j4 p( F5 e       如果在使用中需要增加新的NFS共享目录,直接修改/etc/exports文件即可。修改该文件后,可以不用重启NFS服务,用exportfs命令读取/etc/exports文件,重新共享输出。exportfs命令语法如下:
& m/ D9 ~- v: G5 d
   exportfs  [-aruv]
       选项说明:+ R% ~5 b& z# T
-a:全部挂载(或卸载) /etc/exports的设置;) g# [1 U) L7 O) {
-r:重新挂载/etc/exports的设置;
, j, }3 Y6 K4 E8 ^2 v4 v. A6 f-u:卸载某一个目录;  |' O- j; ^- K% L- W5 ]
-v:在输出的时候,把共享目录显示出来。
7 n* \( c* H+ c' e       如果NFS已经启动,修改了/etc/exports文件,执行如下命令,新的设置即可生效:4 d2 @3 N# C& @% h9 J; H# @# s
ky@ubuntu:~$ exportfs -ra
- k' o! `& V: ?# Q8 s

4 u, a/ \/ s' P6 {. Q" H
发表于 2017-3-17 08:17 | 显示全部楼层
楼主搞的越来越深入啦,都上到板子里了,大赞。。。
回复

使用道具 举报

发表于 2017-3-17 08:48 | 显示全部楼层
不懂
回复

使用道具 举报

 楼主| 发表于 2017-3-17 10:47 | 显示全部楼层
zhixiaoyuhong 发表于 2017-3-17 08:17- u' z+ Z/ g6 M4 {, {
楼主搞的越来越深入啦,都上到板子里了,大赞。。。
. }! |7 E- I6 b8 }) A$ G0 Y0 w
以后靠它来做产品了所以要学习,都没办法1 T2 |& H; ]1 k- D+ V9 y
回复

使用道具 举报

 楼主| 发表于 2017-3-17 10:49 | 显示全部楼层
大家还在搞之前¥49 周立功的板子吗?一值用它来做试验。
回复

使用道具 举报

发表于 2017-3-17 19:24 | 显示全部楼层
又不是网管,又不管个大型服务器,做这个东西干甚?
回复

使用道具 举报

 楼主| 发表于 2017-3-18 22:51 来自手机 | 显示全部楼层
hanshuyujifen 发表于 2017-3-17 19:246 Y- r. f0 \) N
又不是网管,又不管个大型服务器,做这个东西干甚?
( {! S, B. p, c1 Q4 x4 l! P! v$ u, t
看帖不仔细。
回复

使用道具 举报

发表于 2017-3-20 17:39 | 显示全部楼层
kenson 发表于 2017-3-17 10:49
9 m& _1 s& k* x/ G/ i5 \+ s大家还在搞之前¥49 周立功的板子吗?一值用它来做试验。

! x$ w* T9 ]5 _% R! B. \ZLG这套和2440或者210的板子相比有啥优势?
: p4 R  O/ y! v3 `
回复

使用道具 举报

 楼主| 发表于 2017-3-20 21:02 | 显示全部楼层
其实没什么区别学习嵌入式随便一款都可以
0 P& F' ?4 F' r5 C. i; J还有210是啥板子啊??) K! w( j* G" g6 r+ [- D
2410 ?
9 u" F- y/ W1 w7 q
回复

使用道具 举报

本版积分规则

QQ|一淘宝店|手机版|商店|一乐电子 ( 粤ICP备09076165号 ) 公安备案粤公网安备 44522102000183号

GMT+8, 2026-7-13 07:53 , Processed in 0.033760 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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