Risoluzione dei problemi di archiviazione del database su Adobe Commerce

Questo articolo fornisce una guida dettagliata alla risoluzione dei problemi per la diagnosi e la risoluzione dei problemi di archiviazione del database su Adobe Commerce. Consente di identificare le cause principali correlate alla mancanza di spazio in /tmp e /data/mysql, all'esaurimento degli inode e alle modifiche alla configurazione, ad esempio il tmpdir MySQL non predefinito. Ogni passaggio presenta una domanda diagnostica e indirizza l'utente a comandi, registri o documentazione pertinenti in base alla risposta fornita.

Descrizione description

Ambiente

Adobe Commerce sull’infrastruttura cloud

Problema/Sintomi

  • Interruzione del sito o tempi di inattività causati da problemi di archiviazione del database
  • Errori quali Spazio insufficiente sul dispositivo (28)
  • Impossibile eseguire SSH in un nodo a causa del montaggio completo di /tmp
  • Utilizzo disco elevato in /tmp o /data/mysql directory
  • I clienti non possono aggiungere prodotti al carrello
  • Errori di connessione al database
  • Errori cluster Galera come SQLSTATE[ 08S01]: errore collegamento di comunicazione: 1047 WSREP
  • Le query esauriscono l’archiviazione disponibile e causano arresti anomali del nodo
  • Esaurimento nodo (troppi file) indicato da IUse% > 90%

Risoluzione resolution

Passaggio 1: identificazione della directory con un problema di spazio

Si è verificato un problema di /tmp causato dalla mancanza di spazio?

Ciò può essere indicato da una serie di sintomi, tra cui:

  • /tmp montaggio pieno
  • Inattività o interruzione del sito
  • Impossibile eseguire SSH in un nodo
  • Errori come Spazio esaurito nel dispositivo (28)

Per un elenco degli errori risultanti dal completamento di /tmp, esaminare /tmp mount full.

Oppure si è verificato un problema di /data/mysql causato dalla mancanza di spazio? I sintomi includono:

  • Interruzione del sito
  • I clienti non possono aggiungere prodotti al carrello
  • Errore di connessione al database
  • Errori Galera come SQLSTATE[ 08S01]: errore collegamento di comunicazione: 1047 WSREP

Per un elenco degli errori derivanti da spazio su disco MySQL insufficiente, fare riferimento a Spazio su disco MySQL insufficiente in Adobe Commerce nell'infrastruttura cloud.

Se non si è sicuri di avere un problema di spazio su disco e si dispone di un account New Relic, passare alla pagina Host di monitoraggio infrastruttura New Relic. Quindi puoi eseguire le seguenti operazioni:

  • Fai clic sulla scheda Archiviazione
  • Cambia il menu a discesa Grafico mostra da 5 a 20 risultati
  • Cercare nella tabella l'utilizzo di dischi elevati nel grafico o nella tabella Disk Used %

Per i passaggi più dettagliati, fare riferimento alla scheda Archiviazione > Monitoraggio infrastruttura New Relic.

Se si verifica uno dei sintomi descritti in precedenza, controllare lo stato degli inodi per assicurarsi che non sia causato da un problema relativo al numero di file. Esecuzione in CLI/Terminal:

code language-none
df -ih

IUse% > 90%

Quindi procedere al punto 3.

Passaggio 2 - Controllare lo spazio su disco

Controllare l<>utilizzo dello spazio su disco?

Dopo aver ridotto il numero di file, eseguire il comando seguente in CLI/Terminal per verificare l'utilizzo dello spazio su disco in /tmp e /data/mysql.

code language-none
df -h | grep mysql
df -h | grep tmp

Viene utilizzato più del 70% per /tmp o /data/mysql?

  • - Procedere con il passaggio 3.

  • NO - Le query potrebbero esaurire lo spazio di archiviazione disponibile. Il nodo potrebbe subire un arresto anomalo, causando l'interruzione della query e la rimozione dei file tmp. Accedere al client della riga di comando MySQL ed eseguire:

    code language-none
    SHOW PROCESSLIST;
    

Esamina l’output per individuare eventuali query problematiche. Se non risolto, invia un ticket di supporto richiedendo più spazio.

Passaggio 3: identificazione della directory con utilizzo elevato

Quale directory ha utilizzato più del 70%?
  • /tmp - Procedere con il passaggio 4.
  • /data/mysql - Procedere con il passaggio 5.

Nota: Per impostazione predefinita, il tmpdir del database scrive in /tmp. Per verificare la configurazione del database, accedere al client della riga di comando MySQL ed eseguire:

code language-none
SHOW VARIABLES LIKE "TMPDIR";

Se tmpdir scrive ancora in /tmp, /tmp verrà visualizzato nella colonna Valore.

Passaggio 4 - Risoluzione dei problemi di installazione di /tmp piena

Risoluzione dei problemi /tmp mount full

Segui Risoluzione dei problemi /tmp mount completo per Adobe Commerce. Dopo aver applicato le soluzioni, eseguire in CLI/Terminal:

code language-none
df -h | grep mysql
df -h | grep tmp

Utilizzo < 70%?

Nota: le soluzioni in Risoluzione dei problemi del mount /tmp completo sono progettate per i commercianti che non hanno modificato le variabili per il tmpdir del database, che per impostazione predefinita scrive in /tmp. Se il valore tmpdir è stato modificato, le istruzioni in Risoluzione dei problemi /tmp mount full non saranno utili.

Passaggio 5: selezionare il valore predefinito

Controlla valore predefinito

È possibile che la configurazione del database non sia più impostata sul valore predefinito originale. Trovare la configurazione tmpdir del database eseguendo nel client della riga di comando MySQL: SELECT @@DATADIR;

Se viene eseguito l'output di /data/mysql/, tmpdir sta scrivendo a /data/mysql/. Aumentare lo spazio seguendo la procedura descritta in Lo spazio su disco MySQL è insufficiente in Adobe Commerce nell'infrastruttura cloud. Quindi esegui in CLI/Terminal:

code language-none
df -h | grep mysql
df -h | grep tmp

Utilizzo < 70%?

Lettura correlata

Procedure consigliate per la modifica delle tabelle del database nel playbook di implementazione di Commerce.

recommendation-more-help
3d58f420-19b5-47a0-a122-5c9dab55ec7f