Центр захисту даних: RabbitMQ не запускається

Summary: У цій статті описано процедуру для Data Protection Central (DPC), коли RabbitMQ не запускається після оновлення програмного забезпечення.

This article applies to This article does not apply to This article is not tied to any specific product. Not all product versions are identified in this article.

Symptoms

Коли RabbitMQ не запускається після оновлення програмного забезпечення DPC, у статусі відображається служба RabbitMQ (rabbitmq-server) активується, але ніколи не завершується:
# /usr/local/dpc/bin/dpc status
Version: 19.9.0-13
msm-ui-main: active
msm-monitor: inactive
msm-elg: active
mongod: active
rabbitmq-server: activating
nginx: active
dp-iam: active
FIPS: disabled
#
Журнал RabbitMQ показує помилки при доступі до сховища повідомлень під час запуску. Наприклад, у файлі /var/log/dpc/rabbitmq/rabbit@<DPC Hostname>.log, він показує, що RabbitMQ зазнає невдачі при спробі перебудувати індекс:
2024-05-07 23:56:25.408992-04:00 [info] <0.230.0> Running boot step recovery defined by app rabbit
2024-05-07 23:56:25.410137-04:00 [info] <0.423.0> Making sure data directory '/var/lib/dpc/rabbitmq/mnesia/rabbit@<DPC Hostname>/msg_stores/vhosts/628WB79CIFDYO9LJI6DKMI09L' for vhost '/' exists
2024-05-07 23:56:25.412199-04:00 [info] <0.423.0> Starting message stores for vhost '/'
2024-05-07 23:56:25.412425-04:00 [info] <0.428.0> Message store "628WB79CIFDYO9LJI6DKMI09L/msg_store_transient": using rabbit_msg_store_ets_index to provide index
2024-05-07 23:56:25.413720-04:00 [info] <0.423.0> Started message store of type transient for vhost '/'
2024-05-07 23:56:25.413970-04:00 [info] <0.432.0> Message store "628WB79CIFDYO9LJI6DKMI09L/msg_store_persistent": using rabbit_msg_store_ets_index to provide index
2024-05-07 23:56:25.414552-04:00 [warning] <0.432.0> Message store "628WB79CIFDYO9LJI6DKMI09L/msg_store_persistent": rebuilding indices from scratch
2024-05-07 23:56:25.495894-04:00 [error] <0.369.0> ** Generic server <0.369.0> terminating
2024-05-07 23:56:25.495894-04:00 [error] <0.369.0> ** Last message in was {'$gen_cast',
2024-05-07 23:56:25.495894-04:00 [error] <0.369.0>                            {submit_async,
2024-05-07 23:56:25.495894-04:00 [error] <0.369.0>                                #Fun<rabbit_classic_queue_index_v2.11.72031207>,
2024-05-07 23:56:25.495894-04:00 [error] <0.369.0>                                <0.367.0>}}
2024-05-07 23:56:25.495894-04:00 [error] <0.369.0> ** When Server state == undefined
2024-05-07 23:56:25.495894-04:00 [error] <0.369.0> ** Reason for termination ==
2024-05-07 23:56:25.495894-04:00 [error] <0.369.0> ** {function_clause,
2024-05-07 23:56:25.495894-04:00 [error] <0.369.0>        [{rabbit_queue_index,journal_minus_segment1,
2024-05-07 23:56:25.495894-04:00 [error] <0.369.0>             [{no_pub,no_del,ack},
2024-05-07 23:56:25.495894-04:00 [error] <0.369.0>              {{true,
2024-05-07 23:56:25.495894-04:00 [error] <0.369.0>                   <<136,59,154,30,244,191,111,192,154,235,124,189,92,104,1,207,

Cause

RabbitMQ не запускається через велику кількість застряглих повідомлень у черзі.

У цьому прикладі в черзі понад 800 МБ даних:
<DPC Hostname>:/var/lib/dpc/rabbitmq/mnesia # du -h .
20K     ./rabbit@<DPC Hostname>/quorum/rabbit@<DPC Hostname>
20K     ./rabbit@<DPC Hostname>/quorum
58M     ./rabbit@<DPC Hostname>/msg_stores/vhosts/628WB79CIFDYO9LJI6DKMI09L/msg_store_persistent
824M    ./rabbit@<DPC Hostname>/msg_stores/vhosts/628WB79CIFDYO9LJI6DKMI09L/queues/BV3H25N6AGWF7TDIN2L5RE0DA
824M    ./rabbit@<DPC Hostname>/msg_stores/vhosts/628WB79CIFDYO9LJI6DKMI09L/queues
0       ./rabbit@<DPC Hostname>/msg_stores/vhosts/628WB79CIFDYO9LJI6DKMI09L/msg_store_transient
881M    ./rabbit@<DPC Hostname>/msg_stores/vhosts/628WB79CIFDYO9LJI6DKMI09L
881M    ./rabbit@<DPC Hostname>/msg_stores/vhosts
881M    ./rabbit@<DPC Hostname>/msg_stores
20K     ./rabbit@<DPC Hostname>/coordination/rabbit@<DPC Hostname>
20K     ./rabbit@<DPC Hostname>/coordination
881M    ./rabbit@<DPC Hostname>
0       ./rabbit@<DPC Hostname>-plugins-expand
881M    .
<DPC Hostname>:/var/lib/dpc/rabbitmq/mnesia #

Resolution

Щоб вирішити проблему, скористайтеся наведеною нижче процедурою для перезбирання ресурсів RabbitMQ:
  1. Зробіть знімок віртуальної машини DPC або виконайте повне резервне копіювання DPC-сервера.
  2. SSH на DPC і увійдіть як "admin", а потім змініть користувача на root:
su -
  1. Зупиніть сервіс RabbitMQ (rabbitmq-server) з такою командою:
service rabbitmq-server stop
  1. Змініть каталог на /var/lib/dpc/rabbitmq/mnesia:
cd  /var/lib/dpc/rabbitmq/mnesia
  1. Якщо в приміщенні достатньо вільного місця /tmp, скопіюйте дані в /tmp (необов'язково):
cp -rp * /tmp
  1. Видаліть дані під /var/lib/dpc/rabbitmq/mnesia за допомогою наступної команди:
rm -rf *
  1. Перезапустіть службу RabbitMQ, файли під /var/lib/dpc/rabbitmq/mnesia повинні бути відновлені:
service rabbitmq-server start
  1. Перезапустіть служби ЦОД:
/usr/local/dpc/bin/dpc restart

Приклад виведення з лабораторного середовища:
приклад, що показує, як RabbitMQ відновлює структуру даних
Малюнок 1: Приклад, що показує, як RabbitMQ відновлює структуру даних під /var/lib/dpc/rabbitmq/mnesia під час введення в експлуатацію
  1. Увійдіть в інтерфейс DPC UI , щоб перевірити, чи працює DPC належним чином.
  2. Видаліть вкладені папки, раніше переміщені до /tmp якщо дані були скопійовані на кроці 5. 
  3. Коли служба повернеться до нормального стану, видаліть знімок віртуальної машини DPC , якщо він був зроблений. 
 

Affected Products

Data Protection Central, PowerProtect DP4400, PowerProtect DP5300, PowerProtect DP5800, PowerProtect DP8300, PowerProtect DP8800, PowerProtect Data Protection Software, Integrated Data Protection Appliance Family , Integrated Data Protection Appliance Software, PowerProtect DP5900, PowerProtect DP8400, PowerProtect DP8900 ...
Article Properties
Article Number: 000225640
Article Type: Solution
Last Modified: 27 Jun 2025
Version:  3
Find answers to your questions from other Dell users
Support Services
Check if your device is covered by Support Services.