视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
NFS服务器的搭建
2025-09-25 03:15:32 责编:小OO
文档
NFS是Network File System的简写,即网络文件系统。

网络文件系统是许多操作系统都支持的文件系统中的一种,也被成为NFS。NFS允许一个系统在网络上与他人共享目录和文件。通过使用NFS,用户可以像访问本地文件一样访问远端系统上的文件。

NFS所提供的共享文件服务是建议在高度信任的基础上的,所以,向其他用户释放共享资源之前,一定要确保对方的可靠性。

NFS的应用:在我们嵌入式开发过程中,NFS是一个重要环节,我们常常·把“根文件”系统放在主机上,然后在开发板启动的时候通过NFS来挂载主机上的根文件系统。这样省去了每次都要把文件系统烧写到存储设备上的步骤,可以说比tftp更方便。

下面我们将以Ubuntu为例,讲解一下NFS的配置过程:

Server:PC

CLient :ARM(这里博主是用同一台机器模拟的,主要是安装过程)

一、配置服务器端

使用sudo apt-get install nfs-kernel-server命令,安装NFS服务器程序软件包。

[cpp]view plain copy

1.fs@ubuntu:~$ sudo apt-get install nfs-kernel-server

2.[sudo] password for fs:

3.Reading package lists... Done

4.Building dependency tree

5.Reading state information... Done

6.nfs-kernel-server is already the newest version.

7.0 upgraded, 0 newly installed, 0 to remove and 120 not upgraded.

8.fs@ubuntu:~$

博主这里以前安装好了NFS

二、配置NFS资源

NFS允许挂载的目录和权限在文件/etc/exports 中记性了定义。配置NFS服务器的关键也就是配置这些文件。

[cpp]view plain copy

1.fs@ubuntu:~$ cat /etc/exports

2.# /etc/exports: the access control list for filesystems which may be exported

3.# to NFS clients. See exports(5).

4.#

5.# Example for NFSv2 and NFSv3:

6.# /srv/homes hostname1(rw,sync,no_subtree_check) hostname2(ro,sync,no_subtree_check)

7.#

8.# Example for NFSv4:

9.# /srv/nfs4 gss/krb5i(rw,sync,fsid=0,crossmnt,no_subtree_check)

10.# /srv/nfs4/homes gss/krb5i(rw,sync,no_subtree_check)

11.#

12./home/fs/qiang 192.168.3.51(rw)

13./home/fs/qiang *(insecure,rw,async,root_squash)

14.fs@ubuntu:~$其中/home/fs/qiang 是要共享的目录,这里必须用绝对路径;

* 代表允许所有的网络段访问;当然这里也可以/home/fs/qiang 192.168.3.51(rw) 设置允许访问的IP地址;

insecure:NFS通过1024以上的端口发送;

rw是可读可写权限;

async是NFS在写入数据前可以相应请求;

root_squash 是root 用户具有根目录的完全管理访问权限;

当然,这里参数还有好多,大家可以查阅下资料;

三、手动启停NFS服务

1、启动NFS服务

[cpp]view plain copy

1.fs@ubuntu:~$ sudo /etc/init.d/nfs-kernel-server start

2. * Exporting directories for NFS kernel daemon... exportfs: /etc/exp

orts [1]: Neither 'subtree_check' or 'no_subtree_check' specified for export "192.168.3.51: /home/fs/qiang".

3. Assuming default behaviour ('no_subtree_check').

4. NOTE: this default has changed since nfs-utils version 1.0.x

5.

6.exportfs: /etc/exports [2]: Neither 'subtree_check' or 'no_subtree_check' specified for exp

ort "*:/home/fs/qiang".

7. Assuming default behaviour ('no_subtree_check').

8. NOTE: this default has changed since nfs-utils version 1.0.x

9.

10. [ OK ]

11. * Starting NFS kernel daemon [ OK ]

12.fs@ubuntu:~$ sudo /etc/init.d/nfs-kernel-server start

2、停止NFS服务

[cpp]view plain copy

1.fs@ubuntu:~$ sudo /etc/init.d/nfs-kernel-server stop

2. * Stopping NFS kernel daemon [ OK ]

3. * Unexporting directories for NFS kernel daemon... [ OK ]

4.fs@ubuntu:~$

3、重新启动NFS服务

[cpp]view plain copy

1.fs@ubuntu:~$ sudo /etc/init.d/nfs-kernel-server restart

2. * Stopping NFS kernel daemon [ OK ]

3. * Unexporting directories for NFS kernel daemon... [ OK ]4. * Exporting directories for NFS kernel daemon... exportfs: /etc/exp

orts [1]: Neither 'subtree_check' or 'no_subtree_check' specified for export "192.168.3.51: /home/fs/qiang".

5. Assuming default behaviour ('no_subtree_check').

6. NOTE: this default has changed since nfs-utils version 1.0.x

7.

8.exportfs: /etc/exports [2]: Neither 'subtree_check' or 'no_subtree_check' specified for exp

ort "*:/home/fs/qiang".

9. Assuming default behaviour ('no_subtree_check').

10. NOTE: this default has changed since nfs-utils version 1.0.x

11.

12. [ OK ]

13. * Starting NFS kernel daemon [ OK ]

14.fs@ubuntu:~$

4、查看NFS服务当前状态

[cpp]view plain copy

1.fs@ubuntu:~$ sudo /etc/init.d/nfs-kernel-server status

2.nfsd running

3.fs@ubuntu:~$

四、查看NFS服务器的共享资源

[cpp]view plain copy

1.fs@ubuntu:~$ showmount -e 19

2.168.

3.51

2.Export list for 192.168.

3.51:

3./home/fs/qiang (everyone)

4.fs@ubuntu:~$

五、挂载共享资源

这里应该在客户端那儿执行,使用mount命令

[cpp]view plain copy

1.fs@ubuntu:~$ sudo mount -t nfs 19

2.168.

3.51:/home/fs/qiang /mnt/nfs

2.fs@ubuntu:~$

-t 指类型,这里是NFS;

192.168.3.51是服务端的IP地址;

/home/fs/qiang 是服务端的共享目录;

/mnt/nfs是挂载点,是客户端的目录;

当客户端使用mount命令讲NFS服务器上的到处文件系统挂载到本地后,接下来对挂载的文件系统的操作与使用本地文件系统没有任何区别。

六、卸载共享资源

[cpp]view plain copy

1.fs@ubuntu:~$ sudo umount /mnt/nfs

需要说明的是,当有用户正在使用某个已加载的共享目录上的文件时,则不能卸载该文件系统,如果用户确认无误,可以使用“umount -f”命令强行卸载共享的目录。下载本文

显示全文
专题