tiup cluster check
正式な本番環境では、環境が稼働する前に、一連のチェックを実行して、クラスターが最高のパフォーマンスであることを確認する必要があります。手動のチェック手順を簡素化するために、 TiUP クラスタ は、指定されたクラスターのターゲット マシンのハードウェアおよびソフトウェア環境が正常に動作するための要件を満たしているかどうかをチェックするcheck
コマンドを提供します。
チェック項目一覧
オペレーティング システムのバージョン
展開されたマシンのオペレーティング システムのディストリビューションとバージョンを確認します。現在、展開でサポートされているのは CentOS 7 のみです。今後のリリースでは、互換性を向上させるために、より多くのシステム バージョンがサポートされる可能性があります。
CPU EPOLLEXCLUSIVE
対象マシンのCPUがEPOLLEXCLUSIVEに対応しているか確認してください。
numactl
ターゲット マシンに numactl がインストールされているかどうかを確認します。タイド コアがターゲット マシンで構成されている場合は、numactl をインストールする必要があります。
システム時刻
ターゲット マシンのシステム時刻が同期されているかどうかを確認します。ターゲット マシンのシステム時刻と中央制御マシンのシステム時刻を比較し、偏差が特定のしきい値 (500 ミリ秒) を超えた場合にエラーを報告します。
システムのタイムゾーン
ターゲット マシンのシステム タイム ゾーンが同期されているかどうかを確認します。これらのマシンのタイム ゾーン構成を比較し、タイム ゾーンが一致していない場合はエラーを報告します。
時刻同期サービス
ターゲット マシンで時刻同期サービスが構成されているかどうかを確認します。つまり、ntpd が実行されているかどうかを確認します。
スワップパーティショニング
ターゲット マシンでスワップ パーティショニングが有効になっているかどうかを確認します。スワップ パーティショニングを無効にすることをお勧めします。
カーネル パラメータ
次のカーネル パラメータの値を確認します。
net.ipv4.tcp_tw_recycle
:0net.ipv4.tcp_syncookies
:0net.core.somaxconn
: 32768vm.swappiness
:0vm.overcommit_memory
: 0 または 1fs.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 クラスター内の各サービスにパーミッション ルールを追加することをお勧めします。
irqbalance
irqbalance サービスが有効になっているかどうかを確認します。 irqbalance サービスを有効にすることをお勧めします。
ディスクマウントオプション
ext4 パーティションのマウント オプションを確認します。マウント オプションに nodelalloc オプションと noatime オプションが含まれていることを確認します。
ポートの使用
トポロジーで定義されたポート (オートコンプリートのデフォルト ポートを含む) が、ターゲット マシンのプロセスによって既に使用されているかどうかを確認します。
ノート:
ポート使用状況チェックは、クラスターがまだ開始されていないことを前提としています。クラスターが既にデプロイされて開始されている場合、この場合はポートが使用されている必要があるため、クラスターのポート使用状況チェックは失敗します。
CPUコア数
対象マシンのCPU情報を確認してください。本番クラスターの場合、CPU 論理コアの数は 16 以上にすることをお勧めします。
ノート:
デフォルトでは、CPU コア数はチェックされていません。チェックを有効にするには、コマンドに
-enable-cpu
オプションを追加する必要があります。
メモリー容量
ターゲット マシンのメモリサイズを確認します。本番クラスターの場合、合計メモリ容量は 32GB 以上にすることをお勧めします。
ノート:
デフォルトではメモリサイズはチェックされていません。チェックを有効にするには、コマンドに
-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 は次のチェック項目の修復のみを試みます。
- SELinux
- ファイアウォール
- irqbalance
- カーネル パラメータ
- システムの制限
- 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, --role
- チェックするロールを指定します。このオプションの値は、ノード ロールのコンマ区切りリストです。
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, --password
- ターゲット マシンへの接続時にパスワードでログインします。
- クラスターに
--cluster
オプションが追加された場合、パスワードは、クラスターがデプロイされたときにトポロジー ファイルで指定されたユーザーのパスワードです。 - クラスターに
--cluster
オプションが追加されていない場合、パスワードは-u/--user
オプションで指定されたユーザーのパスワードです。
- クラスターに
- データ型:
BOOLEAN
- このオプションはデフォルトで無効になっており、値は
false
です。このオプションを有効にするには、このオプションをコマンドに追加し、値true
渡すか、値を何も渡さないでください。
-h, --help
- 関連コマンドのヘルプ情報を出力します。
- データ型:
BOOLEAN
- このオプションはデフォルトで無効になっており、値は
false
です。このオプションを有効にするには、このオプションをコマンドに追加し、値true
渡すか、値を何も渡さないでください。
出力
次のフィールドを含むテーブル:
Node
: ターゲット ノードCheck
: チェック項目Result
: チェック結果 (Pass、Warn、または Fail)Message
: 結果の説明