

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 适用于 RabbitMQ 的亚马逊 MQ 的可配置存储最佳实践
<a name="best-practices-configurable-storage"></a>

 亚马逊 MQ for RabbitMQ 经纪商使用亚马逊 Elastic Block Store (Amazon EBS) 进行永久存储。在取决于您的实例类型的范围内配置存储大小。随着时间的推移监控代理的磁盘使用情况，可以帮助您选择正确的存储大小，并避免阻止发布者的磁盘警报事件。

**先决条件**  
可配置存储仅适用于满足以下要求的 Amazon MQ 的 RabbitMQ 经纪商：  
引擎版本 4.2 或更高版本。
集群部署模式。
`m7g`仅限实例类型。

## 步骤 1：按实例类型配置存储范围
<a name="configurable-storage-ranges"></a>

 每种实例类型都支持特定范围的可配置存储大小。下表列出了每种实例类型可用的最小（默认）和最大存储大小。


| 实例类型 | Minimum/Default 存储空间大小 (GB) | 最大存储大小 (GB) | 
| --- | --- | --- | 
| mq.m7g.medium | 5 | 25 | 
| mq.m7g.large | 15 | 75 | 
| mq.m7g.xlarge | 25 | 125 | 
| mq.m7g.2xlarge | 45 | 180 | 
| mq.m7g.4xlarge | 90 | 250 | 
| mq.m7g.8xlarge | 175 | 400 | 
| mq.m7g.12xlarge | 260 | 500 | 
| mq.m7g.16xlarge | 345 | 500 | 

## 步骤 2：监控磁盘使用情况
<a name="monitor-disk-usage"></a>

 要就存储大小做出明智的决定，请使用 Amazon CloudWatch 指标监控您的经纪商的磁盘使用情况。以下关键指标可帮助您了解磁盘使用模式：

**`RabbitMQDiskFree`**  
每个节点 EBS 卷上可用的可用磁盘空间总量（以字节为单位）。

**`RabbitMQDiskFreeLimit`**  
每个节点 EBS 卷的磁盘限制。当任何节点上的可用磁盘空间低于该值时，会触发磁盘警报，集群中的所有节点都会阻止传入的消息。

 要监控磁盘使用情况，请执行以下操作：

1. 打开 **Amazon MQ 控制台**并选择您的经纪商名称。

1. 在 “**操作**” 下，选择 “**查看指标**”。

1. 在**经纪商指标**下，选择`RabbitMQDiskFree`和`RabbitMQDiskFreeLimit`。

1. 将时间范围设置为大约 2 周，以观察您的磁盘使用模式。

## 步骤 3：决定何时升级存储
<a name="decide-when-to-upgrade-storage"></a>

 监视`RabbitMQDiskFree`完`RabbitMQDiskFreeLimit`大约 2 周后，请按照以下指导来确定是否增加存储大小：
+ **无需执行任何操作** — `RabbitMQDiskFree` 仍远高`RabbitMQDiskFreeLimit`于预留空间 10 GB，并且使用量稳定。继续监控。
+ **考虑升级** — `RabbitMQDiskFree` 呈下降趋势，仅剩下大约 5 GB `RabbitMQDiskFreeLimit`。你有两个选择：
  + **增加可配置的存储大小。**在您的实例类型的最大值内增加 EBS 卷大小（参见上表），以提供更多的磁盘空间。
  + **升级您的实例大小。**迁移到更大的实例类型，这样可以支持更高的最大存储上限和其他资源优势。

**重要**  
当`RabbitMQDiskFreeLimit`在任何节点上`RabbitMQDiskFree`掉到下方时，RabbitMQ 会发出磁盘警报 ()。`RABBITMQ_DISK_ALARM`此警报在整个集群范围内。如果任何节点低于限制，则所有节点都会阻止传入的消息。消费者仍然可以耗尽消息，但在可用空间恢复到超过限制之前，不接受任何新数据。  
有关诊断和解决磁盘限制警报的步骤，请参阅 [Amazon MQ 上的 RabbitMQ：](troubleshooting-action-required-codes-disk-limit-alarm.md)磁盘限制警报。