tiup cluster check

正式な本番環境では、環境が稼働する前に、一連のチェックを実行して、クラスターが最高のパフォーマンスを発揮していることを確認する必要があります。手動チェック手順を簡素化するために、 TiUP クラスタ は、指定されたクラスターのターゲット マシンのハードウェアおよびソフトウェア環境が正常に動作するための要件を満たしているかどうかを確認するcheckコマンドを提供します。

チェック項目一覧

オペレーティング システムのバージョン

展開されたマシンのオペレーティング システムのディストリビューションとバージョンを確認します。サポートされているバージョンの一覧については、 OSおよびプラットフォームの要件参照してください。

CPU EPOLLEX限定

対象マシンのCPUがEPOLLEXCLUSIVEをサポートしているかどうかを確認します。

ヌマクトル

ターゲット マシンにnumactlインストールされているかどうかを確認します。ターゲット マシンに結合コアが設定されている場合は、 numactlインストールする必要があります。

システム時間

対象マシンのシステム時刻が同期されているかどうかを確認します。対象マシンのシステム時刻と中央制御マシンのシステム時刻を比較し、偏差が一定のしきい値(500 ミリ秒)を超える場合はエラーを報告します。

システムのタイムゾーン

対象マシンのシステム タイム ゾーンが同期されているかどうかを確認します。これらのマシンのタイム ゾーン構成を比較し、タイム ゾーンが一致していない場合はエラーを報告します。

時刻同期サービス

ターゲット マシンで時刻同期サービスが設定されているかどうかを確認します。つまり、ntpd が実行されているかどうかを確認します。

スワップパーティション

ターゲット マシンでスワップ パーティションが有効になっているかどうかを確認します。スワップ パーティションを無効にすることをお勧めします。

カーネルパラメータ

次のカーネル パラメータの値を確認します。

  • net.ipv4.tcp_tw_recycle : 0
  • net.ipv4.tcp_syncookies : 0
  • net.core.somaxconn : 32768
  • vm.swappiness : 0
  • vm.overcommit_memory : 0 または 1
  • fs.file-max : 1000000

透過的な巨大ページ (THP)

ターゲット マシンで THP が有効になっているかどうかを確認します。THP を無効にすることをお勧めします。

システム制限

/etc/security/limits.confファイルの制限値を確認します。

<deploy-user> soft nofile 1000000 <deploy-user> hard nofile 1000000 <deploy-user> soft stack 10240

<deploy-user>は TiDB クラスターを展開して実行するユーザーであり、最後の列はシステムに必要な最小値です。

カーネル

SELinux を無効にするか、許可モードに設定する必要があります。現在のステータスを確認するには、 強制取得(8)ユーティリティを使用します。

SELinux が無効になっていない場合は、 /etc/selinux/configファイルを開き、 SELINUX=で始まる行を見つけて、 SELINUX=disabledに変更します。この変更を行った後、システムを再起動する必要があります。再起動しないと、 enforcingまたはpermissiveからdisabledへの切り替えは有効にならないためです。

一部のシステム (Ubuntu など) では、 /etc/selinux/configファイルが存在せず、getenforce ユーティリティがインストールされていない可能性があります。その場合は、この手順をスキップできます。

ファイアウォール

FirewallD サービスが有効になっているかどうかを確認します。FirewallD サービスを無効にするか、TiDB クラスター内の各サービスに権限ルールを追加することをお勧めします。

irqバランス

irqbalance サービスが有効になっているかどうかを確認します。irqbalance サービスを有効にすることをお勧めします。

ディスクマウントオプション

ext4 パーティションのマウント オプションを確認します。マウント オプションに nodelalloc オプションと noatime オプションが含まれていることを確認します。

ポートの使用

トポロジで定義されているポート (自動補完のデフォルト ポートを含む) が、ターゲット マシン上のプロセスによってすでに使用されているかどうかを確認します。

