跳到主要内容

监控和管理磁盘消耗

如果您的设备使用 SAN,或者您的软件事件代理的消息 spool 位于专用卷上,作为最佳实践,Solace 建议将最大磁盘空间使用限制在 50% 以下.

使用 SYSTEM_CHASSIS_DISK_UTILIZATION_HIGH

为了帮助您跟踪磁盘空间使用情况,建议使用 SYSTEM_CHASSIS_DISK_UTILIZATION_HIGH 事件来监控超过限制的情况,并将警报配置为在磁盘满 30% 时触发。有关配置说明,请参阅配置系统事件阈值.

收到SYSTEM_CHASSIS_DISK_UTILIZATION_HIGH

如果收到 SYSTEM_CHASSIS_DISK_UTILIZATION_HIGH 事件,下一步是确定原因.

收到 SYSTEM_CHASSIS_DISK_UTILIZATION_HIGH 事件的最常见原因是客户端未确认旧消息,这导致大量磁盘空间被用来存储这些消息。诊断稀疏消息 spool 文件条件部分将向您展示如何识别这种情况.

诊断稀疏消息 spool 文件条件

磁盘使用量总是大于持久存储使用量;然而,如果磁盘空间使用量是持久存储使用量的几倍,则可能有大量的消息 spool 文件存在于磁盘上,每个文件中包含少量消息。这被称为稀疏消息 spool 文件条件.

为了帮助您确定是否存在此条件,请考虑以下规则:

  • 如果磁盘空间使用量 > 30%
  • 并且磁盘空间使用量 >= 持久存储使用量的 3 倍
  • 那么您可能有稀疏消息 spool 文件在不必要地占用磁盘空间

您可以使用 CLI 命令 show message-spool detail 的输出来帮助确定磁盘空间使用量与持久存储使用量的比例是否过高。例如,以下是 show message-spool detail 命令输出的两个片段:

                                              ADB            Disk              Total
Current Persistent Store Usage (MB) 0.000 10 000.0000 10 000.000
Number of Messages Currently Spooled 0 100 000 100 000

注意,在上述片段中,当前持久存储使用量为 10 000.0000 MB,或 10 GB。在下面显示的第二个片段中,活动事件代理上有 150.00 百万 1 KB 磁盘块在使用,这意味着正在消耗 150 GB 的磁盘空间。这大于已使用的 10 GB 持久存储的 3 倍,因此,根据规则,表明磁盘上存在稀疏消息 spool 文件条件.

Disk Partition    1K-blocks         Used        Available    Use%    Mounted on
Active 200.0 Mi 150.00 Mi 50.0 Mi 75% /usr/sw/externalSpool/p1
Standby 200.0 Mi 0.0 Mi 200.0 Mi 0% /usr/sw/externalSpool/p2

推荐的操作

稀疏消息 spool 文件

无论是否存在稀疏 spool 文件,还是仅仅有大量的消息为慢速/离线消费者 spool,都需要识别并消费或删除旧消息。这将允许删除消息 spool 文件,从而释放磁盘空间.

或者,也可以对消息 spool 文件进行碎片整理和合并,以优化代理对磁盘存储的使用。请注意,此功能仅在版本 9.3.1.5+ 中可用。有关更多信息,请参阅碎片整理保证消息 spool.

如果磁盘达到容量,事件代理将不会接受新的保证消息,直到旧消息被消费或删除.