Test-Cluster Powershellコマンドレットリストと検証


8

PowershellコマンドレットTest-Clusterは無数のデータにクエリを実行し、検証テストを実行して、きれいなレポートにラップします。実行Test-Cluster -Listすると、項目のリストが表示され、コマンドレットを使用して個別にクエリを実行できます。を読むときの一般的な命名規則がありますDisplayName。それらはすべて"List"または"Validate"で始まります。

明らかに、「検証」は実際に失敗してフェイルオーバーをテストします。しかし、「リスト」という名前を付けると、実行時のデータのクエリにすぎないと思います。これを次のスクリプトでテストしました。

$TestList = Test-Cluster -List | Where-Object {$_.DisplayName -like "List*"}
Test-Cluster -Include $TestList.DisplayName -ReportName "c:\cluster reports\report"

このレポートが生成されている間、ログに記録されたクラスターエラーは表示されず、フェイルオーバーアクティビティも確認されません。Microsoftのtechnetもこれについてははっきりしていませんが、動作は私が考えていることと一致していると推測しています。この抜粋を参照してください(鉱山を強調):

テスト結果は、指定したファイル名のファイルにキャプチャされます。検証テストを実行している、あなたは、ハードウェアや設定がフェールオーバークラスタリングと互換性があることを確認することができます。クラスタ、インベントリ、ネットワーク、ストレージ、システム、およびその他のタイプのテストを含む、複数のタイプのテストがあります。ストレージテストでは、クラスター化された役割で使用されているオンラインディスクまたはストレージプールはテストされません。このようなディスクをテストするには、まずStop-ClusterGroupを実行してクラスター化された役割を停止してから、Test-Clusterを実行します。テストが完了したら、クラスター化された役割(リソースグループとも呼ばれます)を再度開始します。

テストクラスターTechNetページ

「検証」という言葉の使用に注意を喚起します。さらに、そのスクリプトを実行すると、出力の一部として次のように表示されます。

Test Result:
ClusterSkippedTestsCompleted

検証テストを含めると、結果は次のようになります。

Test Result:
ClusterConditionallyApproved

私のテスト環境では、ネットワークテストでいくつかの警告が生成され、条件付き承認がトリガーされました。「Validate」「List」の分割の背後にあるロジックを説明するドキュメントを見つけるためにかなりグーグル検索しましたが、何も調べていません。これは質問につながります...

リスト要求はフェイルオーバーイベントをトリガーしますか?

回答:


2

検証リストの分割は、期待される結果を指示することを目的としています。 検証テストはブール値で、合格/不合格、はい/いいえ、アップ/不合格などを返します。リストテストは、統計データと運用データを返して確認します。

マイクロソフトはゼロダウンタイムを念頭に置いてテストを作成しました。そして、ほとんどの場合、それは本当です。 フェイルオーバーをトリガーしてダウンタイムを引き起こすテストがあります。彼らです:

  • ディスクの調停を検証する
  • ディスクフェイルオーバーの検証
  • 複数の仲裁を検証する
  • SCSI-3永続予約を検証する
  • 同時フェイルオーバーの検証

Test-Clusterincludeまたはexcludeパラメータを使用せずにを実行すると、これらのテストが実行されることに注意することが重要です。上記のテストはフェイルオーバーイベントをトリガーしますが、次のテストはパフォーマンスに影響を与える可能性があります。彼らです:

  • ディスクアクセスの遅延を検証する
  • ファイルシステムの検証
  • Microsoft MPIOベースのディスクを検証する
  • SCSIデバイスの重要な製品データを検証する

上記のすべてのテストは、ストレージカテゴリの一部です。そのため、通常、運用中のサーバーではストレージテストを回避することをお勧めします。これらのテストを除外するには、次のコマンドを実行します。

Test-Cluster -Ignore Storage

Includeパラメーターを使用してテストを選択的に選択している場合、実行できる2つの安全なストレージテストがあります。彼らです:

  • すべてのディスクを一覧表示
  • 検証するディスクのリスト

ソース1およびソース2

利用可能なすべてのクラスターテストは、5つのテストカテゴリに分類されます。彼らはCluster ConfigurationInventoryNetworkStorage、とSystem ConfigurationStorage(Microsoftによると)フェイルオーバーをトリガーするか、パフォーマンスに影響を与えるテストが含まれているのはカテゴリのみです。さらに、これらのテストカテゴリのほとんどは、クラスターが認定されて動作可能になった後に実行することを意図していません。それを除いて...

既存のクラスターの場合

マイクロソフトは、既存のクラスターで使用するためのテストを設計し Cluster Configurationました。実際、これらのテストは既存のクラスターでのみ実行されます。このテストカテゴリを実行するには、次のコマンドを実行します。

Test-Cluster -Include "Cluster Configuration"

ソース3


0

私の経験では、Test-Clusterはフェイルオーバーイベントをトリガーしません。ハードウェアとソフトウェアの構成をチェックして、すべてがフェールオーバークラスタリングと互換性があるかどうかを確認するためだけに設計されています。私が理解しているように、Test-Clusterは、フェールオーバークラスターマネージャー内からGUIの「クラスターの検証」機能を使用するときにも実行されます。実際には、クラスターの「フェイルオーバー」機能を「テスト」するわけではありません。


0

以下のリンクに従って:

[test-cluster description] [1] http://technet.microsoft.com/en-us/library/ee461026.aspx

例3:Test-Cluster -List

このコマンドは、クラスター検証のすべてのテストとカテゴリの名前を一覧表示します。次に、これらのテスト名を-Ignoreまたは-Includeで指定して、特定のテストを実行できます。

そのため、listコマンドは、クラスターを実行および検証できるテストのリストを提供するだけです。


あなたの質問の他の部分:表示名

Listで始まるDisplayNames はクラスターノードから情報を取得するだけですが、Validateで始まるDisplayNames は実際に構成をテストします(ディスクのフェイルオーバー、sharewithessテスト、ネットワークテストなどを行います)。


0

簡単な答え:リスト要求はフェイルオーバーイベントをトリガーしません

詳細な回答:テストを「検証」「リスト」に分割する背後にあるロジックは、2008R2以降一貫しています。「リスト」で始まるほとんどのテストはインベントリテストと見なされ、現在構成されているクラスターの状態には影響しません。listで始まるすべてのコマンドレットは、以下のこのtechnetスニペットで詳述されているように、本質的に情報提供を目的としています。

インベントリテストは、ハードウェア、ソフトウェア、およびテストする各サーバーの設定に関する情報のリストを提供します。インベントリテストのみを使用して(クラスター構成の検証ウィザードの他のテストなしで)、ハードウェアの構成を確認または記録できます(たとえば、定期メンテナンスを実行した後、各サーバーのソフトウェアの更新が同一であることを確認できます)。

詳細については、Technet-クラスター検証テストの理解:インベントリを参照してください。


Inventoryリストテストを含むテストのカテゴリです。ただし、リストテストはインベントリテストとは見なされません。
Colyn1337 2014
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.