Linux NFS挂载时候解决的记录

简介: Linux NFS挂载时候解决的记录

前言:

NFS环境搭建时候遇到的问题记录:

调试jetson-nano时候,需要互相传一些文件,本来是想用scp传输就好了,觉得不是很方便,就使用了nfs网络文件系统,在搭建环境使用过程中遇到一些问题,写这篇文章用来记录和分享,


搭建环境介绍

网络文件系统,常被称为NFS(Network File System),它是一种非常便 捷的在服务器与客户端通过网络共享文件的方式。

开启了NFS服务后,客户端访问服务器共享的文件时如同访问本 地存储器(磁盘/SD卡/NAND FLASH等)上的文件一样,,在嵌入式开发时,我们常常利用这个特性在主机上共享文件,主要应用场景如下:

搭建环境主要包含连接网络、主机开启NFS服务 以及从机挂载文件系统三个步骤。

其中,我本次挂载设备目录信息为:

服务主机共享目录为:/home/jetson/Pictures,

从机的挂载目录为:/home/lyn/jetson_nano/nfs_dir/。

主机IP:172.16.60.174 不过我在后续都以 jetson_nano 来映射了。

地一个任务是去互相ping挂载的对方,如果ping通再执行下一步。839886cd3c004deb9abdba851aa48a4c.png839886cd3c004deb9abdba851aa48a4c.png使用此条命令执行挂载

sudo mount -t nfs jetson_nano:/home/jetson/Pictures  /home/lyn/jetson_nano/nfs_dir/

挂载遇到的问题

问题 1

mount.nfs: requested NFS version or transport protocol is not supported

主机没有安装NFS服务,需要使用如下命令安装NFS服务端软件:

安装nfsserver

sudo apt install nfs-kernel-server

839886cd3c004deb9abdba851aa48a4c.png

问题 2

sudo mount -t nfs jetson_nano:/home/jetson/Pictures /home/lyn/jetson_nano/nfs_dir/ mount.nfs: access denied by server while mounting jetson_nano:/home/jetson/Pictures

839886cd3c004deb9abdba851aa48a4c.png

配置nfs服务端

安装 NFS 服务后,会新增一个 /etc/exports 文件,在 /etc/exports 文件末尾添加如下语句并保存。

vi /etc/exports添加以下内容:/home/jetson/Pictures 172.16.0.0/24(rw,sync,all_squash,anonuid=1000,anongid=1000,no_subtree_check) /home/jetson/Pictures *(insecure,rw,async,no_root_squash)

839886cd3c004deb9abdba851aa48a4c.png

解释一下该命令下详细的信息

/home/jetson/Pictures 172.16.0.0/24(rw,sync,all_squash,anonuid=1000,anongid=1000,no_subtree_check)
/home/jetson/Pictures *(insecure,rw,async,no_root_squash)

/home/jetson/Pictures :要共享的开发主机目录,注意使用空格与后面的配置隔开。

172.16.0.0/24:配置谁可以访问,其中的/24是掩码,此处表示24个1,即11111111.11111111.11111111.00000000, 即掩码是255.255.255.0。结合前面172.16.0.0表示此处配置IP为 172.16.*的主机均可以访问该目录,即局域网上的所有主机。

若局域网是其它网段,请参考此处的配置,不能直接用星号表示,如欲配 置172.16.1.* 的局域网下所有机器都可以访问,则配置为 172.16.1.0/24。

这个配置域也可以直接写可访问的主机名,如把“172.16.0.0/24”替换为从机名“jetson-client”,则仅该从机能访问共享的目录。(此处可以使用showmount -e 查看)

rw: 表示客户机的权限,rw表示可读写,具体的权限还受文件系统的rwx及用户身份影响。

sync:资料同步写入到内存与硬盘中。

anonuid=1000:将客户机上的用户映射成指定的本地用户ID的用户,此处1000是主机用户的uid,此处请根据具体的主机用户uid进行配置。

anongid=1000: 将客户机上的用户映射成属于指定的本地用户组ID,此处1000是主机用户组gid,此处请根据具体的主机用户组gid进行配置。

no_subtree_check:不检查子目录权限,默认配置。本地用户ID和本地用户 组ID可以使用id命令查看:

id

cda67bda73524642b031d2fb6ed77fa2.png

