Data Protection Central: RabbitMQ falha ao iniciar

Resumo: Este artigo apresenta um procedimento para o Data Protection Central (DPC) quando o RabbitMQ não inicia após uma atualização do software.

Este artigo aplica-se a Este artigo não se aplica a Este artigo não está vinculado a nenhum produto específico. Nem todas as versões do produto estão identificadas neste artigo.

Sintomas

Quando o RabbitMQ não é iniciado após uma atualização de software do DPC, o status mostra o serviço RabbitMQ (rabbitmq-server) está ativando, mas nunca é concluída:
# /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
#
O log do RabbitMQ mostra erros ao acessar o armazenamento de mensagens durante a inicialização. Por exemplo, no /var/log/dpc/rabbitmq/rabbit@<DPC Hostname>.log, ele mostra que o RabbitMQ falha ao tentar reconstruir o índice:
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,

Causa

O RabbitMQ falha ao iniciar devido a um alto volume de mensagens presas na fila.

Neste exemplo, há mais de 800 MB de dados na fila:
<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 #

Resolução

Para resolver o problema, use o procedimento abaixo para recriar os recursos do RabbitMQ:
  1. Faça um snapshot da máquina virtual do DPC ou faça um backup completo do servidor DPC.
  2. SSH para o DPC e faça log-in como "admin" e, em seguida, altere o usuário para root:
su -
  1. Interrompa o serviço RabbitMQ (rabbitmq-server) com o seguinte comando:
service rabbitmq-server stop
  1. Altere o diretório para /var/lib/dpc/rabbitmq/mnesia:
cd  /var/lib/dpc/rabbitmq/mnesia
  1. Se houver espaço livre suficiente no /tmp, copie os dados para /tmp (opcional):
cp -rp * /tmp
  1. Remova os dados em /var/lib/dpc/rabbitmq/mnesia com o seguinte comando:
rm -rf *
  1. Reinicie o serviço RabbitMQ, arquivos em /var/lib/dpc/rabbitmq/mnesia deve ser regenerado:
service rabbitmq-server start
  1. Reinicie os serviços do DPC:
/usr/local/dpc/bin/dpc restart

Um exemplo de resultado de um ambiente de laboratório:
exemplo mostrando o RabbitMQ regenerando a estrutura de dados
Figura 1: Um exemplo mostrando o RabbitMQ regenerando a estrutura de dados em /var/lib/dpc/rabbitmq/mnesia Durante o arranque
  1. Faça login na interface do usuário do DPC para verificar se o DPC está funcionando conforme o esperado.
  2. Exclua as subpastas movidas anteriormente para /tmp se os dados tiverem sido copiados na etapa 5. 
  3. Quando o serviço voltar ao normal, exclua o snapshot da máquina virtual do DPC , se ele tiver sido obtido. 
 

Produtos afetados

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 ...
Propriedades do artigo
Número do artigo: 000225640
Tipo de artigo: Solution
Último modificado: 27 jun. 2025
Versão:  3
Encontre as respostas de outros usuários da Dell para suas perguntas.
Serviços de suporte
Verifique se o dispositivo está coberto pelos serviços de suporte.