常规文件中存在大量零字节的根本原因

常规文件中存在大量零字节的根本原因

我们有损坏的文件,其中包含许多零字节。我想知道根本原因是什么。我知道的是:

  • 所有最近写入的文件都会受到影响,它们包含大量零字节。例如日志文件、索引文件(Apache Lucene 索引)、jsp 文件。还有文本文件、二进制文件、所有类型的文件。
  • 零字节始终从 4096 的倍数的位置开始。
  • 零字节的数量并不总是相同的。示例大小:2053 字节、266 字节、243 字节。
  • 文件中零字节的一些位置:0xa000 - 0xa805、0xc000 - 0xc806、0xf000 - 0xfc10a、0x3e000 - 0x3e0f3、0x3f000 - 0x3f0f3。

日志文件的部分十六进制转储如下:

00006fe0  61 6e 64 6c 65 72 20 49  67 6e 6f 72 69 6e 67 20  |andler Ignoring |
00006ff0  63 6f 72 72 75 70 74 20  69 6e 64 65 78 20 5b 2f  |corrupt index [/|
00007000  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
*
00007090  2e 20 54 68 69 73 20 69  6e 64 65 78 20 4d 55 53  |. This index MUS|
  • 看起来只有一台机器(有多台具有相同配置的机器执行相同的操作,但看起来只发生在一台机器上)。但我不完全确定。
  • Red Hat Enterprise Linux Server 版本 5.11 (Tikanga) 2.6.18-419.el5
  • 应用程序主要为Java,版本:jdk1.8.0_162
  • 基于 SAN 的安装 - 950GB
  • 16GB RAM 和 6 个 vCPU
  • 服务器连接到外部存储阵列,通过 HBA -> FC 线缆 -> SAN 交换机 -> 存储阵列进行连接

相关内容