Dela via


Medvetenhet om felområden

Redundansklustring gör det möjligt för flera servrar att arbeta tillsammans för att ge hög tillgänglighet – eller på ett annat sätt ge nodfeltolerans. Men dagens företag kräver allt större tillgänglighet från sin infrastruktur. För att uppnå molnliknande drifttid måste även mycket osannolika händelser som chassifel, rackavbrott eller naturkatastrofer skyddas mot. Därför introducerade redundanskluster i Windows Server 2016 även chassi-, rack- och platsfeltolerans.

Felområden och feltolerans

Begrepp som är nära relaterade till fältdomäner och feltolerans. En feldomän är en uppsättning maskinvarukomponenter som delar en enskild felpunkt. För att vara feltolerant mot en viss nivå behöver du flera feldomäner på den nivån. Om du till exempel vill vara rackfeltolerant måste dina servrar och dina data distribueras över flera rack.

Den här korta videon visar en översikt över feldomäner i Windows Server 2016.

Medvetenhet om feldomän i Windows Server 2019

Feldomänmedvetenhet är tillgängligt i Windows Server 2019, men det är inaktiverat som standard och måste aktiveras via Windows-registret.

Om du vill aktivera feldomänmedvetenhet i Windows Server 2019 går du till Windows-registret och anger (Get-Cluster). AutoAssignNodeSite registernyckel till 1.

    (Get-Cluster).AutoAssignNodeSite=1

Om du vill inaktivera feldomänmedvetenhet i Windows 2019 går du till Windows-registret och anger (Get-Cluster). AutoAssignNodeSite registernyckel till 0.

    (Get-Cluster).AutoAssignNodeSite=0

Fördelar

  • Lagringsutrymmen, inklusive direkta lagringsutrymmen, använder feldomäner för att maximera datasäkerheten. Motståndskraft i lagringsutrymmen konceptuellt liknar distribuerad, programvarudefinierad RAID. Flera kopior av all data hålls synkroniserade, och om hårdvaran skulle misslyckas och en kopia går förlorad, kopieras de övriga kopiorna för att återställa motståndskraften. För att uppnå bästa möjliga återhämtning bör kopior förvaras i separata feldomäner.

  • Health Service- använder feldomäner för att ge fler användbara aviseringar. Varje feldomän kan associeras med platsmetadata, som automatiskt inkluderas i efterföljande aviseringar. Dessa beskrivningar kan hjälpa drifts- eller underhållspersonal och minska fel genom att skilja maskinvara.

  • Stretchkluster använder feldomäner för lagringsaffinitet. Stretchkluster gör att fjärranslutna servrar kan ansluta till ett gemensamt kluster. För bästa prestanda bör program eller virtuella datorer köras på servrar som finns i närheten av dem som tillhandahåller sin lagring. Feldomänmedvetenhet möjliggör den här lagringsassociationen.

Nivåer av feldomäner

Det finns fyra kanoniska nivåer av feldomäner – plats, rack, chassi och nod. Noder identifieras automatiskt. varje ytterligare nivå är valfri. Om din distribution till exempel inte använder bladservrar kanske chassinivån inte är relevant för dig.

Diagram över olika nivåer av feldomäner

Användning

Du kan använda PowerShell- eller XML-markering för att ange feldomäner. Båda metoderna är likvärdiga och ger fullständig funktionalitet.

Viktigt!

Ange feldomäner innan du aktiverar Lagringsutrymmen Direkt, om möjligt. På så sätt kan den automatiska konfigurationen förbereda poolen, nivåerna och inställningarna, till exempel återhämtning och kolumnantal, för chassi- eller rackfeltolerans. När poolen och volymerna har skapats flyttas inte data retroaktivt som svar på ändringar i feldomäntopologin. Om du vill flytta noder mellan chassin eller rack när du har aktiverat Storage Spaces Direct bör du först ta bort noden och dess enheter från poolen med hjälp av Remove-ClusterNode -CleanUpDisks.

Definiera feldomäner med PowerShell

