Testcluster-Powershell-Cmdlet-Liste vs Validieren

8

Das Cmdlet Powershell Test-Clusterfragt eine Vielzahl von Daten ab und führt Validierungstests durch, die es in einen hübschen Bericht einbindet . Wenn Sie ausführen, erhalten Test-Cluster -ListSie eine Liste der Elemente, die Sie mit dem Cmdlet einzeln abfragen können. Es gibt ein allgemeines Namensschema, wenn Sie die lesen DisplayName. Sie alle beginnen entweder mit "Liste" oder "Validieren" .

Offensichtlich wird "Validieren" das Failover tatsächlich testen, indem es fehlschlägt. Wenn ich jedoch etwas "Liste" nenne, denke ich, dass es sich nur um eine Datenabfrage handelt, wie zum Zeitpunkt der Ausführung. Ich habe dies mit dem folgenden Skript getestet:

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

Während der Erstellung dieses Berichts werden keine protokollierten Clusterfehler angezeigt oder Failover-Aktivitäten festgestellt. Microsoft Technet ist auch hier nicht ganz klar, aber sie schließen daraus, dass das Verhalten mit dem übereinstimmt, was ich denke. Siehe diesen Auszug (Hervorhebung von mir):

Testergebnisse werden in einer Datei mit dem von Ihnen angegebenen Dateinamen erfasst. Durch Ausführen der Validierungstests können Sie bestätigen, dass Ihre Hardware und Einstellungen mit dem Failover-Clustering kompatibel sind . Es gibt mehrere Arten von Tests, einschließlich Cluster-, Inventar-, Netzwerk-, Speicher-, System- und anderer Testarten. Bei Speichertests werden keine Online-Festplatten oder Speicherpools getestet, die von einer Clusterrolle verwendet werden. Um solche Datenträger zu testen, führen Sie zuerst Stop-ClusterGroup aus, um die Clusterrolle zu stoppen, und führen Sie dann Test-Cluster aus. Starten Sie nach Abschluss der Tests erneut die Clusterrollen, auch als Ressourcengruppen bezeichnet.

Test-Cluster TechNet-Seite

Ich möchte Ihre Aufmerksamkeit auf die Verwendung des Wortes "Validierung" lenken . Wenn Sie dieses Skript ausführen, heißt es außerdem als Teil der Ausgabe:

Test Result:
ClusterSkippedTestsCompleted

Wenn Sie einen Validierungstest einschließen, lautet das Ergebnis:

Test Result:
ClusterConditionallyApproved

In meiner Testumgebung haben die Netzwerktests einige Warnungen generiert, die die bedingte Genehmigung ausgelöst haben. Ich habe ziemlich viel gegoogelt, um eine Dokumentation zu finden, die die Logik hinter der Aufteilung "Validieren" gegen "Liste" beschreibt , aber ich habe nichts aufgedeckt. Dies führt zu der Frage ...

Lösen Listenanforderungen ein Failover-Ereignis aus?

Colyn1337
quelle

Antworten:

2

Die Aufteilung zwischen Validierung und Liste soll bestimmen, welches Ergebnis zu erwarten ist. Validierungstests sind boolesch und geben Pass / Fail, Ja / Nein, Up / Failed usw. zurück. Die Listentests geben statistische und Betriebsdaten zur Überprüfung zurück.

Microsoft hat die Tests unter Berücksichtigung von Zero Downtime erstellt. Und zum größten Teil ist das wahr. Es gibt Tests, die ein Failover auslösen und Ausfallzeiten verursachen . Sie sind:

  • Überprüfen Sie die Festplattenarbitrierung
  • Überprüfen Sie das Festplatten-Failover
  • Überprüfen Sie die Mehrfachschiedsgerichtsbarkeit
  • Überprüfen Sie die dauerhafte SCSI-3-Reservierung
  • Gleichzeitiges Failover validieren

Es ist wichtig zu beachten, dass diese Tests ausgeführt werden , wenn Test-Clustersie ohne Verwendung der Einschluss- oder Ausschlussparameter ausgeführt werden . Während die oben aufgeführten Tests ein Failover-Ereignis auslösen, können die folgenden Tests die Leistung beeinträchtigen . Sie sind:

  • Überprüfen Sie die Latenz für den Datenträgerzugriff
  • Dateisystem validieren
  • Überprüfen Sie Microsoft MPIO-basierte Festplatten
  • Überprüfen Sie die wichtigen Produktdaten des SCSI-Geräts

