SDB:网络文件系统

跳转到:导航搜索
网络文件系统 (NFS) 是由 Sun Microsystems 在 1984 年最初开发,并在 RFC 中定义的一种协议,包括 109418133530 (废弃 3010),它是一种分布式文件系统,允许计算机像访问本地磁盘一样通过 访问文件。NFS 是基于开放网络计算远程过程调用系统 (ONC RPC) 的众多协议之一。

“网络文件系统”一词也经常用作通用术语。

安装 NFS 内核服务器

成功的 NFS 安装通常包括来自 openSUSE 仓库的 nfs-kernel-server 包。只需从 YaST 安装,或从命令行输入 (以 root 身份)

zypper in nfs-kernel-server

然后是

systemctl enable --now nfs-server.service

无论如何,如果您决定使用 NFS 服务器配置 YaST2 模块 (或者您想将其放在手边),此软件包将自动安装。在这种情况下,您可以简单地安装yast2-nfs-server包从 YaST,或从命令行输入 (以 root 身份)

zypper in yast2-nfs-server

配置 /etc/exports 文件

编辑 /etc/exports 文件非常简单。每一行包含一个导出点和允许在该点挂载文件系统的客户端的空格分隔列表。每个列出的客户端后面可以立即跟一个括号内的、逗号分隔的导出选项列表。客户端与其选项列表之间不允许有空格。示例

/export/this/directory   (ro)

这会将目录以只读方式共享给所有主机,包括那些在互联网上的主机!您也可以在 (ro) 之前包含一个 *

/export/this/directory   192.168.1.0/24(rw,async)

这会将目录以读写方式共享给 192.168.1.0 网络中的所有主机,其子网掩码为 255.255.255.0。使用 async 选项通常可以提高性能,但代价是服务器非正常重启 (例如崩溃) 可能会导致数据丢失或损坏。

请参阅 man exports 以获取更多选项列表。

版本和变体

该协议的第 2 版最初完全在 上运行,旨在保持协议无状态,锁定 (例如) 在核心协议之外实现。

第 3 版引入了对使用 作为传输的支持。虽然有几个供应商已经扩展了 NFS 第 2 版以支持 作为传输,但 Sun Microsystems 在引入第 3 版的同时,将 作为 NFS 的传输引入。使用 作为传输使得在 上使用 NFS 更加可行。

第 4 版受到 的影响,包括性能改进、强制安全性和引入有状态协议。第 4 版是 Sun Microsystems 将 NFS 协议的开发移交给互联网工程任务组 (IETF) 后开发的第一个版本。

各种旁路协议已添加到 NFS,包括

  • 字节范围咨询网络锁定管理器 (NLM) 协议,该协议被添加到支持 System V UNIX 文件锁定 API。
  • 远程配额报告 (RQUOTAD) 协议,允许 NFS 用户查看 NFS 服务器上的数据存储配额。

WebNFS 是第 2 版和第 3 版的扩展,允许 NFS 更轻松地集成到 Web 浏览器中,并能够通过防火墙运行。

平台

NFS 与 UNIX 系统密切相关,但它可以在任何平台中使用,例如 Macintosh、Windows 和 操作系统。服务器消息块 (SMB,也称为 CIFS) 和 (NCP) 等类似协议是在其他操作系统下网络文件系统的等效实现。跨平台兼容性使 NFS 成为理想的网络文件系统实现。

在启动时自动挂载 NFS

关于在启动时自动挂载 NFS 共享存在一些广泛的困难。您必须像这样启用 nfs 守护程序

# chkconfig nfs

如果看到 off,则必须

# chkconfig nfs on

您的 /etc/fstab 必须包含 (至少)

remotehost:/path/to/export   /local/mountpoint   nfs   auto    0   0

您还可以包含以下选项

auto,tcp,ro,intr

请参阅 man nfs 以获取更多 mount 选项。另外,请确保您的防火墙配置正确,包括所有 UDP 和 TCP 端口。确保您的外部路由器/防火墙正确转发端口 (如果通过 Internet (WAN) 运行 NFS)。

参见

外部链接