メインコンテンツまでスキップ

NetApp_Insight_2020.png 

トラブルシューティングワークフロー:クォーラム外の MHost RDB アプリケーション

Views:
13
Visibility:
Public
Votes:
0
Category:
data-ontap-8
Specialty:
core
Last Updated:

のしんだ

に適用されます

  • clustered Data ONTAP 8
  • clustered Data ONTAP 8.2

 

問題

RDB アプリケーションがクォーラム(つまり、「ローカルユニットオフライン」)に達していない場合、コマンドやサービスが機能しなくなったり、容量が制限されたりすることがあります。

ネットワークパーティション、リモートノードの正常性、またはローカルノードの正常性が原因で、通常は移行状態になります。

RDB クラスタ構成は、定義されたレプリケーションサイト(ノード)のセットで構成され、すべてが相互に認識されます。クラスタメンバーシップ/var/rdb/_sitelistと構成は、レプリケートされたファイルに格納されます。すべての RDB アプリケーションまたはリング( mgwd 、 vldb 、 vifmgr 、 bcomd など)リングは、サイトリストの設定を共有します。

_sitelist (クラスタ構成データ)は、システム内で自動的にレプリケートされます。内容は次のとおりです。

  • バージョン
  • クラスタUUID
  • サイトのリスト。

各サイトには、 ID 、ホスト名、クラスタ IP アドレスのペア、および状態(適格 / 不適格)があります。資格設定は、このサイトがクォーラム形成に参加するかどうかを決定します。これは管理上の選択肢です。さらに、 1 つのサイトを「イプシロン」と指定することもできます。これは、クォーラムを半分のサイトで構成できる部分的な投票です。「イプシロン」は「マスター」とは異なります。2 ノード HA モードで_sitelist HA_CONFIGは、に属性が含まれています。これは、クォーラム処理に対して完全に異なるルールが有効であることを意味します。

クォーラムは、 RDB アプリケーションのように接続された大部分のアプリケーションで、 1 つのインスタンスがマスターとして選択されます。マスターは通常、の最初の複数のインスタンスの 1 つ_sitelistです。各レプリケーションリングは、他のリングとはまったく独立して動作します。異なるリングに異なるマスターがあるのは正常ですが、通常は同じノードに配置されています。

クォーラムが不足しているノード (OOQ) は、クォーラムのメンバではありません。つまり、クォーラム構成(起動のみ)に参加していないか、マスターが OIQ を取得したか、またはマスターが OIQ をプッシュしたためにマスターとの接触が失われています。

オフライン状態では、クォーラムのマスターがデータベースの書き込みや更新を行うことはできません。ただし、データベースのローカルポイントインタイム読み取り専用コピーを使用できます。読み取り専用コピーの有用性は、特定の RDB アプリケーションによって異なります。たとえば、オフライン時に VLDB が N ブレードからのクエリに引き続き応答する場合があります。さまざまなアプリケーションのオーナーに相談する必要があります。

RDB アプリケーションは、 D ブレードと N ブレードと競合し、 CPU と I/O サイクルを実現します。このシステムはリアルタイムシステムではなく、今後のリリースで予定されているサービスレベル契約( SLA )はありません。したがって、 RDB アプリケーションは、負荷の高いシステムでは頻繁に動作します。この状態はバグではありません。

ローカルノードまたはリモートノードが OOQ の場合、 CLI コマンドの呼び出しは失敗し、エラーメッセージに「 local unit offline 」が表示されます(一部のコマンドは、オフラインになったときに自動的に再試行し、管理者に通知されません)。このような状況が発生した場合は、通常は一時的な状態であるため、コマンドを詳細に調査する前に再試行する必要があります。

マスターで次のいずれかの問題が発生すると、新しいマスターが選択されるまで、すべてのアプリケーションが一時的にオフラインになります。

診断コマンド
すべてのリングのクォーラムの状態を調べるcluster ring showには、 diagnostic level コマンドを使用します。

csiptc-2240-091341002218::*> cluster ring show
Node      UnitName Epoch    DB Epoch DB Trnxs Master    Online
--------- -------- -------- -------- -------- --------- ---------
csiptc-2240-09
          mgmt     29       29       102      csiptc-2240-09
                                                        master
