tiup cluster check
正式な本番環境の場合、環境を稼働させる前に、一連のチェックを実行して、クラスターが最高のパフォーマンスを発揮していることを確認する必要があります。手動チェック手順を簡素化するために、TiUPクラスターはcheck
コマンドを提供して、指定されたクラスタのターゲットマシンのハードウェアおよびソフトウェア環境が正常に動作するための要件を満たしているかどうかをチェックします。
チェック項目一覧
オペレーティングシステムのバージョン
デプロイされたマシンのオペレーティングシステムの配布とバージョンを確認してください。現在、CentOS7のみが展開をサポートしています。互換性を向上させるために、今後のリリースでより多くのシステムバージョンがサポートされる可能性があります。
CPU EPOLLEXCLUSIVE
ターゲットマシンのCPUがEPOLLEXCLUSIVEをサポートしているかどうかを確認してください。
numactl
numactlがターゲットマシンにインストールされているかどうかを確認します。タイドコアがターゲットマシンで構成されている場合は、numactlをインストールする必要があります。
システム時刻
ターゲットマシンのシステム時刻が同期されているかどうかを確認します。ターゲットマシンのシステム時間を中央制御マシンのシステム時間と比較し、偏差が特定のしきい値(500ms)を超えた場合にエラーを報告します。
時刻同期サービス
ターゲットマシンに時刻同期サービスが設定されているか確認してください。つまり、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)を使用して、 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>
をチェックオブジェクトとして使用できます。
ノート:
チェックに
<cluster-name>
を使用する場合は、コマンドに--cluster
オプションを追加する必要があります。
オプション
- 申し込み
- 失敗したチェック項目を自動的に修復しようとします。現在、tiup-clusterは次のチェック項目のみを修復しようとします。
- SELinux
- ファイアウォール
- irqbalance
- カーネルパラメータ
- システム制限
- THP(透明な巨大なページ)
- データ型:
BOOLEAN
- このオプションは、デフォルトで
false
の値で無効になっています。このオプションを有効にするには、このオプションをコマンドに追加し、true
の値を渡すか、値を渡さないようにします。
-クラスタ
- チェックがデプロイされたクラスターに対するものであることを示します。
- データ型:
BOOLEAN
- このオプションは、デフォルトで
false
の値で無効になっています。このオプションを有効にするには、このオプションをコマンドに追加し、true
の値を渡すか、値を渡さないようにします。
ノート:
tiup-clusterは、次のコマンド形式を使用して、デプロイされていないクラスターとデプロイされたクラスターの両方のチェックをサポートします。
tiup cluster check <topology.yml | cluster-name> [flags]
tiup cluster check <cluster-name>
コマンドを使用する場合は、--cluster
オプションを追加する必要があります:tiup cluster check <cluster-name> --cluster
。
-N、-node
- チェックするノードを指定します。このオプションの値は、ノード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
- ターゲットマシンに接続するためのユーザー名を指定します。指定されたユーザーは、ターゲットマシンでパスワードなしのsudoroot権限を持っている必要があります。
- データ型:
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
:チェック結果(合格、警告、または不合格)Message
:結果の説明