tiup cluster check

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

チェック項目一覧

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

デプロイされたマシンのオペレーティング システムのディストリビューションとバージョンを確認します。現在、CentOS 7 のみの展開がサポートされています。互換性向上のため、今後のリリースではさらに多くのシステム バージョンがサポートされる可能性があります。

CPU EPOLLEXCLUSIVE

対象マシンのCPUがEPOLLEXCLUSIVEをサポートしているか確認してください。

ヌマクトル

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

システム時刻

対象マシンのシステム時刻が同期しているか確認してください。ターゲットマシンのシステム時間を中央制御マシンのシステム時間と比較し、その偏差が一定のしきい値 (500ms) を超えた場合にエラーを報告します。

システムのタイムゾーン

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

時刻同期サービス

ターゲット マシン上で時刻同期サービスが構成されているかどうかを確認します。つまり、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

SELinux が有効になっているかどうかを確認します。 SELinux を無効にすることをお勧めします。

ファイアウォール

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

irqバランス

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

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

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

ポートの使用状況

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

ノート:

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

CPUコア番号

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

ノート:

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

メモリー容量

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

ノート:

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

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

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

  • 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 は次のチェック項目の修復のみを試みます。
    • SELinux
    • ファイアウォール
    • 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、--node

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

ノート:

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

-R、--役割

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

ノート:

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

--enable-cpu

  • CPUコア番号の確認を有効にします。
  • データ型: BOOLEAN
  • このオプションは、値falseを指定するとデフォルトで無効になります。このオプションを有効にするには、このオプションをコマンドに追加し、値true渡すか、値を渡しません。

--enable-disk

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

--enable-mem

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

--u、--user

  • ターゲット マシンに接続するためのユーザー名を指定します。指定されたユーザーは、ターゲット マシン上でパスワードなしの sudo root権限を持っている必要があります。
  • データ型: 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 : チェック結果 (Pass、Warn、または Fail)
  • Message : 結果の説明

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

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