csiptc-2240-09
          vldb     26       26       3        csiptc-2240-09
                                                        master
csiptc-2240-09
          vifmgr   53       53       37       csiptc-2240-09
                                                        master
csiptc-2240-09
          bcomd    26       26       1        csiptc-2240-09
                                                        master
csiptc-2240-10
          mgmt     29       29       102      csiptc-2240-09
                                                        secondary
csiptc-2240-10
          vldb     26       26       3        csiptc-2240-09
                                                        secondary
csiptc-2240-10
          vifmgr   53       53       37       csiptc-2240-09
                                                        secondary
csiptc-2240-10
          bcomd    26       26       1        csiptc-2240-09
                                                        secondary
8 entries were displayed.

csiptc-2240-091341002218::*>


cluster showこのコマンドcluster ring showrdb_dumpは、クォーラムの状態(すべてのリングに使用)だけを表示します。

csiptc-2240-091341002218::*> cluster show
Node                 Health  Eligibility   Epsilon
-------------------- ------- ------------  ------------
csiptc-2240-09       true    true          false
csiptc-2240-10       true    true          false
2 entries were displayed.


mgwd が実行rdb_dumpされていない場合にクォーラムの状態を調べるには、 FreeBSD シェルで実行します。任意のクラスタノードから、ツールを使用して、 RDB アプリケーションの一部またはすべての現在の状態情報を抽出します。一般的な手法 /var/rdb/_sitelistrdb_dumpは、を cat コマンドで指定し、ツールを使用して目的の IP アドレス(または localhost )に誘導して調査することです。 rdb_dump 次の情報を表示できます。

  • 全体的なヘルス
  • トランザクションフロー
  • データベースのバージョン
  • さまざまなコンポーネントと内部。

rdb_dump -hオプションのリストを入力します。rdb_dumpすべての出力は、照会されているプロセスの観点から得られたものであることに注意してください。

csiptc-2240-10% rdb_dump -h

rdb_dump [<host>] [options] <unit>*
   -h       - help
   -c [n]   - continuous with n sec delay (default 3)
   -v       - verbose; all options other than 'c'
   -e       - environment vars
   -f       - configuration info
   -x       - internal developer info on selected components
   -u       - Local Unit
   -d       - individual database summary
   -q       - Quorum Mgr
   -r       - Recovery Mgr
   -t       - Transaction Mgr
   -z       - Call exportHealth API to query health at a node.
   [<host>] - Name or IP, default localhost.
  <unit>*  - select from: vldb, management, vifmgr, bcomd, t1, smfpilot (test units).
              if omitted, dumps all product units on the host.
   Options may be combined, e.g., '-qrtx'.


rdb_dump 個々のユニットの観点から見たクラスタ構成と稼働状態の情報を表示します。

 

  • 「 Master 」は動的な役割であり、「イプシロン」は構成設定です。多くの場合、マスターサイトとイプシロンサイトが異なることがあります。
  • レプリケーショングループ( VLDB 、 Vifmgr 、 BCOMD 、 MGWD )は独立して動作します。マスターとヘルスの情報はそれぞれ異なる場合があります。ただし、設定情報は共有する必要があります。


ボックス間の問題を分析するための設定:

  1. 環境と構成( -e と -f )が予想どおりに一致していることを確認します。 
  2. さまざまなユニットインスタンスが設定に一致することを確認します。

正常性(デフォルト)
正しい設定を指定すると、正常性情報にレプリケーショングループのステータスが要約されます。 
注意:マスターから取得したヘルスは常に最も正確です。セカンダリ情報を他のセカンダリに伝播するのに多少の遅延がありますが、合意に達します。

モニタリング
-c は、通常の動作時にボックスを継続的に監視するために使用します。また、ボックスを再起動-cするときは、を使ってアプリケーションを起動し、オンラインになったときに表示します。

CUSTOMER EXCLUSIVE CONTENT

Registered NetApp customers get unlimited access to our dynamic Knowledge Base.

New authoritative content is published and updated each day by our team of experts.

Current Customer or Partner?

Sign In for unlimited access

New to NetApp?

Learn more about our award-winning Support