注記:

ポート使用状況チェックでは、クラスターがまだ起動されていないことを前提としています。クラスターがすでにデプロイされ起動されている場合、ポートは使用中であるはずなので、クラスターでのポート使用状況チェックは失敗します。

CPUコア数

対象マシンの CPU 情報を確認します。本番クラスターの場合、CPU 論理コアの数は 16 以上が推奨されます。

注記:

CPU コア数はデフォルトではチェックされません。チェックを有効にするには、コマンドに-enable-cpuオプションを追加する必要があります。

メモリサイズ

対象マシンのメモリサイズを確認します。本番クラスターの場合、合計メモリ容量は 32 GB 以上が推奨されます。

注記:

メモリ サイズはデフォルトではチェックされません。チェックを有効にするには、コマンドに-enable-memオプションを追加する必要があります。

Fioディスクパフォーマンステスト

フレキシブル I/O テスター (fio) を使用して、次の 3 つのテスト項目を含む、 data_dirが配置されているディスクのパフォーマンスをテストします。

  • fio_randread_write_latency
  • fio_randread_write
  • fio_randread

注記:

fio ディスク パフォーマンス テストはデフォルトでは実行されません。テストを実行するには、コマンドに-enable-diskオプションを追加する必要があります。

構文

tiup cluster check <topology.yml | cluster-name> [flags]
  • クラスターがまだデプロイされていない場合は、クラスターをデプロイするために使用されるトポロジー.ymlファイルを渡す必要があります。このファイルの内容に従って、 tiup-cluster は対応するマシンに接続してチェックを実行します。
  • クラスターがすでにデプロイされている場合は、チェック オブジェクトとして<cluster-name>使用できます。
  • 既存のクラスターのスケールアウト YAML ファイルをチェックする場合は、チェック オブジェクトとして<scale-out.yml><cluster-name>両方を使用できます。

注記:

チェックに<cluster-name>使用する場合は、コマンドに--clusterオプションを追加する必要があります。

オプション

- 適用する

  • 失敗したチェック項目を自動的に修復しようとします。現在、 tiup-cluster は次のチェック項目のみを修復しようとします。
    • カーネル
    • ファイアウォール
    • irqバランス
    • カーネルパラメータ
    • システム制限
    • THP (透過的な巨大ページ)
  • データ型: BOOLEAN
  • このオプションは、値falseでデフォルトで無効になっています。このオプションを有効にするには、このオプションをコマンドに追加し、値trueを渡すか、値を渡さないようにします。

注記:

tiup cluster check 、次のコマンド形式を使用して、既存のクラスターのscale-out.ymlファイルの修復もサポートされています。

tiup cluster check <cluster-name> scale-out.yml --cluster --apply --user root [-p] [-i /home/root/.ssh/gcp_rsa]

- クラスタ

  • チェックがデプロイ済みのクラスターに対するものであることを示します。

  • データ型: BOOLEAN

  • このオプションは、値falseでデフォルトで無効になっています。このオプションを有効にするには、このオプションをコマンドに追加し、値trueを渡すか、値を渡さないようにします。

  • コマンド形式:

    tiup cluster check <topology.yml | cluster-name> --cluster [flags]

注記:

  • tiup cluster check <cluster-name>コマンドを使用する場合は、 --clusterオプションtiup cluster check <cluster-name> --cluster追加する必要があります。

  • tiup cluster checkでは、次のコマンド形式を使用して、既存のクラスターのscale-out.ymlファイルをチェックすることもサポートされています。

    tiup cluster check <cluster-name> scale-out.yml --cluster --user root [-p] [-i /home/root/.ssh/gcp_rsa]

-N、--ノード

  • チェックするノードを指定します。このオプションの値は、ノード ID のコンマ区切りリストです。ノード ID は、 tiup cluster displayコマンドによって返されるクラスター ステータス テーブルの最初の列から取得できます。
  • データ型: STRINGS
  • コマンドでこのオプションが指定されていない場合、デフォルトですべてのノードがチェックされます。

