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