Alle oben aufgeführten Tests sind Teil der Speicherkategorie . Daher wird normalerweise empfohlen, die Speichertests auf einem Server in der Produktion zu vermeiden. Führen Sie den folgenden Befehl aus, um diese Tests auszuschließen:

Test-Cluster -Ignore Storage

Wenn Sie den IncludeParameter verwenden, um Ihre Tests selektiv auszuwählen, können Sie zwei sichere Speichertests ausführen. Sie sind:

  • Alle Festplatten auflisten
  • Liste der zu validierenden Datenträger

Quelle 1 und Quelle 2

Alle verfügbaren Clustertests sind in 5 Testkategorien unterteilt. Sie sind Cluster Configuration, Inventory, Network, Storage, und System Configuration. Nur die StorageKategorie enthält Tests, die ein Failover auslösen oder die Leistung beeinträchtigen (laut Microsoft). Darüber hinaus sollen die meisten dieser Testkategorien nicht ausgeführt werden, nachdem der Cluster zertifiziert und betriebsbereit ist. Bis auf eine, die ...

Für vorhandene Cluster

Microsoft hat Cluster Configuration Tests für die Verwendung in einem vorhandenen Cluster entwickelt. Tatsächlich werden diese Tests nur auf vorhandenen Clustern ausgeführt. Führen Sie den folgenden Befehl aus, um diese Testkategorie auszuführen:

Test-Cluster -Include "Cluster Configuration"

Quelle 3

Colyn1337
quelle
0

Nach meiner Erfahrung löst Test-Cluster niemals ein Failover-Ereignis aus. Es dient nur dazu, Hardware- und Softwarekonfigurationen zu überprüfen, um festzustellen, ob alles mit Failover-Clustering kompatibel ist. Soweit ich weiß, wird Test-Cluster auch ausgeführt, wenn die GUI-Funktion "Cluster validieren" im Failover-Cluster-Manager verwendet wird. Die "Failover" -Funktion des Clusters wird nicht "getestet".

NorbyTheGeek
quelle
0

Wie im folgenden Link angegeben:

[Beschreibung des Testclusters ] [1] http://technet.microsoft.com/en-us/library/ee461026.aspx

Beispiel 3: Test-Cluster-Liste

Dieser Befehl listet die Namen aller Tests und Kategorien in der Clusterüberprüfung auf . Sie können diese Testnamen dann mit -Ignore oder -Include angeben, um bestimmte Tests auszuführen.

Der Befehl list gibt Ihnen also nur eine Liste von Tests, die Sie ausführen und den Cluster validieren können.


Der andere Teil Ihrer Frage: Der Anzeigename

DisplayNames, die mit List beginnen, greifen nur die Informationen von den Clusterknoten ab , während DisplayNames, die mit Validate beginnen, die Konfiguration tatsächlich testen (Failover von Festplatten, Sharewithess-Tests, Netzwerktests usw.).

Zarko
quelle
0

Einfache Antwort: Listenanforderungen lösen KEINE Failover-Ereignisse aus.

Detaillierte Antwort: Die Logik für die Aufteilung der Tests in "Validieren" und "Liste" ist seit 2008R2 konsistent. Die meisten Tests, die mit "Liste" beginnen, gelten als Inventartests . Sie wirken sich nicht auf den Status eines aktuell konfigurierten Clusters aus. Alle Commandlets, die mit list beginnen, haben informativen Charakter, wie in diesem Technet-Snippet unten beschrieben.

Inventartests enthalten Listen mit Informationen zu Hardware, Software und Einstellungen auf jedem der zu testenden Server. Sie können Inventartests allein verwenden (ohne andere Tests im Assistenten zum Überprüfen einer Clusterkonfiguration), um die Konfiguration der Hardware zu überprüfen oder aufzuzeichnen (z. B. um zu überprüfen, ob die Softwareupdates auf jedem Server nach Durchführung der geplanten Wartung identisch sind).

Weitere Informationen finden Sie unter: Technet - Grundlegendes zu Clustervalidierungstests: Inventar

Nate
quelle
Inventoryist eine Kategorie von Tests, die Listentests umfasst . Listentests gelten jedoch NICHT als Inventartests.
Colyn1337