Windows Server 2016 introducerar följande cmdletar för att arbeta med feldomäner:

  • Get-ClusterFaultDomain
  • Set-ClusterFaultDomain
  • New-ClusterFaultDomain
  • Remove-ClusterFaultDomain

Den här korta videon visar användningen av PowerShell-kommandon för klusterfeldomän.

Använd Get-ClusterFaultDomain för att se den aktuella feldomäntopologin. Detta visar en lista över alla noder i klustret, plus eventuella chassin, rack eller platser som du har skapat. Du kan filtrera med parametrar som -Type eller -Name, men dessa krävs inte.

Get-ClusterFaultDomain
Get-ClusterFaultDomain -Type Rack
Get-ClusterFaultDomain -Name "server01.contoso.com"

Använd New-ClusterFaultDomain för att skapa nya chassin, rack eller platser. Parametrarna -Type och -Name är obligatoriska. Möjliga värden för -Type är Chassis, Rackoch Site. -Name kan vara valfri sträng. (För Node typfeldomäner måste namnet vara det faktiska nodnamnet, som anges automatiskt).

New-ClusterFaultDomain -Type Chassis -Name "Chassis 007"
New-ClusterFaultDomain -Type Rack -Name "Rack A"
New-ClusterFaultDomain -Type Site -Name "Shanghai"

Viktigt!

Windows Server kan inte och verifierar inte att eventuella feldomäner som du skapar motsvarar något i den verkliga fysiska världen. (Detta kan låta uppenbart, men det är viktigt att förstå.) Om dina noder i den fysiska världen alla finns i ett rack, ger skapandet av två -Type Rack feldomäner i programvara inte magiskt rackfeltolerans. Du ansvarar för att säkerställa att topologin du skapar med hjälp av dessa cmdletar matchar den faktiska ordningen för din maskinvara.

Använd Set-ClusterFaultDomain för att flytta en feldomän till en annan. Termerna "parent" och "child" används ofta för att beskriva den här hierarkiska relationen. Parametrarna -Name och -Parent är obligatoriska. I -Nameanger du namnet på feldomänen som flyttas. i -Parentanger du namnet på målet. Om du vill flytta flera feldomäner samtidigt anger du deras namn.

Set-ClusterFaultDomain -Name "server01.contoso.com" -Parent "Rack A"
Set-ClusterFaultDomain -Name "Rack A", "Rack B", "Rack C", "Rack D" -Parent "Shanghai"

Viktigt!

När feldomäner flyttas flyttas deras underordnade med dem. I exemplet ovan, om Rack A är den överordnade enheten för server01.contoso.com, behöver servern inte flyttas separat till platsen i Shanghai – den finns redan där tack vare att dess överordnade enhet är där, precis som i den fysiska världen.

Du kan se föräldra-barn-relationer i utdata från Get-ClusterFaultDomain, i kolumnerna ParentName och ChildrenNames.

Du kan också använda Set-ClusterFaultDomain för att ändra vissa andra egenskaper för feldomäner. Du kan till exempel ange valfria -Location eller -Description metadata för alla feldomäner. Om den tillhandahålls inkluderas den här informationen i maskinvaruaviseringar från hälsotjänsten. Du kan också byta namn på feldomäner med hjälp av parametern -NewName. Byt inte namn på feldomäner av typen Node.

Set-ClusterFaultDomain -Name "Rack A" -Location "Building 34, Room 4010"
Set-ClusterFaultDomain -Type Node -Description "Contoso XYZ Server"
Set-ClusterFaultDomain -Name "Shanghai" -NewName "China Region"

Använd Remove-ClusterFaultDomain för att ta bort chassin, rack eller platser som du har skapat. Parametern -Name krävs. Du kan inte ta bort en felsdomän som innehåller underordnade – först måste du antingen ta bort dessa underordnade eller flytta dem utanför med hjälp av Set-ClusterFaultDomain. Om du vill flytta en feldomän utanför alla andra feldomäner anger du dess -Parent till den tomma strängen (""). Du kan inte ta bort feldomäner av typen Node. Om du vill ta bort flera feldomäner samtidigt anger du deras namn.

