编程技术分享平台

网站首页 > 技术教程 正文

原文再续书接上一回,nfs客户端的windows+linux挂载问题

xnh888 2025-09-01 16:43:37 技术教程 7 ℃ 0 评论

好了上一篇文章,介绍了如何搭建nfs的服务端,现在我们来看一下,如何来搭建nfs客户端吧,首先我们找到一台nfs的客户端机子。

在我这里我用virtual box搭建了一个rockylinux8的系统,为什么我要用virtual box,免费嘛,随装随用,对于我这种懒人是最好的选择。

咱们再上一期文章里面说到,先要找出nfs的安装包,输入dnf search nfs,查看包。

然后我们看到有一句英文写着NFS utilities and supporting clients and daemons for the kernel NFS server 恩没错就是这个包,他说明是nfs公共包,支持客户端模式和服务器模式,就是说这个包同时包含两种模式的nfs应用。安装一下,dnf install nfs-utils.x86_64 -y。

其实呢,安装nfs这个功能有很多依赖包,但是我们使用dnf安装,就不需要找那么多的依赖,它会自动帮我们把依赖给解决,如果说你是个内网离线的电脑你需要安装nfs,那么你就要找到系统相应缺少的安装包和依赖包,一并复制到你的内网电脑里面用rpm命令进行安装,非常麻烦,还要注意版本问题。

我们先用showmount -e 这个命令查看一下上一期搭建的nfs服务器挂了什么共享文件出来。

showmount -e 192.168.1.18

然后呢,我们就得到了一串返回。

这里就说明了当前有一个/data的文件夹是被挂出来了。

我们可以用mount命令将他挂载到我们的电脑上面。首先你得先创建一个文件夹,这个文件夹随便什么地方都可以,但是标准最好在/mnt文件夹下面创建。

mkdir /mnt/nas_data

mount -t nfs 192.168.1.18:/data /mnt/nas_data

好了我们现在已经能够连接到nfs盘里面,使用ls命令查看这个盘里面的内容。

是不是说现在目前这个情况就完了呢,还没有,远远还没达到完结的意思,这个mount命令挂在的盘只是临时挂在,在linux系统重启之后,这个盘就失效了,那么我们怎么把这个盘长期的挂在系统里面,这里有两个办法,一个是通过fstab方式挂在,另外一个是服务+脚本方式挂载。

好我们先用fstab方式挂在看看。

umount /mnt/nas_data //卸载网盘

nano /etc/fstab //进入fstab文件配置




这个fstab是干什么用的呢?下面给大家简单介绍一下

/etc/fstab(File System Table)是 Linux 系统中用于定义静态文件系统挂载信息的配置文件。它告诉系统在启动时自动挂载哪些磁盘分区、NFS 共享或其他存储设备,以及它们的挂载点、文件系统类型和挂载选项。

就是说这里不仅仅可以挂在网盘,同时还可以挂在硬盘储存设备。ok废话少说我们开始修改配置文件。

192.168.1.18:/data /mnt/nas_data nfs defaults,_netdev,nofail 0 0

咱们在末尾行加这么一条配置文件进去。说明一下挂在的配置格式是

<设备或共享路径> <挂载点> <文件系统类型> <挂载选项> <dump备份标志> <fsck检查顺序>。

至于说_netdev是什么意思啊,这个就是网络启动后再挂在nfs盘,因为这个nfs依赖网络,不然会挂载不成功。

然后ctrl+o和ctrl+x保存退出。使用命令mount -a看看是否能正常挂载,在检查之前,我们先的用systemctl daemon-reload来重新读取一下fstab。

systemctl daemon-reload

mount -a

如果没有任何报错信息,那么他就挂载成功了,我们再去用ls看看是否正常挂载。

在这里你们可以重启验证一下共享网盘是否会丢。

好了linux的挂载就说到这里,然后我们说说windows如何挂载这个网盘。

首先我们得准备两个工具名字叫做nfs-win和winfsp

这两个软件是用来干什么的呢,其中一个是文件代理,一个是nfs服务器。把这两个安装包下载下来安装。

为什么要用文件代理呢,因为windows的储存文件的文件名称编码不一样

(1) Windows 和 Linux 的文件名编码不同

  • Windows 默认使用 UTF-16本地代码页(如 GBK/GB2312 中文环境) 存储文件名。
  • Linux 默认使用 UTF-8 编码处理文件名。
  • 当 NFS 共享在 Windows 和 Linux 之间传输时,如果编码未正确转换,文件名就会显示为乱码。

我们可以通过上面的文件代理方式来解决这个问题。而下面的就是nfs客户端软件,因为windows原生不支持nfs的原因,所以我们要安装nfs客户端软件,当然这只是windows 7家庭版本以及以下版本不支持nfs。我们使用win7专业版以上版本能够直接挂载nfs盘,同样挂载后显示文件名是乱码。可以通过修改编码的方式来解决这个问题,因为本人比较懒,所以就用了现成的办法。

然后到了这一步有人就会说了,这个nfs win的安装包下载不了,这是因为github访问被XX的原因,你们要想拿安装包可以私信我。

打开我的电脑映射一个驱动器,然后输入挂载配置。点击确定,然后windows的nfs盘就挂载成功了。

\\nfs\root=0.0@192.168.1.18\data


好了这一期的内容就完全讲完了,剩下的还有一下文件权限的问题,大家可以私信问我怎么办。

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表