NFS 目录中服务器之间的磁盘性能

NFS 目录中服务器之间的磁盘性能

我正在设置两台 Linux 服务器。
ServerA 有/apps/data。
ServerB 已安装在/dataServerAs 路径上,/apps/data带有NFS.
如何处理各种操作的负载?含义:
问:
例如,通过在 ServerB 上启动 gzip(可以是 cp 作为第二个示例),I/O 由 ServerA 或 ServerB 处理
磁盘的性能如何?意思是 ServerB 将文件获取到磁盘以执行 gzip,然后将其放回 NFS 并通过网络同步? (两台服务器IO增加+网络流量)

答案1

您有一个通过 NFS 共享ServerA并由 挂载的目录ServerB

如果您在 上的该目录中执行文件操作ServerB,则 上不会发生磁盘 I/O ServerB,但服务器之间会有网络 I/O,并且ServerA最终将执行实际的磁盘操作(通过 NFS 守护程序的指令) 。

您正在访问的文件不会像与rsync或同步那样在服务器之间传输scp,但文件的块将通过 NFS 传输并直接传递给读取数据的进程(在读取数据时),或者传递给服务器进行写入根据需要写入磁盘。这是使用 NFS 协议发生的,如RFC 1094(NFSv2) 或RFC 1813(NFSv3)。

再次,将会有上的磁盘操作ServerB,除非它需要交换或者您正在执行的操作在非 NFS 安装目录中分配空间(例如/tmp)。

事实上,ServerB如果没有任何物理磁盘已连接。这被称为“无盘系统”在 90 年代初我第一次接触 Unix 的计算机实验室中曾经很流行(Sun SPARCstation IPC有一个本地的/tmp,但其他所有东西都通过 NFS 安装)。

由于网络 I/O,通过 NFS 工作会比在本地磁盘上工作慢,但对于日常命令行工作来说,这几乎没有什么关系,除非您经常处理大量文件数据。

相关内容