注記:

-R, --roleオプションを同時に指定した場合は、 -N, --node-R, --role両方の指定に一致するサービス ノードのみがチェックされます。

-R, --役割

  • チェックするロールを指定します。このオプションの値は、ノード ロールのコンマ区切りリストです。1 tiup cluster displayによって返されるクラスター ステータス テーブルの 2 番目の列からノードのロールを取得できます。
  • データ型: STRINGS
  • コマンドでこのオプションが指定されていない場合、すべてのロールがデフォルトでチェックされます。

注記:

-N, --nodeオプションを同時に指定した場合は、 -N, --node-R, --role両方の指定に一致するサービス ノードのみがチェックされます。

--CPUを有効にする

  • CPU コア数のチェックを有効にします。
  • データ型: BOOLEAN
  • このオプションは、値falseでデフォルトで無効になっています。このオプションを有効にするには、このオプションをコマンドに追加し、値trueを渡すか、値を渡さないようにします。

--ディスクを有効にする

  • fio ディスク パフォーマンス テストを有効にします。
  • データ型: BOOLEAN
  • このオプションは、値falseでデフォルトで無効になっています。このオプションを有効にするには、このオプションをコマンドに追加し、値trueを渡すか、値を渡さないようにします。

--enable-mem

  • メモリサイズのチェックを有効にします。
  • データ型: BOOLEAN
  • このオプションは、値falseでデフォルトで無効になっています。このオプションを有効にするには、このオプションをコマンドに追加し、値trueを渡すか、値を渡さないようにします。

--u、--ユーザー

  • ターゲット マシンに接続するためのユーザー名を指定します。指定されたユーザーは、ターゲット マシン上でパスワード不要の sudo ルート権限を持っている必要があります。
  • データ型: STRING
  • このオプションがコマンドで指定されていない場合は、コマンドを実行するユーザーがデフォルト値として使用されます。

注記:

このオプションは、 -clusterオプションが false の場合にのみ有効です。それ以外の場合、このオプションの値は、クラスター展開のトポロジ ファイルに指定されたユーザー名に固定されます。

-i, --identity_file

  • ターゲット マシンに接続するためのキー ファイルを指定します。
  • データ型: STRING
  • このオプションは、 ~/.ssh/id_rsa (デフォルト値) が渡されるとデフォルトで有効になります。

注記:

このオプションは、 --clusterオプションが false の場合にのみ有効です。それ以外の場合、このオプションの値は${TIUP_HOME}/storage/cluster/clusters/<cluster-name>/ssh/id_rsaに固定されます。

-p, --パスワード

  • ターゲットマシンに接続するときにパスワードを使用してログインします。
    • クラスターに--clusterオプションが追加された場合、パスワードはクラスターがデプロイされたときにトポロジ ファイルで指定されたユーザーのパスワードになります。
    • クラスターにオプション--cluster追加されていない場合、パスワードはオプション-u/--userで指定されたユーザーのパスワードになります。
  • データ型: BOOLEAN
  • このオプションは、値falseでデフォルトで無効になっています。このオプションを有効にするには、このオプションをコマンドに追加し、値trueを渡すか、値を渡さないようにします。

-h, --help

  • 関連するコマンドのヘルプ情報を出力します。
  • データ型: BOOLEAN
  • このオプションは、値falseでデフォルトで無効になっています。このオプションを有効にするには、このオプションをコマンドに追加し、値trueを渡すか、値を渡さないようにします。

出力

次のフィールドを含むテーブル:

  • Node : ターゲットノード
  • Check : チェック項目
  • Result : チェック結果 (合格、警告、不合格)
  • Message : 結果の説明

<< 前のページに戻る - TiUPクラスタコマンド リスト

このページは役に立ちましたか?