Linux安装NFS服务器

系列文章推荐

Linux文件系统目录结构
Linux必备基础
Linux构建一个deb软件安装包

前言

本文主要来自正点原子、野火Linux教程及本人理解,若有侵权请及时联系本人删除。如果本篇对您有帮助的话希望能一键三连,万分感谢。

正文

NFS服务器是什么?

网络文件系统,类unix系统中使用

搭建NFS环境

Ubuntu安装NFS 服务端

sudo apt install nfs-kernel-server -y

在这里插入图片描述
NFS服务器安装完后,会在根目录下面的etc文件夹里面生成一个exports文件

配置NFS 服务端

(1)、首先需要创建共享文件夹

sudo mkdir -p /home/nfs/workdir  //-p表示如果文件夹不存在则创建

(2)、打开/etc/exports文件,下面就可以在exports文件里面添加NFS服务器配置的内容

sudo vim /etc/exports

(3)、添加配置信息

/home/nfs/workdir *(rw,sync,no_root_squash)
  • /home/embedfire/workdir:指定分享文件名。
  • *:所有网段都可以读写
  • rw:读写权限
  • sync:资料同步写入到内存与硬盘中
  • no_root_squash:root用户具有挂载目录的全部操作操作权限

(4)、更新exports配置

sudo exportfs -arv
该命令的参数说明如下:
• -a:全部 mount 或 umount 文件/etc/exports 中的内容。
• -r:重新 mount 文件/etc/exports 中的共享内容。
• -u:umount 目录。
• -v:在 exportfs 的时候,将详细的信息输出到屏幕上。

在这里插入图片描述
(5)、查看NFS共享情况

showmount -e

在这里插入图片描述

开发板安装NFS客户端

野火开发板执行以下命令

sudo apt install nfs-common -y

查看NFS服务器共享目录

查看野火开发板IP,192.168.31.88
在这里插入图片描述
查看Ubuntu虚拟机IP,192.168.40.128
在这里插入图片描述
发现问题,两个IP不在同一网段,开发板ping不通虚拟机,但是虚拟机能ping通开发板
在这里插入图片描述
问题原因:
虚拟机网络选用了NAT模式,应该选择桥接模式
在这里插入图片描述
选择桥接模式后,重启虚拟机,此时IP为192.168.31.195,与开发板变成同一网段
在这里插入图片描述
并且开发板能ping通主机了
在这里插入图片描述
关于虚拟机网络的三种模式可参考:
VMware虚拟机三种网络模式:桥接模式,NAT模式,仅主机模式

接着在开发板中执行以下命令,查看共享文件夹

showmount -e +”NFS服务端IP”

但是执行后又出现报错,找不到这条命令,尝试重装也不行
在这里插入图片描述
博主千辛万苦,最后重装了NFS客户端得以解决
在这里插入图片描述
重装后再执行就可以看到共享文件夹了,真是一波三折
在这里插入图片描述
此时使用type命令查看
在这里插入图片描述

挂载NFS文件系统

sudo mount -t nfs ”NFS服务端IP”:/home/nfs/workdir /mnt
  • -t nfs:指定挂载的文件系统格式为nfs
  • /home/nfs/workdir:指定NFS服务器的共享目录
  • /mnt:本地挂载目录

在这里插入图片描述
进入开发板/mnt目录新建一个文件helloworld.txt
在这里插入图片描述
此时在虚拟机共享文件夹中可以看到此文件了
在这里插入图片描述

取消挂载

当客户机在网络上无法找到 NFS 共享的目录时,如开发主机关机时,在 NFS 的客户机的终端常常会输出一些提示,或在使用 ls 命令查看共享目录会导致长时间等待,这时可以对目录使用umount 命令取消挂载,示例如下:

# 以下命令在开发板上运行
sudo umount /mnt

使用该命令时以要取消挂载的目录作为参数即可,没有输出表示执行正常。如果在当前挂载的目录进行 umount 操作,会提示“device is busy”。建议取消挂载时,先切换到家目录“~”,在进行umount 操作。

启动服务器端的NFS服务器命令

sudo service nfs-kernel-server restart

客户端的挂载目录无法显示文件时

尝试客户端命令

查看NFS服务器上所有共享目录 showmount –e ip_address
查看服务器上哪些共享目录被挂载 showmount –d ip_address
尝试强制卸载
umount /本机挂载点 (加选项-f进行强制卸载)
然后重新挂载
sudo mount -t nfs ”NFS服务端IP”:/home/nfs/workdir /mnt
  • 3
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一只嵌入式爱好者

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值