更新exports配置

sudo exportfs -arv

839886cd3c004deb9abdba851aa48a4c.png

查看NFS共享情况

showmount -e

839886cd3c004deb9abdba851aa48a4c.png

开始挂载操作

这个时候就可以正常挂载NFS文件系统了,只不过使用命令行挂载的操作属于临时挂载,设备在重启后需要重新挂载该NFS目录才能访问。

使用mount命令挂载NFS服务器的共享目录到从机/home/lyn/jetson_nano/nfs_dir/目录下:

注意:需要把下面的jetson_nano设置为用户实际网络环境下的NFS服务器IP,我此处的jetson_nano在hosts进行了映射,实际IP是172.16.60.174。

以下命令在从机上运行

sudo mount -t nfs jetson_nano:/home/jetson/Pictures  /home/lyn/jetson_nano/nfs_dir/

-t nfs:指定挂载的文件系统格式为nfs。

jetson_nano:指定NFS服务器的IP地址。

/home/jetson/Pictures:指定NFS服务器的共享目录。

/home/lyn/jetson_nano/nfs_dir/:本地挂载目录,NFS服务器的共享目录映射到从机的 /home/lyn/jetson_nano/nfs_dir/下

839886cd3c004deb9abdba851aa48a4c.png

  • 若挂载成功,终端不会有输出。

取消挂载

sudo umount   nfs_dir/

839886cd3c004deb9abdba851aa48a4c.png

作者:良知犹存,白天努力工作,晚上原创公号号主。公众号内容除了技术还有些人生感悟,一个认真输出内容的职场老司机,也是一个技术之外丰富生活的人,摄影、音乐 and 篮球。关注我,与我一起同行。

目录
相关文章
|
14天前
|
缓存 Linux 测试技术
安装【银河麒麟V10】linux系统--并挂载镜像
安装【银河麒麟V10】linux系统--并挂载镜像
72 0
|
17天前
|
存储 安全 数据管理
探索Linux的挂载操作🌈
在Linux这个强大的操作系统中,挂载操作是一个基本而重要的概念。它涉及到文件系统、设备和数据访问,对于理解Linux的工作方式至关重要。那么,挂载操作究竟是什么,为什么我们需要它,如果没有它,我们将面临什么问题呢?让我们一起深入探讨。
探索Linux的挂载操作🌈
|
1月前
|
Linux Shell Windows
通过Linux挂载Windows端NFS服务实现板端Linux传输文件到PC
通过Linux挂载Windows端NFS服务实现板端Linux传输文件到PC
|
3月前
|
存储 监控 网络协议
【Linux】文件服务NFS(Network File System)
【Linux】文件服务NFS(Network File System)
34 0
|
3月前
|
存储 Linux 网络安全
Linux系统安装NFS服务器
NFS是一种网络文件系统,英文全称Network File System,通过NFS可以让不同的主机系统之间共享文件或目录。通过NFS,用户可以直接在本地NFS客户端读写NFS服务端上的文件,是非常好的共享存储工具。本篇文章将介绍如何在CentOS7上安装NFS服务器,包括服务端和客户端安装两部分。
74 0
|
3月前
|
Unix Linux 文件存储
文件传输、文件挂载MOUNT:NFS、CIFS、ADB、SAMBA
文件传输、文件挂载MOUNT:NFS、CIFS、ADB、SAMBA
70 0
|
1月前
|
存储 Linux Shell
⭐⭐⭐【Shell 命令集合 磁盘管理 】Linux 挂载文件系统 mount使用教程
⭐⭐⭐【Shell 命令集合 磁盘管理 】Linux 挂载文件系统 mount使用教程
48 0
|
14天前
|
缓存 Linux
linux centos7 挂载本地iso yum源
linux centos7 挂载本地iso yum源
64 0
|
1月前
|
存储 Shell Linux
【Shell 命令集合 磁盘管理 】Linux 取消挂载 umount命令使用教程
【Shell 命令集合 磁盘管理 】Linux 取消挂载 umount命令使用教程
43 1
|
1月前
|
运维 小程序 Linux
linux系统中如何挂载数据盘
微信小程序使用蓝牙通信协议连接硬件整理总结(初始化蓝牙、搜索设备、展示设备)
30 0