Adobe Commerceのデータベースストレージに関するトラブルシューティング

この記事では、Adobe Commerceのデータベースストレージに関する問題を診断および解決するためのステップバイステップのトラブルシューティングガイドを提供します。 これは、/tmp/data/mysql の容量不足、i ノードの枯渇、デフォルト以外の MySQL tmpdir などの設定変更に関連する根本原因を特定するのに役立ちます。 各手順では、診断に関する質問を示し、回答に基づいて関連するコマンド、ログまたはドキュメントを参照できます。

説明 description

環境

クラウドインフラストラクチャー上のAdobe Commerce

問題/症状

  • データベース・ストレージの問題によるサイトの停止またはダウンタイム
  • エラー デバイスに空き領域がありません(28)
  • フル /tmp マウントのため、ノードに SSH 接続できません
  • /tmp または /data/mysql ディレクトリのディスク使用量が多い
  • お客様が買い物かごに製品を追加できない
  • データベース接続エラー
  • SQLSTATE[ 08S01] のような Galera クラスターエラー:通信リンクの失敗:1047 WSREP
  • 使用可能なストレージを使い切ってノードクラッシュを引き起こすクエリ
  • Inode の枯渇(ファイルが多すぎる)が IUse% > 90% で示される

解決策 resolution

手順 1 - スペースの問題があるディレクトリの特定

スペースの不足によって発生する /tmp しい問題はありますか?

これは、次のような様々な症状で示されます。

  • /tmp マウントがいっぱいです
  • サイト停止または停止
  • ノードに SSH 接続できない
  • デバイスに空き領域がありません(28) などのエラーが発生しました

/tmp がいっぱいになったことによるエラーのリストについては、/tmp mount full を参照してください。

または、スペースの不足が原因で /data/mysql の問題が発生していますか? 症状は次のとおりです。

  • サイト停止
  • お客様が買い物かごに製品を追加できない
  • データベース接続の失敗
  • Galera エラー:SQLSTATE[ 08S01]:通信リンクの失敗:1047 WSREP

MySQL のディスク容量が少ないことが原因で発生したエラーのリストについては、​ クラウドインフラストラクチャ上のAdobe Commerceの MySQL のディスク容量が少ない ​ を参照してください。

ディスク容量に関する問題が発生しているかどうか、およびNew Relic アカウントがあるかどうかが不明な場合は、New Relic Infrastructure monitoring Hosts ページ ​ にアクセスしてください。 そこから

  • ストレージ 」タブをクリックします。
  • グラフ表示 ドロップダウンを 5 件から 20 件に変更します
  • ディスク使用率(%)のグラフまたは表で、ディスク使用率の高い表を確認します

詳しい手順については、New Relic インフラストラクチャの監視の「ストレージ」タブ > 参照してください ​

上記の現象が発生した場合は、inode の状態を調べて、これがファイル番号の問題に起因するものではないことを確認してください。 CLI/ターミナルで実行します。

code language-none
df -ih

IUse% は 90%> すか?

次に、手順 3 に進みます。

手順 2 - ディスク容量の確認

ディスク領域の使用状況を確認しますか?

ファイルの数を減らしたら、CLI/ターミナルで次のコマンドを実行して、/tmp および /data/mysql でのディスク容量の使用状況を確認します。

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

70% を超える値が /tmp または /data/mysql に使用されていますか?

  • はい - ステップ 3 に進みます。

  • いいえ - クエリによって使用可能なストレージが枯渇する可能性があります。 これにより、ノードがクラッシュして、クエリが強制終了し、tmp ファイルが削除される可能性があります。 MySQL コマンドラインクライアントにログインし、次を実行します。

    code language-none
    SHOW PROCESSLIST;
    

出力に問題のあるクエリがないか確認します。 未解決の場合は ​ サポートチケットを送信 ​、空き容量を増やします。

手順 3 – 使用率の高いディレクトリの特定

70% を超える値が使用されているディレクトリはどれですか?
  • /tmp - ステップ 4 に進みます。
  • /data/mysql - ステップ 5 に進みます。

注意: デフォルトでは、データベースの tmpdir は /tmp に書き込みます。 データベース設定を確認するには、MySQL コマンドラインクライアントにログインし、
を実行します。

code language-none
SHOW VARIABLES LIKE "TMPDIR";

tmpdir が引き続き /tmp に書き込んでいる場合は、Value 列に /tmp が表示されます。

手順 4 - /tmp mount full のトラブルシューティング

/tmp mount full のトラブルシューティング

Adobe Commerceの/tmp mount full のトラブルシューティング ​ に従います。 ソリューションを適用した後、CLI/ターミナルでを実行します。

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

使用率は 70%< すか。

注意: Troubleshoot /tmp mount full のソリューションは、データベース tmpdir の変数を変更していないマーチャント向けに設計されています。これは、デフォルトでは /tmp に書き込まれます。 tmpdir の値を変更した場合は、Troubleshoot /tmp mount full の手順は役に立ちません。

手順 5 - デフォルトを確認

デフォルトをオン

データベースの設定が元のデフォルトの状態でなくなる場合があります。 MySQL コマンドラインクライアント SELECT @@DATADIR; でを実行して、データベース tmpdir 設定を見つけます。

/data/mysql/ が出力されている場合、tmpdir は /data/mysql/ に書き込んでいます。 ​ クラウドインフラストラクチャー上のAdobe Commerceでは MySQL のディスク容量が少ない ​ の手順に従って、容量を増やします。 次に、CLI/ターミナルでを実行します。

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

使用率は 70%< すか。

関連資料

Commerce実装プレイブックの ​ データベーステーブルを変更するためのベストプラクティス ​

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