【发布时间】:2010-12-06 19:25:40
【问题描述】:
当挂载 NFS 文件系统时,所有数据处理都通过 nfs 客户端进行。我如何编写自己的处理程序来使用 NFS 以外的东西?
另一种方法是 localhost NFS 服务器,但它的接缝非常低效
编辑
应该发生的事情的例子
通常你会得到一个文件系统:应用程序读取/写入文件系统,Solaris 会看到它的安装位置,如果它是磁盘,那么它会读取/写入磁盘。如果是软件镜像,它会读取和写入镜像软件。如果它是 NFS,它会读取和写入远程 NFS 服务器。我希望它能够读取和写入自定义存储软件,而不是上述任何选项。
我们的存储软件用于存储应用程序使用的文件,它适用于未存储在数据库中的大型或经常替换的数据块。它还包括我们公司特有的某些灵活性。
旧的/现有的应用程序不知道我们的新软件。他们只知道读/写一个目录。我们可以告诉 Solaris,该目录托管在 NFS 上,然后 NFS 服务器转换并连接到存储软件。我们更愿意将 Solaris 从未听说过的新程序告诉 Solaris,然后教 Solaris 如何与我们的程序对话。
【问题讨论】:
-
您希望应用程序直接与 NFS 服务器通信?你问的是这个吗?有什么特别的原因吗?
-
我想要一种方法来拦截来自使用文件/文件系统的现有应用程序的数据。 NFS 客户端只是一个例子。我可以编写一个 NFS 服务器并以这种方式挂载它,但重点是挂载数据,而不是与 NFS 对话。
-
您能否提供您所期望的具体示例,并解释为什么 localhost NFS 服务器会以低效的方式完成这项工作?
-
您可以挂载 NFS 文件系统并将其指向手动编写的 NFS 服务器。然后,该 NFS 服务器将与我们的处理软件进行交互。但是,该示例要求您通过 NFS 客户端、环回接口运行所有数据。如果我可以将我的代码放在与 NFS 客户端相同的位置,那么这些额外的层将被消除,因为它可以使用数据处理软件而不使用环回接口,并且我可以跳过与 NFS 的转换。但是,如果我有一个使用 Java 的 NFS 服务器,我会采用效率较低的路线……只是为了节省开发时间。
-
嗯,我仍然不知道你在找什么。您是否正在寻找编写自己的文件系统?或者只是一个自定义设备驱动程序?您未能提供任何预期用途的“具体”示例。
标签: java unix filesystems solaris