PowershellコマンドレットTest-Cluster
は、無数のデータをクエリし、検証レポートを実行して、きれいなレポートにラップします。 Test-Cluster -List
を実行すると、アイテムのリストが表示され、コマンドレットを使用して個別にクエリを実行できます。 DisplayName
を読むときの一般的な命名規則があります。それらはすべて "List"または "Validate"のいずれかで始まります。
明らかに "Validate"は実際に失敗してフェイルオーバーをテストします。しかし、 "List"という名前を付けると、実行時のデータのクエリにすぎないと思います。これを次のスクリプトでテストしました。
$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を実行します。テストが完了したら、クラスター化された役割(リソースグループとも呼ばれます)を再度開始します。
単語「検証」の使用に注意を喚起します。さらに、そのスクリプトを実行すると、出力の一部として次のように表示されます。
Test Result:
ClusterSkippedTestsCompleted
検証テストを含めると、結果は次のようになります。
Test Result:
ClusterConditionallyApproved
私のテスト環境では、ネットワークテストでいくつかの警告が生成され、条件付き承認がトリガーされました。 "Validate"対 "List"分割の背後にあるロジックを説明するドキュメントを見つけるためにかなりグーグル検索しましたが、私は何も現れていません。これは質問につながります...
リスト要求はフェイルオーバーイベントをトリガーしますか?
ValidationとListの間の分割は、期待される結果を指示することを目的としています。 検証テストはブール値で、合格/不合格、はい/いいえ、アップ/不合格などを返します。Listテストは統計的およびレビューのための運用データ。
マイクロソフトはゼロダウンタイムを念頭に置いてテストを作成しました。そして、ほとんどの場合、それは本当です。 フェイルオーバーをトリガーしてダウンタイムを引き起こすテストがあります。彼らです:
Test-Cluster
は、includeまたはexcludeパラメーターを使用せずに実行されます。これはこれらのテストを実行します。上記のテストはフェイルオーバーイベントをトリガーしますが、次のテストはパフォーマンスに影響を与える可能性があります。彼らです:
上記のすべてのテストは、storageカテゴリの一部です。そのため、通常、運用中のサーバーではstorageテストを回避することをお勧めします。これらのテストを除外するには、次のコマンドを実行します。
Test-Cluster -Ignore Storage
Include
パラメーターを使用してテストを選択的に選択している場合、実行できる安全なストレージテストが2つあります。彼らです:
利用可能なすべてのクラスターテストは、5つのテストカテゴリに分類されます。彼らです Cluster Configuration
、Inventory
、Network
、Storage
、System Configuration
。 Storage
カテゴリのみに、フェイルオーバーをトリガーするか、パフォーマンスに影響を与えるテストが含まれています(Microsoftによると)。さらに、これらのテストカテゴリのほとんどは、クラスターが認定されて動作可能になった後に実行することを意図していません。それを除いて...
既存のクラスタの場合
Microsoft設計済みCluster Configuration
既存のクラスターで使用するためのテスト。実際、これらのテストは既存のクラスターでのみ実行されます。このテストカテゴリを実行するには、次のコマンドを実行します。
Test-Cluster -Include "Cluster Configuration"
以下のリンクに従って:
[テストクラスターの説明] [1] http://technet.Microsoft.com/en-us/library/ee461026.aspx
例3:Test-Cluster -List
このコマンドは、クラスター検証のすべてのテストとカテゴリの名前を一覧表示します。次に、これらのテスト名を-Ignoreまたは-Includeで指定して、特定のテストを実行できます。
したがって、listコマンドは、クラスターを実行および検証できるテストのリストを提供するだけです。
あなたの他の部分は質問します:displayname
Listで始まるDisplayNamesはクラスターノードから情報を取得するだけですが、Validateで始まるDisplayNamesは実際にテストします構成(ディスクのフェイルオーバー、sharewithessテスト、ネットワークテストなどを行います)
簡単な答え:リストリクエストDO NOTはフェイルオーバーイベントをトリガーします。
詳細な回答:テストを "Validate"と "List"に分割するロジックは、2008R2以降一貫しています。 "List"で始まるほとんどのテストは在庫テストと見なされます、状態には影響しません現在構成されているクラスターの。リストで始まるすべてのコマンドレットは、以下のこのtechnetスニペットで詳述されているように、本質的に情報提供を目的としています。
インベントリテストは、ハードウェア、ソフトウェア、およびテストする各サーバーの設定に関する情報のリストを提供します。 (クラスター構成の検証ウィザードの他のテストなしで)インベントリテストを使用して、ハードウェアの構成を確認または記録できます(たとえば、定期メンテナンスを実行した後、各サーバーのソフトウェアの更新が同一であることを確認できます)。
詳細については、次を参照してください。 Technet-クラスター検証テストについて:インベントリ
私の経験では、Test-Clusterはフェイルオーバーイベントをトリガーしません。ハードウェアとソフトウェアの構成をチェックして、すべてがフェールオーバークラスタリングと互換性があるかどうかを確認するためだけに設計されています。私が理解しているように、Test-Clusterは、フェールオーバークラスターマネージャー内からGUIの「クラスターの検証」機能を使用するときにも実行されます。実際には、クラスターの「フェイルオーバー」機能を「テスト」するわけではありません。