当前位置: 首页 > news >正文

lv3 嵌入式开发-10 NFS服务器搭建及使用

目录

1 NFS服务器介绍

1.1 NFS服务器的介绍

1.2 NFS服务器的特点

1.3 NFS服务器的适用场景

2 NFS服务器搭建

2.1 配置介绍

2.2 常见错误

3 WINDOWS下NFS服务器搭建(扩展)


1 NFS服务器介绍

1.1 NFS服务器的介绍

nfs(Network File System)即网络文件系统,其基于UDP/IP 使用nfs能够在不同计算机之间通过网络进行文件共享,能使使用者访问网络上其它计算机中的文件就像在访问自己的计算机一样。

1.2 NFS服务器的特点

提供透明文件访问以及文件传输;  

容易扩充新的资源或软件,不需要改变现有的工作环境;  

高性能,可灵活配置。

1.3 NFS服务器的适用场景

2 NFS服务器搭建

2.1 配置介绍

检测软件源更新

sudo apt-get update
1 运行下面的命令安装 NFS 服务器(需要保持网络通畅)。
sudo apt-get install nfs-kernel-server

2. 运行下面的命令,创建一个目录,并在该文件下创建一个文件,用于测试nfs

linux@ubuntu:~ $ sudo mkdir /nfs
linux@ubuntu:~ $ mkdir /nfs/rootfs
linux@ubuntu:~ $ echo "nfs test" > /nfs/rootfs/test.txt
3. 编辑 /etc/exports 配置文件。
linux@ubuntu:~ $ sudo vim /etc/exports
添加如下内容:
/nfs/rootfs *(rw,sync,no_subtree_check,no_root_squash)
其中:
  • /nfs/rootfs:共享的目录;
  • *:不限定客户端;
  • rw:共享目录可读可写;
  • sync:将数据同步写入内存缓冲区与磁盘中,效率低,但可以保证数据的一致性;(如果不配置,断电可能文件或数据丢失,操作系统未将内存中的数据实时写入磁盘)
  • no_subtree_check :即使输出目录是一个子目录,nfs服务器也不检查其父目录的权限,这样可以提高效率;
  • no_root_squash:来访的root用户保持root帐号权限;
4. Ubuntu17.10 及以后版本需要增加以下配置,因为新版本 Ubuntu 只支持 nfs 3 nfs 4 而uboot默 认使用nfs 2
linux@ubuntu:~ $sudo vi /etc/default/nfs-kernel-server
RPCNFSDOPTS="--nfs-version 2,3,4 --debug --syslog"

5. 使用下面的命令,重启NFS服务。

linux@ubuntu:~ $ sudo service nfs-kernel-server restart

6. 使用下面的命令,将共享目录挂在到/mnt目录下,并修文件。(localhost本地)

linux@ubuntu:~ $ sudo mount -t nfs localhost:/nfs/rootfs /mnt
linux@ubuntu:~ $ vim /mnt/test.txt
7. 使用下面的命令,查看原来的文件已经被修改。
linux@ubuntu:~ $ cat /nfs/rootfs/test.txt
8. 使用下面的命令取消挂载。
linux@ubuntu:~ $ sudo umount /mnt

2.2 常见错误

错误现象: RPC: Program not registered & retrying

原因:nfs服务没有启动

解决方法:启动服务

错误现象:The stale file handle error

原因:服务器上的共享资源移动位置了

解决方法:客户端使用umount和mount重新挂接

3 WINDOWS下NFS服务器搭建(扩展)

1.下载window上的NFS Server

NFS Server for all Windows platforms.

2.NFS Server服务启动

  

 

提示:这个-name nfs表示将E:\JackProject路径使用nfs表示

提示:上面两个勾选:仅对授权用户可见,通过nfs将导出添加到文件夹的上下文菜单

现在该进入Ubuntu下进行设置挂载点了:

sudo mount -t nfs -o nolock 192.168.209.1:/nfs /mnt#:/nfs表示刚才在NFS Server软件上将E:\JackProject使用nfs表示的。

http://www.lryc.cn/news/158270.html

相关文章:

  • 后流量时代的跨境风口:Facebook广告
  • Java基础学习笔记-2
  • Mongodb 安装脚本(附服务器自启动)
  • yolov5的pytorch配置
  • ISO 19712-1-2008装饰用实体面材检测
  • 华为OD机试 - 最多颜色的车辆 - 数据结构map(Java 2022Q4 100分)
  • Mybatis 插入、修改、删除
  • 2023年9月DAMA-CDGA/CDGP数据治理认证火热招生中
  • 【SpringCloudAlibaba】Seata分布式事务使用
  • Java-day13(IO流)
  • Vue2项目练手——通用后台管理项目第四节
  • linux运维(二)内存占用分析
  • go logger 不侵入业务代码 用slog 替换 zap 并实现 callerSkip
  • vuez 与 Vue3 响应式比较
  • 【Apollo学习笔记】——规划模块TASK之PIECEWISE_JERK_SPEED_OPTIMIZER
  • CNI、CSI 和 CRI在 Docker 中的角色和作用
  • 「Docker」M1 Pro 打包docker image问题合集
  • Android发布依赖到 Jitpack
  • 【虚拟机开不了】linux、centOS虚拟机出现entering emergency mode解决方案
  • 嘉泰实业举行“互联网金融知识社区”“安全理财风险讲座”等活动
  • 《C++设计模式》——结构型
  • docker-compose安装redis
  • 机器学习基础之《分类算法(6)—决策树》
  • 2023国赛数学建模C题思路模型 - 蔬菜类商品的自动定价与补货决策
  • 【Docker】Docker网络与存储(三)
  • python面向对象的一个简单实例
  • 微信小程序通过npm引入tdesign包进行构建的时候报错
  • 三次握手四次挥手
  • Redis持久化、主从与哨兵架构详解
  • SQLITE_BUSY 是指 SQLite 数据库返回的错误码,表示数据库正在被其他进程或线程使用,因此当前操作无法完成。