问题标签 [nfs]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1697 浏览

linux - 如何判断两个 NFS 挂载是否在同一个远程文件系统上?

我的基于 Linux 的系统显示 NFS 挂载文件系统的统计信息,如下所示:

这很好用。问题是当 NFS 服务器上的相同文件系统在我的客户端上安装了两次时:

server1和实际上在同一个文件系统上,有 100 GB 可用空间,但我错误地将它们加起来并报告 200 GB 可用空间/some/path/name/some/path/name2

有什么方法可以检测到它们在同一个分区上吗?

不起作用的方法:

  • “使用statfs()”:statfs()返回一个struct statfs,其中有一个“文件系统 ID”字段,f_fsid。不幸的是,它是未定义的,并且在 NFS 上被归零。
  • “不要多次挂载同一个分区。” 这是我无法控制的。
  • “使用基于可用空间的启发式方法。” 该方法必须确定有效。此外,statfs()缓存其输出,因此在面对大量数据移动时很难做到这一点。

如果没有解决方案,我将不得不在服务器端的每个潜在挂载点生成一个配置文件,但如果有一些干净的方法可以避免这种情况,那就更好了。

谢谢!

0 投票
1 回答
155 浏览

architecture - 虚拟文件系统树 Web 服务和 NFS

我们正在考虑用 SQL 构建一个虚拟文件系统。有几种已知的方法可以在 SQL 中实现类似结构的文件系统(Materialized path,adjency lists ...)。

一段时间后,我们想到了使用 NFS 来存储目录/文件结构和平面键值存储来存储自定义属性。

NFS 上的目录/文件结构将仅存储 ID。

还有一个像这样的平面表:

我们将受益于符号链接、挂载点和 UNIX 权限。

这种架构的缺点是什么?

0 投票
1 回答
754 浏览

firefox - 通过脚本更改 Firefox 配置文件路径?

我正在做一些黑客攻击,因为 FF 在启动时遇到了很多麻烦(超级慢),因为我们的 mozilla 配置文件在我们的 NFS 服务器上。FF的启动脚本中有什么方法可以编辑默认配置文件吗?

我的 hack 想法是将 mozilla 配置文件 cp 到本地目录,这样可以更快地打开,然后在进行更改时执行 rsync。大多数情况下,现在,我担心找到一种方法来通过脚本更改配置文件的默认路径,我对同步等有一个想法。

感谢您的任何建议

0 投票
3 回答
1858 浏览

java - 从 java 轮询 NFS 共享会破坏文件系统

我们有两个服务器,每个服务器都有一个通过 NFS 映射到它们的目录。

服务器 A(shell 脚本)上的进程将文件放入映射驱动器。

