我负责管理运行 Ubuntu 20.04 的服务器集群。每个服务器的驱动器都通过 NFS 导出到其他服务器。它们是ext4
文件系统。
此外,我们有一个磁盘阵列(即 SAN),它已被格式化为ocfs2
(Oracle 集群文件系统)。它由服务器安装,以提供额外的磁盘空间。
一切看起来都很好……除了一两个程序。这些程序在标准错误和文件中生成输出。 如果这两个输出被发送到ocfs2
文件系统时,有时会出现乱码。它们是非 ASCII 字符……好像部分内存已直接写入标准错误和/或输出文件。有时,我看到许多^@
字符,即 NULL 字符(ASCII 代码0
)。每次都不一样,而且不一致。有时程序执行正常,但有时输入相同时却不行。
如果这些程序输出到 NFS 驱动器,则此问题永远不会发生。我们已经这样做了数百次,但从未发生过一次。
到目前为止,我们已经通过让程序输出到 NFS 驱动器,然后将输出复制过来进行长期存储来“解决”了这个问题。但是,令我困扰的是,我真的不知道原因。作为系统管理员,我想我担心的是驱动ocfs2
器是否以某种方式配置错误。当我将文件复制到驱动ocfs2
器并随后进行测试时md5sum
,一切都正常。
(这可能是程序中的一个错误,我们已将此问题报告给开发人员。但我们现在注意到它发生在两个程序中。并且它从未发生在 NFS 驱动器上。)
如果有人对我应该检查或考虑什么有任何建议,请告诉我。我完全不知所措……提前谢谢您!