RHCS の原理と操作
RHCS コンポーネントの紹介:
1.1 分散クラスターマネージャー (CMAN)
CMAN と呼ばれるクラスターマネージャーは、クラスターの各ノードで実行され、RHCS 管理のクラスター化を提供する分散クラスター管理ツールです。タスク。 CMAN は、クラスターのメンバー、メッセージ、通知を管理するために使用されます。 CMAN は各ノードの実行ステータスを監視することでノード メンバー間の関係を把握し、クラスター内のノードに障害が発生すると、ノード メンバーシップの関係が即座に最下層に通知され、対応する調整が行われます。
1.2 ロック管理 (DLM)
DLM と呼ばれる分散ロック マネージャーは、RHCS の基礎となる基本コンポーネントであり、RHCS クラスター システムの共通のロック操作メカニズムも提供します。はクラスターの各ノードで実行され、GFS はロック マネージャーのロック メカニズムを通じてファイル システムのメタデータに同期的にアクセスします。 CLVM は、ロック マネージャーを使用して、更新されたデータを LVM ボリュームおよびボリューム グループに同期します。 DLMはロック管理サーバを設置する必要がなく、ピアツーピアのロック管理方式を採用しているため、処理性能が大幅に向上します。同時に、DLM は、単一ノードに障害が発生した場合に全体の回復を必要とするパフォーマンスのボトルネックを回避します。また、DLM リクエストはローカルであり、ネットワーク リクエストを必要としないため、リクエストはすぐに有効になります。最後に、DLM は、階層化メカニズムを通じて複数のロック スペースの並列ロック モードを実装できます。
1.3 構成ファイル管理 (CCS)
CCS と呼ばれるクラスター構成システムは、主にクラスター構成ファイルの管理とノード間の構成ファイルの同期に使用されます。 CCS はクラスターの各ノードで実行され、各クラスター ノード上の単一の構成ファイル /etc/cluster/cluster.conf のステータスを監視します。このファイルに変更が発生すると、その変更がクラスター内のすべてのノードに更新されます。 、各ノードの構成ファイルを常に同期した状態に保ちます。たとえば、管理者はノード A のクラスタ設定ファイルを更新します。CCS はノード A の設定ファイルが変更されたことを検出すると、その変更をすぐに他のノードに伝播します。 RHCS の構成ファイルは、cluster.conf です。これは、具体的にはクラスター名、クラスター ノード情報、クラスター リソースとサービス情報、フェンス機器などが含まれる XML ファイルです。
1.4 ゲート装置 (FENCE)
FENCE 装置は、予期せぬ状況によって引き起こされる「スプリット ブレイン」現象を回避できる、このような問題を解決します。フェンス デバイスは主に、サーバーまたはストレージ自体のハードウェア管理インターフェイス、または外部電源管理デバイスを介してサーバーまたはストレージにハードウェア管理命令を直接発行し、サーバーを再起動またはシャットダウンしたり、ネットワークから切断したりします。 FENCE の動作原理は、予期せぬ理由でホストが異常またはダウンした場合、バックアップ マシンがまず FENCE デバイスを呼び出し、次に FENCE デバイスを使用して異常なホストを再起動するか、FENCE 操作時にホストをネットワークから隔離します。 FENCE 成功メッセージを受信すると、情報がバックアップ マシンに返され、スタンバイ マシンはホスト マシンのサービスとリソースの引き継ぎを開始します。このようにして、FENCE デバイスを通じて、異常なノードによって占有されていたリソースが解放され、リソースとサービスが常に 1 つのノード上で実行されることが保証されます。 RHCS の FENCE 機器は、内部 FENCE と外部 FENCE の 2 つのタイプに分類できます。一般的に使用される内部 FENCE には、IBM RSAII カード、HP の iLO カード、IPMI 機器などが含まれます。外部フェンス機器には、UPS、SAN SWITCH、NETWORK SWITCH などが含まれます。 RHCS 操作:
1. RHCS クラスターを開始します
RHCS クラスターのコアプロセスは cman と rgmanager です。クラスターを開始するには、クラスターの各ノードで次のコマンドを実行します。
service cman start
service rgmanager start
これら 2 つのコマンドを実行するには、最初に cman を起動し、次に rgmanager を起動する必要があることに注意してください。 cman サービスがクラスター内のすべてのノードで正常に開始されたら、引き続き各ノードで rgmanager サービスを順番に開始します。
2. RHCS クラスターをシャットダウンします
クラスター サービスを開始するのとは逆のコマンドです:
service rgmanager stop
service cman stop
まず、各ノードの rgmanager サービスをシャットダウンします。シャットダウン後、各ノードの cman サービスを順番にシャットダウンして、クラスタ サービス全体のシャットダウンを完了します。
cman サービスを閉じるときに、シャットダウンの失敗を求めるメッセージが表示される場合があります。このとき、ローカル マシンの共有ストレージ GFS2 ファイル システムがアンインストールされているかどうかを確認できます。また、他のノードの rgmanager サービスがアンインストールされているかどうかも確認できます。正常にシャットダウンされました。
3. アプリケーションサービスの管理
クラスタシステム起動後、アプリケーションサービスはデフォルトで自動起動されますが、アプリケーションサービスが自動起動しない場合は手動で起動する必要があります。アプリケーション サービスを管理するコマンドは clusvcadm です。このコマンドを使用すると、クラスター内のアプリケーション サービスを開始、シャットダウン、再起動、切り替えできます。
1. アプリケーション サービスを開始します
次の方法でノードのアプリケーション サービスを開始できます:
clusvcadm -e -m
ここで:
? Service: クラスター内に作成されたアプリケーション サービスの名前を表します。
? ノード: クラスター ノードの名前を示します。
たとえば、ノード web1 で Web サーバー サービスを開始するには、次の手順を実行します:
[root@web1 ~]# clusvcadm -e webserver -m web1
メンバー web1 がサービスを有効にしようとしています:webserver...成功
service:webserver は web1 で実行中です
/var/log/messages ファイルを通じてアプリケーション サービスの開始の詳細を確認できます。 Web サーバーが開始されると、仮想 IP やアプリケーション サービス スクリプトなどのサービスに関連するクラスター リソースも開始されます。次のコマンドを使用して、クラスター リソースが正常にロードされたかどうかを確認できます。
2. アプリケーション サービスを閉じます。次のメソッドを使用できます。 ノードのアプリケーション サービスをシャットダウンします:
clusvcadm -s -m
たとえば、ノード Mysql1 の mysqlserver サービスをシャットダウンするには、次の手順を実行します:
[root@Mysql1 ~]# clusvcadm -s mysqlserver -m Mysql1
メンバー Mysql1 サービス停止: mysqlserver...成功
アプリケーション サービスのシャットダウンの詳細情報は、/var/log/messages ファイルで確認できます。 mysqlserver が閉じられると、仮想 IP やアプリケーション サービス スクリプトなど、サービスに関連するクラスター リソースも解放されます。
3. アプリケーション サービスを再起動する
次のようにノードのアプリケーション サービスを再起動できます:
clusvcadm -R -m
たとえば、ノード web1 で Web サーバー サービスを再起動するには、次の手順を実行します:
[root@web2 ~] # clusvcadm -R webserver -m web1
メンバー web1 がサービスを再起動しようとしています:webserver...成功
このコマンドは web2 ノードで実行されますが、web1 ノードでも Web サーバーを正常に再起動できることがわかります。 clusvcadm コマンド クラスター内の任意のノードで実行できます。
4. サービスを切り替える
次の方法で、あるノードから別のノードにアプリケーション サービスを切り替えることができます:
clusvcadm -r -m
たとえば、ノード web1 のサービスをノード web2 に切り替えるには、次の手順を実行します。
[root@web1 ~]# clusvcadm -r webserver -m web2
service:webserver を web2 に再配置しようとしています...成功
service:webserver は web2 で実行中です
4 つ目は、RHCS クラスターのステータスを監視することです。 RHCS モニタリングは、クラスター内の各ノードの正常性状態を把握するのに役立ち、問題を特定して適切に解決することができます。ここでは、主に cman_tool、clustat、および ccs_tool の使用方法を紹介します。
1. cman_tool コマンド
cman_tool には多くのパラメータがありますが、基本的な使用形式は次のとおりです:
cman_tool [options]
簡単な使用例をいくつか示します:
[root@web1 ~]# cman_tool nodes -a
Node Sts Inc 参加者名
0 M 0 2010-08-23 01:24:00 /dev/sdb7
1 M 2492 2010-08-23 01:22:43 web2
アドレス: 192.168.12.240
2 M 2492 2010 - 08-23 01:22:43 Mysql1
アドレス: 192.168.12.231
3 M 2492 2010-08-23 01:22:43 Mysql2
アドレス: 192.168.12.232
4 M 2488 8 ~ 23 01:22: 43 web1
アドレス: 192.168.12.230
このコマンドは、ノード名、対応するノードの IP アドレス、およびクラスターに参加した時刻を表示します。
より詳細なクラスター ノード情報を知りたい場合は、次のコマンドを使用できます:
[root@web1 ~]# cman_tool status
バージョン: 6.2.0
Config Version: 35 #クラスター構成ファイルのバージョン番号
クラスター名: mycluster #クラスター名
クラスターID: 56756
クラスターメンバー: はい
クラスター世代: 2764
メンバーシップ状態: クラスターメンバー
ノード: 4 #クラスターノードの数
予想される投票数: 6 #予想される投票数
クォーラムデバイスの投票数: 2 #投票ディスクの投票値
総投票数: 6 #クラスター内のすべての投票値のサイズ
クォーラム: 4 #クラスターの正当な投票値、この値を下回るとクラスターはサービスを停止します
アクティブなサブシステム: 9
フラグ: ダーティ
バインドされたポート: 0 177
ノード名 : web1
ノード ID: 4 #クラスター内のこのノードの ID 番号
マルチキャスト アドレス: 239.192.221.146 #クラスター ブロードキャスト アドレス
ノード アドレス: 192.168.12.230 #IPこのノードに対応するアドレス
2. clustat コマンド
clustat コマンドの使用方法は非常に簡単で、「clustat -h」を使用してヘルプ情報を取得できます。
[root@web1 ~]#clustat -i 3
mycluster のクラスター ステータス @ Mon Aug 23 18:54:15 2010
メンバー ステータス: Quorate
メンバー名 ID ステータス
------ ---- - --- ------
web2 1 オンライン、rgmanager
Mysql1 2 オンライン、rgmanager
Mysql2 3 オンライン、rgmanager
web1 4 オンライン、ローカル、rgmanager
/dev/sdb7 0 オンライン、クォーラム ディスク
サービス名 所有者 (最後)状態
------ ---- ----- ------ --------
service:mysqlserver Mysql1 starting
service:webserver web1 starting
出力内容 意味
clustertat の「-i」パラメータは、クラスタシステム内の各ノードとサービスの実行状態をリアルタイムに表示できます。「-i 3」は、クラスタの状態を 3 秒ごとに更新することを意味します。この出力では、各ノードが「オンライン」ステータスになっていることがわかります。これは、ノードがクラスターから離脱すると、対応するステータスが「オフライン」になるはずであることを示しています。クラスターの 2 つのサービスも「開始」状態にあり、それぞれ Mysql1 ノードと web1 ノードで実行されています。
さらに、「ID」列を通じてクラスターノードの対応関係を知ることができます。たとえば、web2 はこのクラスターの「ノード 1」ノードに対応し、web1 は「ノード 4」ノードに対応します。クラスター ノードの順序を理解すると、クラスター ログを解釈するのに役立ちます。
3. ccs_toolコマンド
ccs_tool は主にクラスター構成ファイルのcluster.conf を管理するために使用され、ccs_tool を通じてクラスター内のノードの追加/削除、フェンスデバイスの追加/削除、クラスター構成ファイルの更新などの操作を行うことができます。
以下は ccs_tool のいくつかのアプリケーション例です:
1 つのノードで構成ファイルを変更した後、「ccs_tool update」コマンドを実行してすべてのノードの構成ファイルを更新できます。例:
[root@web1 クラスター]# ccs_tool update / etc/cluster/cluster.conf
提案された更新された構成ファイルには、それより大きいバージョン番号がありません。
現在の config_version :: 35
提案された config_version:: 35
構成ファイルの更新に失敗しました。
ccs_tool はクラスター内の「config_version」に基づいています.conf 値によって更新するかどうかが決定されるため、cluster.conf ファイルを変更した後、ccs_tool の実行時に構成ファイルが更新されるように、cluster.conf の config_version 値を更新する必要があります。
[root@web1 cluster]# ccs_tool update /etc/cluster/cluster.conf
構成ファイルがバージョン 35 から 36 に更新されました
アップデートが完了しました。
5. GFS2 ファイル システムの管理とメンテナンス
GFS2 ファイル システムは、多くの機能を提供します。一般的に使用される管理およびメンテナンス ツールには、gfs2_fsck、gfs2_tool、gfs2_jadd、gfs2_quota、gfs2_convert などがあります。ここでは、最初の 3 つのコマンドの使用法に焦点を当てます。
1. gfs2_fsck コマンド
は、ext3 ファイル システムの fsck.ext3 コマンドに似ており、主にファイル システム エラーの検出と修復に使用されます。実際、GFS2 には fsck.gfs2 コマンドもあります。これは gfs2_fsck コマンドとまったく同じです。
gfs2_fsck は次のように使用されます:
gfs2_fsck [-afhnpqvVy]
以下にいくつかの使用例を示します:
[root@Mysql1 ~]# gfs2_fsck -y /dev/sdb5
fsck の初期化
リソース グループ インデックスの検証
レベル 1 RG チェック.
(レベル1合格)
パス1開始
パス1c完了
…………
パス5完了
gfs2_fsck完了
2. gfs2_toolコマンド
gfs2_toolコマンドは主にパラメータが多いですが、使い方は複雑ではありません。を表示するために使用され、GFS2 ファイルシステムの関連パラメータ情報を変更します。
ここにいくつかの使用例があります:
1) GFS2 ファイルシステムのマウント情報を表示します
[root@web1 ~]# gfs2_tool df /gfs2
/gfs2:
SB lock proto = "lock_dlm"
SB lock table = "mycluster: my -gfs2"
SB オンディスク フォーマット = 1801
SB マルチホスト フォーマット = 1900
ブロック サイズ = 4096
ジャーナル = 4
リソース グループ = 19
マウントされたロック プロト = "lock_dlm"
マウントされたロック テーブル = "mycluster:my-gfs2"
マウントされたホスト データ = "jid=2:id=65539:first=0"
ジャーナル番号 = 2
ロック モジュール フラグ = 0
ローカル ブロック = FALSE
ローカル キャッシュ = FALSE
タイプ 合計ブロック数 使用ブロック数 空きブロック数 use%
----------------- --------------- --------------- - ---- ------------ -----------
data 1220724 136578 1084146 11%
inodes 1084263 117 1084146 0%
(2) gfs2_tool コマンド
2) GFS2 ファイル システムをロックおよびロック解除します:
[root@node1 gfs2]# gfs2_tool フリーズ /gfs2
[root@node1 gfs2]# gfs2_tool unfreeze /gfs2
GFS2 ファイル システムがロックされると、読み取りおよび書き込み操作は実行できなくなります。ロックが解除されています。
3) GFS2 のマウント可能な連絡先の数をクエリします
[root@web1 ~]# gfs2_toolジャーナル /gfs2
journal2 - 128MB
journal3 - 128MB
journal1 - 128MB
journal0 - 128MB
4 件のジャーナルが見つかりました。
ここに表示搭載可能ノード数は4ノード、各ジャーナルのサイズは128Mです。
4) GFS2 バージョン情報を表示します:
[root@web1 ~]# gfs2_tool version
gfs2_tool 0.1.62 (built Mar 31 2010 07:34:25)
Copyright (C) Red Hat, Inc. 2004-2006 All Rights Reserved
(3) gfs2-jadd コマンド
gfs2-jadd は主に GFS2 ジャーナルの数とサイズを設定するために使用されます。使用方法は非常に簡単です:
gfs2_jadd [-cDhJjqV] /path/to/filesystem
いくつかの使用法を示します。ケース:
設定 ジャーナルのサイズは 64M です
[root@Mysql1 ~]# gfs2_jadd -J 64M
GFS2 が同時にマウントできるノードの数を 5 に増やします
[root@Mysql1 ~]# gfs2_jadd -j 5 /gfs2
さらに、gfs2_quota GFS2 ファイル システムのディスク クォータ管理に使用される gfs2_convert は、GFS ファイル システムのメタデータを更新し、GFS2 ファイル システムに変換できるデータ変換アプリケーションです。使用方法の詳細については、ここでは説明されていないヘルプ情報を参照してください。
http://www.bkjia.com/PHPjc/1068091.html
www.bkjia.comtruehttp://www.bkjia.com/PHPjc/1068091.html技術記事 RHCS の原理と操作 RHCS コンポーネントの紹介: 1.1 分散クラスターマネージャー (CMAN) CMAN と呼ばれるクラスターマネージャーは、クラスターの各ノードで実行される分散クラスター管理ツールです...