服务器 B 上的 Java 进程定期轮询映射驱动器并在找到文件后立即处理该文件。处理文件后 - 它被重命名(然后由服务器 A 上的 cron'ed 进程删除)

该文件是一个小的 .properties 文件。在几个周期内一切正常。之后,服务器 A 和服务器 B 开始以不同的方式查看映射驱动器的内容。我们禁用了 NFS 缓存和属性查找。问题仍然存在。

如果我去一个视野不好的服务器并执行以下操作:

我会看到停滞的文件。但是,如果我再做一次 - 打印正确的文件列表。

我们将不胜感激有关此问题的任何帮助。

0 投票
2 回答
3157 浏览

nfs - NFS 写权限错误

我已经在一台服务器上创建了一个 NFS 共享到另一台(客户端)服务器,并成功地将文件夹(比如 /home/user/public_html/examplefolder)挂载到第二台(客户端)服务器。

我已经登录到第二台(客户端)服务器上的 FTP 帐户,我正在尝试将文件夹/文件写入已安装的 NFS 位置(/home/user/public_html/examplefolder),但我收到权限被拒绝错误。

如果我以 root 身份 ssh 进入客户端服务器,我将拥有写入 NFS 安装位置的完全权限,所以我知道它必须是用户权限类型的错误。

我在两台服务器上都运行 CentOS 5。

0 投票
2 回答
766 浏览

python - Python:验证 NFS 身份验证

伙计们,我相信我有两个问题:一个是特定于 python 的,另一个是 NFS。

基本点是我的程序从用户那里获取“用户名”、“uid”、NFS 服务器 IP 和exported_pa​​th 作为输入。它现在必须验证 NFS 导出的路径是否可由该用户/uid 读取/写入。

我的程序在本地机器上以 root 身份运行。直接的方法是使用给定的用户名和 uid 'useradd' 一个用户,在某个临时 mount_point 上挂载 NFS 导出的路径(以 root 身份运行),然后执行 'su username -c touch /mnt_pt/ tempfile '。如果用户名和用户 ID 输入正确(并且 NFS 服务器设置正确),此临时文件将成功在 NFS 远程目录上创建临时文件。这是目标。

现在有两个问题: (i) 有没有比创建新的 unix 用户、挂载和触摸文件以验证 NFS 权限更简单的方法?

(ii) 如果这是需要做的,那么我想知道是否有任何 python 模块/包可以帮助我执行“useradd”、“userdel”相关命令?我目前打算使用相应的二进制文件(/usr/sbin/useradd 等),然后调用 subprocess.Popen 来执行命令并获取输出。

感谢您的任何见解。

0 投票
1 回答
1031 浏览

linux - 网络文件系统是否预取?(或者:互联网文件系统是否进行优化以减少往返)

采取以下代码片段:

如果上面的例子,假设远程文件 foo.bin 是 1MB 并且之前从未被客户端访问过。因此,大约需要 1000 次“读取”来获取整个文件。

此外,假设安装在客户端上的目录的服务器是通过互联网而不是本地的。到客户端的快速带宽,但延迟很长。

是否每个“读取”调用都会调用往返服务器以请求更多数据?或者客户端/服务器协议是否认识到对远程文件的后续读取通常是连续的,因此,在应用程序实际对其进行 read() 调用之前,后续块被下推。因此,后续的读取调用返回更快,因为数据是预取和缓存的。

现代网络文件系统协议(NFS、SMB/Samba 等等?)是否会进行类似的优化。是否有针对互联网进行了优化的网络文件系统协议?

我正在调查一个可能涉及通过 Internet 实施网络文件系统的个人项目。如果可以减少文件 i/o 的往返次数,我感到性能可能会更快。

0 投票
3 回答
3485 浏览

mongodb - 图片上传 - CDN、MongoDB 还是 NFS?

我有一个具有多个 Web 服务器的网站的管理类型系统,用户可以在其中配置页面并上传图像以显示在页面上(类似于 CMS)。如果您已经有一个设置了副本集的 MongoDB 实例,那么存储这些上传的首选方式是什么,以便存在故障转移,为什么?

  1. CDN,例如 Amazon S3 / CloudFront。
  2. 将图像存储在 MongoDB 中?我现在这样做并且不使用 GridFS,因为我们的图像都小于 1MB。
  3. 使用具有某种故障转移设置的某种类型的 NFS。如果 #3,那么您如何配置此故障转移?

我现在使用 #2 就好了,之前使用了 #3 而没有故障转移。如果我使用 MongoDB 作为我的网站和图像服务的数据存储,这些图像的 GET 请求是否会影响从数据库中获取非图像数据的性能?

0 投票
2 回答
1374 浏览

c# - .NET NFS 服务器实现?

我为运行专有 RTOS 的嵌入式设备维护管理 UI,它通过简单的套接字与管理器通信。我们最近在上述设备上添加了一个 NFS 客户端,它运行 NFS v2 或 v3,以便它可以通过网络访问文件。我正在寻找一种方法,可以从我们用 C# .NET 3.5 编写的管理应用程序动态地将运行管理应用程序的机器上的文件夹提供给设备。

所以我面临的是需要某种类型的 NFS 服务器对象,我可以在代码中实例化、配置和启动,然后将 NFS 共享的信息传递给我的设备,然后我的设备将安装共享。设备完成后,它将断开连接并告诉我它已完成,此时我可以关闭并处置服务器对象。

我挖了一点,发现了一些 Java NFS 服务器,但 C# 没有。我在这里 (http://code.google.com/p/nekodrive/) 找到了一个出色的 NFS 客户端,但它似乎没有提供任何服务功能。有什么东西可以做我正在寻找的东西,还是我必须从头开始编写自己的服务器?

0 投票
2 回答
1533 浏览

git - NFS/Samba 上的 Git 存储库

如果我的 Git 存储库在 NFS/Samba 上,有什么需要担心的吗?

例如NFS中的文件锁定是不可靠的,所以它会影响Git?