因此,我们有一个具有以下硬件配置的超微服务器:
CentOS 7 Softraid(因为这个超微配置不支持硬件 raid..)/分区是 RAID 10,其余的是 RAID 1
CPU:2x AMD EPYC 7402 RAM:512Gb DDR4(16x 32Gb)10x 2TB Intel SSD DC P4510 NVMe。
该服务器是与 CloudLinux、cPanel 等共享的主机。
每隔一天,我们会在控制台中收到以下错误:
10 月 18 日 23:11:19 toranaga 内核:XFS (snumbd4d):日志 I/O 错误 -5
10 月 18 日 23:11:19 toranaga 内核:XFS (snumbd4d):检测到日志 I/O 错误。正在关闭文件系统
10 月 18 日 23:11:20 toranaga 内核:XFS (snumbd3d):日志 I/O 错误 -5
10 月 18 日 23:11:20 toranaga 内核:XFS (snumbd3d):检测到日志 I/O 错误。正在关闭文件系统
10 月 18 日 23:11:20 toranaga 内核:XFS (snumbd1d):日志 I/O 错误 -5
10 月 18 日 23:11:20 toranaga 内核:XFS (snumbd1d):检测到日志 I/O 错误。正在关闭文件系统
10 月 20 日 16:01:54 toranaga 内核:XFS (snumbd8d):日志 I/O 错误 -5
10 月 20 日 16:01:54 toranaga 内核:XFS (snumbd8d):检测到日志 I/O 错误。正在关闭文件系统
10 月 20 日 16:01:54 toranaga 内核:XFS (snumbd2d):日志 I/O 错误 -5
10 月 20 日 16:01:54 toranaga 内核:XFS (snumbd2d):检测到日志 I/O 错误。正在关闭文件系统
10 月 20 日 16:02:02 toranaga 内核:XFS (snumbd6d):在 daddr 0x423e1d801 长度 1 处的“xfs_read_agf+0x8e/0x120 [xfs]”中发生元数据 I/O 错误 错误 5
10 月 20 日 16:02:02 toranaga 内核:XFS (snumbd6d):日志 I/O 错误 -5
10 月 20 日 16:02:02 toranaga 内核:XFS (snumbd6d):检测到日志 I/O 错误。正在关闭文件系统
10 月 20 日 16:02:05 toranaga 内核:XFS (snumbd7d):日志 I/O 错误 -5
10 月 20 日 16:02:05 toranaga 内核:XFS (snumbd7d):检测到日志 I/O 错误。正在关闭文件系统
有什么建议我们应该怎么做?谢谢!
答案1
当您收到这些错误时,xfs 卷(即 /dev/mdXAY)的设备节点是否消失了。如果 xfs 文件系统的占用率超过 85%,则该卷无法提交日志元数据,因此文件系统日志(xfs、zfs、ext4、btrfs 都是日志文件系统,而 ext2 不是)会填满提交内容。这反过来会导致内核缓存缓冲区无法提交。因此,您有大量未提交的元数据无处可去。xfs 文件系统将关闭并删除设备节点,以防止日志中的元数据丢失。
目前,我正在努力将位于卷内的内部 xfs 日志移动到大型外部文件,外部日志是 xfs 的一个功能。我只是还没弄清楚在创建文件系统后是否可以移动日志。
我通过卸载、重新安装取得了一些进展,然后,如果成功到那个点,卸载并运行xfs_repair -L device
以将日志清零。这很有效,我完成了rsync
我正在进行的传输(本地 Debian 镜像更新)。
但问题在下一次更新时再次出现,驱动器上占用的空间太多了,大约多出了 400GB。我将尝试再次安全地将日志清零,并修剪 NVMe 驱动器。如果这对未使用空间没有影响,我将尝试重新定位日志。
有趣的是,成功挂载后,卸载、日志清零、重新挂载、运行sync
几分钟后,文件系统会以同样的方式崩溃。因此,这表明缓存缓冲区已加载提交。