Windows Server 2008 R2
Problemen met failoverclusters oplossen john marlin Als u zich geen uitval kunt veroorloven, kan de configuratie van failover-clusters in Windows Server helpen om bijna 100 procent consistente beschikbaarheid te realiseren. Een les in het aanpakken van problemen.
Windows Server is in de loop van de tijd veranderd, met verschillende versies, verschillende ondersteuningsniveaus en verschillende benaderingen voor het oplossen van problemen. Volgens het huidige ondersteuningsbeleid wordt een Failover Clustering-oplossing in Windows Server 2008 of Windows Server 2008 R2 als officieel door Microsoft Customer Support Services (CSS) ondersteund beschouwd als de oplossing aan de volgende criteria voldoet: • A lle hardware- en softwarecomponenten moeten aan de vereisten voor het logo ‘Certified for Windows Server 2008 R2’ voldoen. • De volledig geconfigureerde oplossing moet slagen voor de Validatetest in Failover Cluster Management. De kans dat alles naar behoren werkt, is het grootst als u zorgt dat u werkt met een versie met officiële ondersteuning. U kunt altijd te maken krijgen met probleempjes met hardware leveranciers of misschien hebt u de hulp van Microsoft nodig voor details van de configuratie, maar de kans is groot dat u in elk geval aan de slag kunt. In dit artikel bespreek ik een aantal van de vaker voorkomende problemen met Windows Server 2008 R2 Failover Clustering en hoe u die adequaat kunt aanpakken. 74
Clusters in beweging
Voor de liefhebbers van scripts biedt Failover Clustering nu ondersteuning voor Windows PowerShell. Daar zou u zich in moeten verdiepen, nu CLUSTER. EXE niet meer wordt geactualiseerd. Als u niet weet wat de cmdlets zijn en wat ze inhouden, voert u de opdracht GetHelp *Cluster* uit. Er verschijnt dan een lijst met beschrijvingen van de opdrachten, in deze vorm:
Met dit validatieproces test u de onderliggende hardware en software direct en afzonderlijk. Dat levert een accurate beoordeling op van hoe goed een bepaalde configuratie Failover Clustering ondersteunt. Als u de wizard uitvoert op een werkende cluster, wordt ook geëvalueerd of u zich aan de aanbevolen procedures houdt. Voer de wizard altijd uit als u nieuwe hardware of drivers aan de cluster toevoegt.
Als u niet weet hoe u een bepaalde opdracht moet opgeven, kunt u voorbeelden opvragen met (in dit voorbeeld) Get-Help New-Cluster –Examples:
In Windows Server 2008 R2 is de manier waarop clusters worden gekwalificeerd, aanzienlijk gewijzigd met de introductie van de wizard Cluster Validation die in Failover Clustering is geïntegreerd. Met de wizard Cluster Validation voert u een set gerichte tests uit op een verzameling servers die u als nodes in een cluster wilt gaan gebruiken.
Als u merkt dat events worden geregistreerd in Windows, is het altijd verstandig om te achterhalen wat ze inhouden. Ze zijn niet allemaal even helder onder woorden gebracht. Online is een lijst beschikbaar van alle events die u kunt tegenkomen, met de bijbehorende beschrijvingen.
Name Synopsis ---- -------New-Cluster Create a new failover cluster. Before you can create a cluster, you must...
NAME: New-Cluster SYNOPSIS Create a new failover cluster. Before you can create a must connect the hardware (servers, networks, and storage), and run the validation tests. -------------------------- EXAMPLE 1 ------------------------- C:\PS>New-Cluster -Name cluster1 -Node node1,node2,node3,node4 Name --- cluster1
Beschrijving ---------- This command creates a four-node cluster named cluster1, using default settings for IP addressing.
Eventlogs geven de richting aan
Als u met een probleem te maken krijgt, is Cluster Events een van de eerste plaatsen waar u moet gaan zoeken. In de eventlog van het systeem vindt u alle kritieke fouten, andere fouten en waarschuwingen. Informatieberichten, bijvoorbeeld over groepen die offline gaan of naar een andere node worden verplaatst, vindt u in het operationele kanaal van de cluster. U roept de events op met Event Viewer / Application en Services Logs / Microsoft / Windows / FailoverClustering. Als u niet precies weet met welk probleem u te maken heeft voor een bepaalde service of applicatiegroep, kunt u het probleem bekijken in Failover Cluster Management. Als u een bepaalde groep hebt gemarkeerd, selecteert u ‘Show Critical Events for this application’. Als u een bepaalde resource hebt gemarkeerd, selecteert u ‘Show the critical events for this resource’. Daarmee opent u de eventlog van het systeem, gefilterd voor de specifieke groep of resource en roept u alle vermeldingen in de eventlog van het systeem voor alle nodes in de cluster op. Dit kan handig zijn, omdat u op deze wijze alles vanuit één locatie ziet.
Als u hebt achterhaald om welke resource het gaat, gaat u naar de eventlogs van het systeem om te zien of andere factoren een rol spelen. Laat u niet afleiden door het symptoom en richt u op de achterliggende oorzaak. Voor een fout met een netwerknaam of een IP-adres gaat u bijvoorbeeld na of er andere netwerkevents zijn die daar een rol in kunnen spelen, zoals fouten in de TCPIP-stack of storingen van netwerkkaarten. Voor debug-logging van clusters is overgestapt op traceersessies voor events. CLUSTER.LOG bestaat niet meer in de oude vorm. Het systeem schrijft nu naar ETL-bestanden (extraheren, transformeren en laden) in de map %WinDir%\System32\winevt\logs. Uit deze ETL-bestanden kunt u zelf één bestand CLUSTER.LOG genereren dat vanuit alle drie kan worden bekeken. Dit is wel een momentopname. Anders gezegd, als u uw eigen CLUSTER.LOG genereert, wordt er niet meer geschreven naar het bestand CLUSTER.LOG zelf. Telkens als u het bestand genereert op een node, wordt het huidige bestand overschreven en door het nieuwe vervangen. U kunt logboeken genereren met de opdracht Get-ClusterLog van Windows
Powershell. Deze opdracht gaat naar alle nodes in de cluster en maakt het bestand in de map %WinDir%\Cluster\ Reports op elke node. Afhankelijk van het aantal nodes en de grootte van de bestanden, kan het slim zijn om extra opties op te geven. Stel dat u een cluster met negen nodes hebt en alle logboeken wilt opvragen. Met de schakeloptie –Destination geeft u opdracht om ze allemaal te genereren en naar een specifieke locatie te kopiëren. De logboeken staan dan op één plek bij elkaar. Ook wordt de naam van de node opgenomen in de bestandsnaam (met Get-ClusterLog –Destination c:\ logs maakt u bijvoorbeeld Node1_Cluster.log, Node2_cluster.log enzovoort aan in de map C:\LOGS). Een andere aanbeveling voor problemen die eenvoudig te reproduceren zijn: geef de schakeloptie –Timespan op (met de waarde in minuten). Reproduceer het probleem op de node en voer Get-ClusterLog –Timespan 5 –Node Node1 uit. Zo genereert u CLUSTER.LOG alleen voor Node1 en legt u uitsluitend de laatste vijf minuten vast. Nog een aantal tips voor probleemoplossing op dit niveau:
TechNet Magazine | november 2011 75
Figuur 1: De nieuwe cluster validation wizard voert op de te cluseren infrastructuur een reeks tests uit
• H et logboek is breedsprakig en complex. Het is niet het ideale jachtterrein voor een speurtocht naar een probleem. • Zorg dat het logboek voor minstens drie dagen aan gegevens kan bevatten. Als er vrijdagavond een storing optreedt, hebt u zo de juiste gegevens nog als u op maandag op uw werk komt. De logboeken zijn standaard per stuk 100 MB groot. Als u ze groter wilt maken, geeft u de Windows Powershell-opdracht Set-Clusterlog –Size 200 op (of een andere grootte in megabyte). • Bepaalde applicaties genereren veel tekst in de logboeken en nemen dus veel ruimte in beslag. Als u daarmee te maken krijgt, moet u het logboek mogelijk groter maken. • Het debug-logboek van de cluster wordt in GMT gegenereerd. U moet de tijd dus omzetten naar de lokale tijd om te weten wanneer de event plaats heeft gevonden. • Geef –Destination of –Timespan op, afhankelijk van wat u wilt zien.
Scenario’s voor het oplossen van problemen met failover-clusters
De configuratie van failover-clusters in Windows Server kan helpen om bijna 100 procent consistente beschikbaarheid te realiseren. Hieronder bespreek ik een aantal mogelijke scenario’s voor het oplossen van problemen. Ik heb eerder in dit artikel al een aantal van de vaker voorkomende problemen 76
met Windows Server 2008 R2 Failover Clustering besproken, en hoe deze adequaat aan te pakken. Hieronder behandel ik verschillende scenario’s waarmee u problemen die u tegenkomt, sneller en beter geïnformeerd kunt oplossen. Deze scenario’s hebben betrekking op vaker voorkomende problemen in ondersteunde failoverclusters onder Windows 2008 R2 en op de stappen om ze te verhelpen.
Scenario 1: We waren bezig met de maandelijkse schoonmaak van de Active Directory objecten en hebben per ongeluk het clusternaamobject verwijderd. We hebben een nieuwe aangemaakt, maar deze wil maar niet online komen.
Het clusternaamobject (CNO) is van essentieel belang want het geeft de gemeenschappelijke identiteit van de cluster aan. Het wordt automatisch door de wizard Create Cluster gemaakt en heeft dezelfde naam als de cluster. Via deze account maakt het andere virtuele computerobjecten (VCO’s) in de cluster voor nieuwe services en applicaties die u in de cluster configureert. Als u het CNO verwijdert of machtigingen ervan wist, kunnen andere objecten die nodig zijn voor de cluster niet worden gemaakt totdat u het CNO herstelt of de machtigingen ervan opnieuw opgeeft. Net als alle andere objecten in Active
Directory heeft het CNO een bijbehorende object-GUID. Zo weet de failover-cluster dat u met het juiste object te maken hebt. Als u gewoon een nieuw object maakt, wordt ook een nieuwe object-GUID gemaakt. Wat we in plaats daarvan moeten doen, is het juiste object herstellen, zodat de failover-cluster verder kan met het normale werk. Bij het oplossen van dit probleem moeten we twee zaken uit de clusterresource achterhalen. Voer vanuit Windows PowerShell de volgende opdracht uit: Get-ClusterResource “Cluster Name” | Get-ClusterPara meterCreatingDC,objectGUID Hiermee haalt u de benodigde waarden op. Als eerste hebben we de parameter CreatingDC nodig. Als Failover-cluster het CNO maakt, noteren we de domeincontroller (DC) waarop het object wordt gemaakt. Voor alles wat we op de cluster moeten doen (VCO’s maken, namen online brengen, enzovoort), weten we dat we bij die DC moeten zijn om het object en de beveiliging ervan op te halen. Als we een object niet op die DC aantreffen of die DC niet beschikbaar is, gaan we op andere DC’s zoeken die wel reageren, maar we weten dat we eerst op de Creating DC moeten kijken. De tweede parameter is de object-GUID, zodat we weten dat we het over het juiste object hebben. In ons voorbeeld is de clusternaam CLUSTER1, de Creating DC DC1
De AdRestore-tool, gemaakt door Mark Russinovich, kunt u downloaden van de microsoft.com sysinternals sub-site
Object Name Value ------------Cluster Name CreatingDC \\DC1.domain.com Cluster Name ObjectGUID1a3cf049cf79614ebd94670560da6f04
Get-ADObject –filter ‘isdeleted –eq $true –and samAccountName –eq “CLUSTER1$”’ –includeDelectedObjects –property * | FormatListsamAccountName,objectGUID
en de object-GUID 1a3cf049cf79614ebd94670560da6f04, als volgt: We melden ons aan op computer DC1 en voeren daar Active Directory Users and Computers uit. Als we een huidig object CLUSTER1 vinden, gaan we kijken of dat de juiste kenmerken heeft Een opmerking over de vermelding die u ziet verschijnen. De attribuut-editor van Active Directory laat u de GUID in eerste instantie niet zien zoals u die hier ziet, omdat de GUID niet in hexadecimale notatie wordt weergegeven. U ziet eerst 49f03c1a-79cf-4e61-bd94670560da6f04. Voor de hexadecimale notatie wordt een omwisseling gebruikt die in paren werkt, en dat kan verwarrend zijn. Als u de eerste acht paren tekens neemt en die omwisselt, wordt 49f03c1a omgezet in 1a3cf049. Als u de volgende twee paren omwisselt, wordt
79cf omgezet in cf79 en vervolgens wordt 4e61 omgezet in 614e. De resterende paren worden niet omgezet. U moet de eigenschappen van de objectGUID weergeven in de attribuut-editor om de hexadecimale notatie te zien die Failover-clustering ziet. Omdat dit niet het juiste object is, moeten we het eerst verwijderen zodat we ruimte maken voor het juiste object dat we gaan herstellen. We kunnen het object op verschillende manieren herstellen. We kunnen een Restore-bewerking van Active Directory, een hulpprogramma zoals ADRESTORE of de nieuwe Recycle Bin (prullenbak) van Active Directory gebruiken (voor het laatste moet u werken met een Windows 2008 R2-DC met een bijgewerkt schema). Met de nieuwe Recycle Bin van Active Directory gaan dit soort zaken
veel eenvoudiger. Het is de meest probleemloze procedure om verwijderde Active Directory-objecten te herstellen. In de Recycle Bin van Active Directory kunnen we met de volgende opdracht van Windows PowerShell naar objecten zoeken: Met die opdracht zoeken we naar alle verwijderde objecten met de naam CLUSTER1 in de Recycle Bin van Active Directory. We krijgen de accountnaam en de object-GUID te zien. Als er meerdere items worden gevonden, worden ze allemaal weergegeven. Als we het gewenste object hebben gevonden, geven we het als volgt weer: samAccountName : CLUSTER1$ objectGUID:49f03c1a-79cf4e61-bd94-670560da6f04 Nu gaan we het herstellen. Nadat we het onjuiste object hebben verwijderd, gebruiken we de volgende herstelopdracht van Windows PowerShell: Restore-ADObject –identity 49f03c1a-79cf-4e61bd94-670560da6f04 Hiermee herstelt u het object op dezelfde locatie (organisatie-eenheid ofwel OU), met dezelfde machtigingen en hetzelfde wachtwoord voor de computeraccount, zoals bekend bij Active Directory. TechNet Magazine | november 2011 77
Event ID 5121 VMs kunnen een Cluster Shared Volume (CSV) gebruiken indien de verbinding tussen de clusternodes en CSV goed functioneert Dit is een van de voordelen van de Recycle Bin van Active Directory in vergelijking met een hulpprogramma zoals ADRESTORE. Met ADRESTORE moet u het wachtwoord opnieuw instellen, het object naar de juiste OU verplaatsen, het object repareren in Failover Clustering, enzovoort. Met de Recycle Bin van Active Directory hoeven we de clusternaamresource alleen online te brengen. Dit is ook een betere optie dan het herstellen van Active Directory, met name als u te maken hebt met nieuwe computer- of gebruikersobjecten die zijn gemaakt of met oude objecten die niet meer bestaan en opnieuw zouden moeten verwijderd.
Scenario 2: Voor mijn gedeelde clustervolumes krijg ik een bericht ‘Redirected Access’ in Failover Cluster Management. Hoe lossen we dat op? Laten we eerst de definitie van gedeelde clustervolumes (Cluster Shared Volumes, CSV’s) snel opfrissen. Met CSV’s worden configuratie en beheer van Hyper-V VM’s (virtuele machines) in failoverclusters vereenvoudigd. Met CSV’s op een failover-cluster waarop met Hyper-V wordt gewerkt, kunnen meerdere VM’s dezelfde LUN (schijf) gebruiken, maar onafhankelijk van elkaar een failover uitvoeren (ofwel van de ene node naar een andere gaan). Een CSV biedt grotere flexibiliteit voor volumes in clusteropslag. U kunt bijvoorbeeld systeembestanden gescheiden houden van gegevens om de schijfprestaties te optimaliseren, ook als de systeembestanden en de gegevens opgenomen zijn in VHD-bestanden (virtual hard disk). Zorg dat in de eigenschappen van alle netwerkadapters die clustercommu78
nicatie verzorgen, ‘Client for Microsoft Networks’ en ‘File and Printer Sharing for Microsoft Networks’ zijn ingeschakeld, zodat ze SMB (Server Message Block) ondersteunen. Voor CSV is dit vereist. Op de server wordt Windows Server 2008 R2 uitgevoerd, waardoor de server automatisch de voor CSV vereiste SMB-versie (SMB2) levert. Er is slechts één voorkeursnetwerk voor CSV-communicatie, maar als u deze instellingen inschakelt op verschillende netwerken, vergroot dat de weerbaarheid van de cluster tegen storingen. ‘Redirected Access’ houdt in dat alle I/O-bewerkingen via het netwerk worden omgeleid naar een andere node die wel toegang tot het station heeft. Een schijf kan in wezen om drie redenen in de modus Redirected Access staan: 1. U hebt de schijf handmatig in de modus Redirect Access geplaatst 2. Er wordt momenteel een backup uitgevoerd 3. Er zijn hardware problemen en de node heeft geen directe toegang tot het station In ons scenario hebben we opties 1 en 2 uitgesloten en houden we optie 3 over. Als we in de eventlog van het systeem kijken, treffen we de event ‘Event ID: 5121’ van Failover-clustering aan. Dit is de definitie van die logboekvermelding: Het gedeelde clustervolume ‘Clusterschijf x’ is niet meer rechtstreeks toegankelijk vanaf deze clusternode. De I/O-toegang wordt via de clusternode die eigenaar is van het volume in het netwerk, omgeleid naar het opslagapparaat. Dit kan de prestaties negatief beïnvloeden Als omgeleide toegang is ingeschakeld voor dit volume, moet u dit uitschakelen. Als omgeleide toegang is uitgeschakeld, moet
u eventuele problemen met de verbindingen van de node met het opslagapparaat oplossen, waarna de normale I/O-bewerkingen worden hervat zodra de verbinding met het opslagapparaat is hersteld. Met die definitie in gedachten gaan we op zoek naar eventuele hardware-events die net voor deze event hebben plaatsgevonden. We zoeken dan naar events zoals 9, 11 of 15, die wijzen op hardware- of communicatieproblemen. We gaan in Disk Management kijken of we de fysieke schijf kunnen zien. Meestal zien we een aantal andere fouten. Als we het probleem aan de backend hebben opgelost, kunnen we de schijf uit deze modus halen. Bedenk daarbij dat het CSV blijft werken zolang minstens één node kan communiceren met het netwerk waarop het opslagapparaat is aangesloten. Dat is dan ook in ‘redirected’ (omgeleide) modus. Alle schrijfbewerkingen naar het station worden naar de node geschreven die kan communiceren en de Hyper-V VM’s blijven draaien. De prestaties van die VM’s worden misschien minder, maar ze blijven werken. Zo valt onze productie nooit echt uit, en dat is goed.
Scenario 3: Ik heb net een gloednieuw failover-cluster onder Windows 2008 R2 gemaakt die ik wil gebruiken voor VM’s met high availability. Ik heb de stations ingesteld voor CSV, maar als ik ze wil openen, blijven zowel Explorer als Disk Management hangen. Ik kan mijn VHD’s niet naar het station kopiëren om dit aan de praat te krijgen. Er is maar één ‘werkelijke’ eigenaar van het station. Dat is de coördinator node. Alle mogelijke schrijfbewerkingen voor metadata naar het station worden uitsluitend door deze node uitgevoerd.
Figuur 2: Na de test geeft de cluster validation wizard een overzicht van de testresultaten
Als u Explorer of Disk Management opent, wil dat programma het station openen om eventuele metadata te schrijven (als dat de bedoeling is). Elk station waarvan de coördinator node geen eigenaar is, wordt daarom via het netwerk naar deze node omgeleid. Dat is een ander geval dan een station dat in ‘redirected access’ staat. Als u in Failover Cluster Management gaat kijken om dit probleem op te lossen, wordt het station daar als online gemeld. U gaat dan eerst kijken welke events zijn geregistreerd. In de eventlog van het systeem kunt u de volgende events van Failover Clustering tegenkomen: Event-ID: 5120 Cluster Shared Volume ‘Cluster Disk x’ is no longer available on this node because of ‘STATUS_BAD_NETWORK_ PATH(c00000be).’ All I/O will temporarily be queued until a path to the volume is reestablished. Event-ID: 5142 Cluster Shared Volume ‘Cluster Disk x’ is no longer accessible from this cluster node because of error ‘ERROR_TIMEOUT(1460).’ Please troubleshoot this node’s connectivity to the storage device and network connectivity. Die vermeldingen in de eventlog gaan over timeouts bij pogingen om de coördinator node via het netwerk te bereiken. Als volgende stap gaat u daarom kijken of in de eventlog van het systeem andere fouten zijn opgeslagen die wijzen op problemen in de netwerkverbinding tussen de nodes. Als dat het
geval is, moet u die problemen oplossen. Dit soort fouten wordt vaak veroorzaakt door een defecte of uitgeschakelde netwerkkaart. Daarna controleert u de basiswerking van de netwerkverbinding tussen de nodes. Eerst bepaalt u welk netwerk het CSV-verkeer verzorgt. Failover-clustering kiest het netwerk voor CSV op basis van de hoogste metrische waarde. Dit wijkt af van de manier waarop Windows het netwerk identificeert. De NETFT-adapter (Failover-cluster Network Fault Tolerance) heeft een eigen metrisch systeem voor intern gebruik. Alle netwerken met een standaardgateway die door de adapter worden gedetecteerd, ontvangen de metrische waarde 10000, 10100, enzovoort. Alle netwerken zonder standaardgateway beginnen met 1000, 1100, enzovoort. In Windows PowerShell kunt u met de opdracht Get-ClusterNetwork | FT Name, Metric, Role de waarden opvragen die de NETFT-adapter voor de netwerken heeft gedefinieerd. U ziet dan iets als het volgende: Name Metric ------------------Management 10100 CSV Traffic 1000 LAN-WAN 10000 Private 1100 Bij deze vier netwerken heet het netwerk dat ik als CSV heb geïdentificeerd, CSV Traffic. Voor dit netwerk gebruik ik 1.1.1.1 als IP-adres voor Node1 en 1.1.1.2 voor Node2. Ik kan dan de basisfunctionaliteit van de netwerkverbinding
testen met een PING tussen deze IP-adressen. Als volgende stap proberen we een SMB-verbinding te maken met deze IP-adressen. Dat is precies wat Failover Clustering ook doet. Met de simpele opdracht NET VIEW \\1.1.1.1 zien we of er wordt gereageerd. U moet een lijst met shares zien verschijnen, of het bericht: ‘There are no entries in the list’. Dat geeft aan dat u een verbinding met de desbetreffende share kunt maken. Als u echter het bericht ‘System error 53 has occurred. The network path was not found’ ontvangt, wijst dat op een TCP/IP-configuratieprobleem met de netwerkkaart. Voor CSV moet u ‘Client for Microsoft Networks’ en ‘File and Printer Sharing for Microsoft Networks’ inschakelen op de netwerkkaart. Als u dat niet doet, krijgt u te maken met het probleem dat Explorer vastloopt. Schakel de opties wel in en u kunt aan de slag. In Windows 2003 Server Cluster en eerdere versies was de aanbevolen procedure om deze opties uit te schakelen. Nu is dat niet meer het geval en u ziet hoe dat de boel kan opbreken.
Andere factoren
Er zijn een paar andere factoren waar u rekening mee moet houden. Als u op uw cluster nodes te maken krijgt met RHS-storingen (Resource Host Subsystem), zijn de aard en de rol van RHS van belang. RHS is een onderdeel van Failover Clustering dat een grote rol speelt bij de statuscontrole van onderTechNet Magazine | november 2011 79
uw procedures te testen. Gebruik het als u iets aan uw systeem wijzigt.
Figuur 3: Op www.windowsservercatalog.com vind u een overzicht van de door CSS ondersteunde hardware, een voorwaarde náást validatie
delen om te zorgen dat alles blijft lopen. Voor IP-adressen controleert RHS of een adres aanwezig is in de netwerkstack en of het reageert. Voor schijven probeert het verbinding met de schijf te maken en een DIR-opdracht uit te voeren. Als u te maken krijgt met een crash van RHS, ziet u de ID’s 1230 en 1146 in de eventlog van het systeem. Voor event 1230 geeft het de resource aan, met de gebruikte resource-DLL. Als RHS crasht, wil dat zeggen dat de resource niet naar behoren reageert en mogelijk in een impasse verkeert. Als de crash te maken heeft met een schijfresource, gaat u op zoek naar fouten die met de schijf te maken hebben of naar trage werking van de schijf. Performance Monitor uitvoeren kan een goed begin zijn. Ook het bijwerken van drivers/firmware van de kaarten of de backend zijn het overwegen waard. U gaat ook wat detectiewerk voor de gebruikersmodus doen. Failover-clustering voert statuscontrole uit vanuit de kernel-modus naar een procedure in de gebruikersmodus om te detecteren wanneer de gebruikersmodus niet meer reageert of vastloopt. Het programma zal het apparaat dan op bugs controleren om deze toestand te verhelpen. U ziet dan een bericht ‘Stop 0x0000009E’. U moet het dumpbestand dat wordt gemaakt, doornemen op vastlopers. U kunt dan het beste ook zorgen dat Performance Monitor draait en daarmee zoeken naar alles wat zou kunnen zijn vastgelopen, naar geheugenlekken, enzovoort. 80
Failover-clustering is afhankelijk van Windows Management Instrumentation (WMI). Als u problemen hebt met WMI, krijgt u onvermijdelijk ook problemen met Failover Clustering (nodes maken en toevoegen, migreren). Voer controles uit op WMI, zoals WBEMTEST.EXE. U kunt ook met externe WMI-scripts werken. Eén script dat u vanuit Windows PowerShell kunt uitvoeren (in dit voorbeeld staat NODE1 voor de naam van de werkelijke node):
get-wmiobjectmscluster_resourcegroup -computer NODE1 -namespace “ROOT\ MSCluster”
Hiermee maakt u een WMI-verbinding met de cluster en haalt u informatie over de groepen op. Als dat script niet naar behoren werkt, hebt u te maken met WMI-problemen. Mogelijk zijn de WMI-services gestopt en moet u ze opnieuw starten. Ook kan de WMI-opslagplaats beschadigd zijn geraakt (controleer met de opdracht winmgmt /salvagerepository van Windows PowerShell of de opslagplaats consistent is). Enkele punten over probleemoplossing op een rijtje: • V alideer, valideer en valideer nogmaals. Gebruik Cluster Validation voor probleemoplossing. Gebruik het om
• A lles gaat de kant van Windows PowerShell op. Als u dat nog niet kent, is het tijd om ermee te gaan experimenteren. • W e zijn afhankelijk van Active Directory-objecten, dus bescherm uzelf. Schakel de Recycle Bin van Active Directory in en bescherm objecten tegen onopzettelijk verwijderen. • G a niet altijd meteen uit van hardware storingen als u problemen met CSV’s moet oplossen. • N eem wat afstand als u een probleem moet oplossen en neem alles onder ogen dat een rol kan spelen. Ga daarna gerichter zoeken. • F ailover Clustering is bedoeld om problemen te detecteren, ervan te herstellen en erover te rapporteren. Het feit dat de cluster u meldt dat er een probleem is of was, wil niet zeggen dat de cluster ook de oorzaak is. U kent het gezegde: “Don’t shoot the messenger”.
john marlin is als Senior Support Escalation Engineer werkzaam bij de Commercial Technical Support Group. Hij is al meer dan 19 jaar aan Microsoft verbonden en heeft zich de laatste 14 jaar op clusterservers gericht.
Verwante artikelen • PKI Enhancements in Windows 7 and Windows Server 2008 R2 • Windows Server 2008 Tips • Windows Server 2008 R2: A Primer • Achieving High Availability for Hyper-V • Create a New Failover-cluster in 12 Steps Geek of All Trades: Simple Clustering with Hyper-V