Set-ClusterFaultDomain -Name "server01.contoso.com" -Parent ""
Remove-ClusterFaultDomain -Name "Rack A"

Definiera feldomäner med XML-kod

Feldomäner kan anges med hjälp av en XML-inspirerad syntax. Vi rekommenderar att du använder din favorittextredigerare, till exempel Visual Studio Code (tillgängligt kostnadsfritt här) eller Anteckningar för att skapa ett XML-dokument som du kan spara och återanvända.

Den här korta videon visar användningen av XML för att ange feldomäner i redundanskluster.

Kör följande cmdlet i PowerShell: Get-ClusterFaultDomainXML. Detta returnerar den aktuella feldomänspecifikationen för klustret som XML. Detta återspeglar alla upptäckta <Node>, omslutna av öppnande och avslutande <Topology> taggar.

Kör följande för att spara utdata i en fil.

Get-ClusterFaultDomainXML | Out-File <Path>

Öppna filen och lägg till taggarna <Site>, <Rack>och <Chassis> för att ange hur dessa noder fördelas mellan platser, rack och chassin. Varje tagg måste identifieras med ett unikt Namn. För noder måste du behålla nodens namn som ifyllt som standard.

Viktigt!

Även om alla ytterligare taggar är valfria måste de följa den transitiva plats-> Rack > Chassis > Node-hierarkin och måste stängas korrekt. Förutom namn kan friform Location="..." och Description="..." attribut läggas till i valfri tagg.

Exempel: Två platser, ett rack vardera

<Topology>
  <Site Name="SEA" Location="Contoso HQ, 123 Example St, Room 4010, Seattle">
    <Rack Name="A01" Location="Aisle A, Rack 01">
      <Node Name="Server01" Location="Rack Unit 33" />
      <Node Name="Server02" Location="Rack Unit 35" />
      <Node Name="Server03" Location="Rack Unit 37" />
    </Rack>
  </Site>
  <Site Name="NYC" Location="Regional Datacenter, 456 Example Ave, New York City">
    <Rack Name="B07" Location="Aisle B, Rack 07">
      <Node Name="Server04" Location="Rack Unit 20" />
      <Node Name="Server05" Location="Rack Unit 22" />
      <Node Name="Server06" Location="Rack Unit 24" />
    </Rack>
  </Site>
</Topology>

Exempel: två chassibladservrar

<Topology>
  <Rack Name="A01" Location="Contoso HQ, Room 4010, Aisle A, Rack 01">
    <Chassis Name="Chassis01" Location="Rack Unit 2 (Upper)" >
      <Node Name="Server01" Location="Left" />
      <Node Name="Server02" Location="Right" />
    </Chassis>
    <Chassis Name="Chassis02" Location="Rack Unit 6 (Lower)" >
      <Node Name="Server03" Location="Left" />
      <Node Name="Server04" Location="Right" />
    </Chassis>
  </Rack>
</Topology>

Om du vill ange den nya feldomänspecifikationen sparar du xml-koden och kör följande i PowerShell.

$xml = Get-Content <Path> | Out-String
Set-ClusterFaultDomainXML -XML $xml

Den här guiden visar bara två exempel, men taggarna <Site>, <Rack>, <Chassis>och <Node> kan blandas och matchas på flera sätt för att återspegla distributionens fysiska topologi, oavsett vad det kan vara. Vi hoppas att de här exemplen illustrerar flexibiliteten i dessa taggar och värdet av frihandsbegränsade platsbeskrivningar för att skilja dem åt.

Valfritt: Plats- och beskrivningsmetadata

Du kan ange valfria Plats eller Beskrivning metadata för vilken feldomän som helst. Om den tillhandahålls inkluderas den här informationen i maskinvaruaviseringar från hälsotjänsten.

Den här korta videon visar värdet för att lägga till platsbeskrivningar i feldomäner.