Storage Performance Test

Als Alternative zu IOmeter kann auch ein aktuelles Microsoft-Tool zum Einsatz kommen, das Performance-Tests von lokalen Festplatten und SSDs (DAS), LUNs einer SAN, Storage Spaces oder SMB Freigaben ermöglicht: » DiskSPD (https://aka.ms/DiskSpd)

Dabei läuft das Tool auf 32-Bit, 64-Bit und ARM Versionen von Windows sowohl auf physikalischen Servern als auch innerhalb einer VM. Das kommandozeilenbasierte DiskSPD („disk speed“) kann ähnlich wie IOmeter verteilte random I/Os erzeugen und messen, ebenso können eigene Workloads definiert werden.

DiskSpd ist open source (MIT License); das Projekt findet man auf GitHub:
» GitHub.com/Microsoft/Diskspd
Das Tool bietet eine Fülle von Möglichkeiten Parameter für einen Workload zu definieren. Weiterführende Informationen dazu findet man in der Dokumentation auf GitHub (» DOC und » PDF Format).

Im Gegensatz zu IOmeter, dessen Entwicklung seit 2006 weitgehend stagniert, und dem abgekündigten SQLIO wird DiskSPD derzeit aktiv weiterentwickelt und zeigt mit VMfleet auch Workloads für den kommenden Windows Server 2016. Diskspd läuft auch unter der Windows Server 2016 deployment option Nano Server.

Wer ein neues Storage-System in der eigenen Umgebung auf Herz und Nieren hinsichtlich Bandbreite, Durchsatz und IOPS mit verschiedenen Lastprofilen testen möchte, für den stellt DiskSPD eine gute Alternative zu IOmeter, IOzone oder Vdbench dar.

Stay tuned,
N.Own

Heads-Up: Migration FRS zu DFS-R

Dieser Beitrag ist der Erste aus der Serie „Heads Up!“, die Themen bespricht, die beachtenswert sind für einen Windows Server oder Windows Server Failover Cluster Betrieb.
Sinn und Zweck soll es sein Euch einen Hinweis und eine Empfehlung an die Hand zu geben, nicht in eine bereits allgemein bekannte Falle zu geraten.

In dieser Folge aus der Reihe „Heads Up!“ geht es um einen Mechanismus, der seine Tätigkeit in einer Active Directory Domäne im Hintergrund erledigt und meist wenig Beachtung findet: Der File Replication Service (FRS).
Der Dienst verrichtet die wichtige Aufgabe Gruppenrichtlinien (Sysvol) sowie Skripte (Netlogon) auf alle Domänen Controller innerhalb einer Domäne zu replizieren, um diese für die Clients an der jeweiligen AD Site zur Verfügung zu stellen.
Dabei hat der FRS Dienst die ehemalige „LAN Manager Replication“ (LMRepl) beerbt: Für die, die das noch unter Windows NT 3.x/NT 4 kennen:
https://technet.microsoft.com/en-us/library/cc962213.aspx

Heads Up: Der FRS ist seit Windows Server 2012 abgekündigt (deprecated) und es wurde schon mit Erscheinen der Windows Version eine Empfehlung abgegeben auf DFS-R zu migrieren.
Nachdem ich schon einige Windows Server 2012 Umgebungen gesehen habe, in denen FRS immer noch seinen Dienst verrichtet und die nächste Major Version in Form von Windows Server 2016 vor der Tür steht, sollte man bald der Empfehlung nachkommen und seine Domäne „Windows vNext Ready“ gestalten.

Der geschätzte Microsoft Mitarbeiter Ned Pyle hat das im Jahr 2014 aufgegriffen und einen detaillierten Aktionsplan für Umsteiger geschrieben:
Ned Pyle’s Streamlined Migration of FRS to DFSR SYSVOL
http://blogs.technet.com/(…)streamlined-migration-of-frs-to-dfsr(…)

Prüft Eure Umgebung, die Gesamtstrukturebene sowie die Domänenebene und wenn alle Voraussetzungen erfüllt sind: „Bye, bye FRS – Hello DFS-R“ 🙂

Stay tuned,
N.Own

Weiterführende Links:
[1] https://blogs.technet.microsoft.com/filecab/2014/06/25/the-end-is-nigh-for-frs/
[2] https://technet.microsoft.com/de-de/library/dn303411.aspx
[3] https://technet.microsoft.com/de-de/library/mt163897.aspx#BKMK_FRSDeprecation
[4] https://technet.microsoft.com/library/dd640019(v=ws.10).aspx

Rolling Upgrade is back

Ein Rolling Upgrade unter Nutzung gemischter Betriebssystemversionen im gleichen Cluster ist für Migrationszwecke sehr praktisch. So erlaubte Windows Server 2003 eine gemischte OS-Version unter den Knoten eines Clusters, was es einem ermöglichte Knoten mit Windows 2000 Server und Windows Server 2003 im gleichen Cluster zu betreiben.
Das Vorgehen war denkbar einfach: Failover aller Ressourcen auf einen Clusterknoten, pausieren des nun passiven Knoten und anschließende Aktualisierung der Windowsversion. Danach das Pausieren des passiven Knotens aufheben und Failover der Ressourcengruppen auf den vormals passiven Knoten, nun kann der vormals aktive Knoten pausiert und aktualisiert werden. Nach einer anschließenden Entfernung der Pausierung hat man das Upgrade seiner Clusterknoten erledigt.
Das Szenario ergibt natürlich nur Sinn, um den Cluster auf einfache Weise auf 2003 zu aktualisieren: Ein Betriebsszenario mit gemischten Knoten wird niemand ernsthaft für längere Zeit betreiben wollen.

Was ist der Vorteil des Ganzen? Nun, man vermeidet eine längere Downtime und spart sich Hardware und das ist bei einem Cluster meistens eine teure Angelegenheit, wenn man die LUNs auf der Shared Storage berücksichtigt.
Leider gab es die Möglichkeit ein „Cluster Operating System Rolling Upgrade“ zu nutzen bei Windows Server 2008 (R2) und Windows Server 2012 (R2) nicht mehr – die Komponenten erlagen einem starken Wandel bei der Architektur und haben das Szenario schlichtweg nicht mehr unterstützt.

Welche Versionen unterstützen ein Cluster OS Mixed Mode, um ein Rolling Upgrade zu realisieren?
Rolling Upgrade Matrix - © 2016 N.Own
Microsoft hat erkannt, dass das Feature für Kunden und IT-Dienstleister eine enorme Erleichterung bei einem Upgrade darstellt und wird das Feature mit Windows Server 2016 wieder einführen. Eine Migration von Windows Server 2012 R2 zu Windows Server 2016 wird also wieder weitestgehend unterbrechungsfrei möglich sein:

» https://technet.microsoft.com/en-us/library/dn850430.aspx

Mit der Wiedereinführung dieses Features wird eine Planung und Durchführung eines OS-Upgrade der an einem Cluster beteiligten Serverknoten wesentlich vereinfacht. Eine Migration von Windows Server 2012 R2 zu Windows Server 2016 erlaubt damit die Nutzung derselben Hardware.

Stay tuned,
N.Own

Active Directory Abhängigkeiten

Windows Server Failover Cluster benötigen bisher ein Active Directory, da sie auf die Vorteile einer zentralen Benutzerverwaltung zurückgreifen – die Abhängigkeiten eines Clusters zu den Active Directory Domain Services (AD DS) haben sich allerdings über die letzten Versionen geändert.

Windows Server 2003 hat noch zwingend ein AD benötigt: Der Clusterdienst auf den jeweiligen Nodes wurden im Kontext eines Dienstekontos ausgeführt – dieses musste ein AD Konto sein.
Der sog. „Cluster Service Account“ (CSA) hat die Anlage der Netzwerknamen übernommen, die „Virtual Computer Objects“ (VCO, Computerkonten) hat der Dienst im Kontext des CSA angelegt und modifiziert. Über so ein Computerkonto wird eine durchgängige Kerberos Authentifizierung für virtuelle Netzwerknamen im einem Cluster z.B. für File Services erreicht. Dabei schreibt der Clusterdienst auch die passenden Attribute für das Computerkonto: ServicePrincipalName (SPN), DnsHostName und DisplayName.

Mit Windows Server 2008 wurde der CSA obsolet, damit vereinfachte sich das Setup und die Achillesferse eines Benutzerkontos mit zu wenig Rechten als potentieller Schwachpunkt für den Clusterbetrieb wurde abgeschafft. Der Clusterdienst läuft nun im Kontext von local system, das Cluster Name Object (CNO) legt fortan die Netzwerknamen an (VCO). Die VCOs bilden den „Client Access Point“ (CAP) für die Zugriffe der Benutzer auf den Cluster. Das CNO ist ebenfalls zuständig für die Kennwortänderungen der VCOs im Active Directory.

Mit Windows Server 2012 R2 ist wiederum ein Schritt in Richtung Unabhängigkeit von AD DS implementiert worden: Man kann nun einen Cluster weitgehend ohne AD betreiben (AD-detached cluster) und für den Bootvorgang eines Knoten (form/join Cluster) muss ein DC nicht mehr zwingend erreichbar sein (AD-less cluster bootstrapping). Für virtualisierte DCs auf einem Hyper-V Cluster ist das Zucker.

Active Directory-less Cluster Bootstrapping
» http://blogs.technet.com/(…)enhanced-integration-with-active-directory-ad.aspx
Ein wichtiges Feature, um Domain Controller weitestgehend virtualisieren zu können und dafür Hyper-V Failover Cluster zu nutzen. Das Henne-Ei-Problem, das ein Cluster nicht ohne AD starten kann und ein DC nicht ohne Cluster auf dem er virtualisiert wurde ist damit passé.

Active Directory-Detached Cluster (Active Directory-less Cluster)
» https://technet.microsoft.com/en-us/library/dn265972.aspx#BKMK_ADAg
Diese Option sollte auf Grund der Einschränkungen gut überlegt werden:
» https://technet.microsoft.com/en-us/library/dn265970.aspx
Auch ist diese Möglichkeit nicht für jede Anwendung geeignet, die auf einem Cluster laufen soll. Selbst wenn man eine weitgehende Loslösung von Abhängigkeiten zu einem Active Directory erreichen kann, sollte man sich immer überlegen zu welchem Zweck und für welche Anwendungsfälle.
Hier ist noch einiges im Fluß für vNext und es gibt Kundenwünsche und Bestrebungen z.B. SQL Server Cluster gänzlich ohne ein Active Directory zu betreiben.
Wie ist Eure Meinung dazu? Hinterlasst mir einen Kommentar… 😉

Stay tuned,
N.Own

Microsoft Virtual Academy Kurs zu Failover Clustering

Diesmal ein Tipp zu einem richtig guten, kostenlosen Failover Clustering Kurs aus der Microsoft Virtual Academy (MVA). Warum das Videotraining so gut ist?

Elden Christensen, seines Zeichens Principal Program Manager für Clustering mit über einem Jahrzehnt Erfahrung im HA-Bereich und Symon Perriman, ehemaliger Microsoft Senior Technical Evangelist, halten diesen Kurs ab – das spricht doch schon für sich.

Hier der Online-Kurs:
» http://www.microsoftvirtualacademy.com/(…)failover-clustering(…)

Diese englischsprachigen Videos sollte sich jeder ansehen, der sich mit Failover Clustering in Windows Server 2012 R2 befasst.
Der ausführliche Kurs umfasst neun Module mit ca. 60 Minuten Laufzeit je Video:

  • Modul 1: Introduction
  • Modul 2: Cluster Deployment & Upgrades
  • Modul 3: Cluster Networking
  • Modul 4: Cluster Storage & Scale-Out File Server (SOFS)
  • Modul 5: Hyper-Clustering
  • Modul 6: Multi-Site Clustering & Disaster Recovery
  • Modul 7: Advanced Cluster Administration & Troubleshooting
  • Modul 8: Managing Clusters with System Center 2012 R2
  • Modul 9: Recommended Resources & Next Steps

Stay tuned,
N.Own

Shared RAID Controller

In Situationen, in denen man einen Failover Cluster unter Nutzung eines Shared RAID Controllers installieren möchte, wird es zu einer Fehlermeldung bei der Validierung kommen mit dem Hinweis:
Disk bus type does not support clustering„.

Shared RAID Controller kommen vor allem bei Bladesystemen zum Einsatz, bei denen einzelne Knoten denselben Controller nutzen, um auf ein lokales Disksubsystem zuzugreifen. So kommt es zur oben genannten Fehlermeldung, obwohl oft eine Shared Storage im Chassis verbaut ist.
Dies kommt z.B. bei einer » Dell VRTX (Sprich: Vertex) vor, die dieses Jahr erschienen ist.

Eine Installation des Features Windows Server Failover Cluster ist dennoch möglich, dazu sollte vorher ein Registry-key namens AllowBusTypeRAID in den Parametern von ClusDisk gesetzt werden:

» http://support.microsoft.com/kb/2839292/en-us
» http://en.community.dell.com/techcenter/extras/w/wiki(…)

Stay tuned,
N.Own

Netzwerkeinstellungen auf einem Cluster

„Best Practice“ Empfehlungen sind nicht immer passend zu jeder Lösung, die man aufbauen kann. Im Falle von Hyper-V gibt es recht klare Richtlinien bzgl. der Netzwerkkonfiguration auf einem Cluster, die man berücksichtigen sollte:

  • Trennung und Isolation der Netzwerke nach Einsatzzweck: Management, Live Migrations, Storage, Client Access, Backup etc.
  • Anpassung der Adapter und Bindungen (Network Binding Order)
  • Anpassung der Quality of Service Policy hinsichtlich der Prioritäten ab W2K12

Siehe folgenden Artikel für Hyper-V Cluster:
» http://technet.microsoft.com/library/dn550728.aspx

Bei Nutzung von Cluster Shared Volumes (CSV) sollte man die Metric überprüfen, i.d.R. wählt der Cluster das passende CSV Netzwerk selbst aus – eine Kontrolle kann nicht schaden:
» http://technet.microsoft.com/en-us/library/ff182335%28WS.10%29.aspx

Für Exchange 2013 sowie 2010 Verfügbarkeitsgruppen (Database Availability Groups – DAG) gibt es jeweils einen Artikel:
Exchange 2013: » http://technet.microsoft.com/(…)exchg.150%29.aspx#Dat
Exchange 2010: » http://technet.microsoft.com/(…)exchg.141%29.aspx#Dat

Grundlegende Empfehlungen, die für jeden Cluster gelten, sind hier zu finden:
TechNet Blog: » http://blogs.technet.com/(…)configuring-windows-failover-cluster-networks.aspx
MSDN Channel 9: » http://channel9.msdn.com/Events/TechEd/(…)

Die Empfehlungen des Herstellers sollte man mindestens prüfen und idealerweise entsprechend umsetzen, außer es gibt triftige Gründe gewisse Einstellungen anders zu wählen für den eigenen Anwendungsfall.

Stay tuned,
N.Own