장애 도메인 인식

적용 대상: Windows Server 2022, Windows Server 2019, Windows Server 2016, Azure Stack HCI, 버전 21H2 및 20H2

장애 조치(failover) 클러스터링을 사용하면 여러 서버가 함께 작동하여 고가용성을 제공하거나, 또 다른 방식으로 노드 내결함성을 제공할 수 있습니다. 그러나 오늘날의 비즈니스는 인프라에서 점점 더 많은 가용성을 요구합니다. 클라우드와 같은 가동 시간을 달성하려면 섀시 고장, 랙 가동 중단 또는 자연 재해와 같은 발생할 가능성이 거의 없는 사고로부터 보호해야 합니다. 따라서 Windows Server 2016의 장애 조치(failover) 클러스터링에도 섀시, 랙 및 사이트 내결함성이 도입되었습니다.

내결함성기본 및 내결함성

장애 도메인과 내결함성을 매우 밀접한 관련이 있는 개념입니다. 장애 도메인은 단일 실패 지점을 공유하는 하드웨어 구성 요소 집합입니다. 특정 수준까지 결함에 견디려면 해당 수준에 여러 장애 도메인이 필요합니다. 예를 들어 랙 내결함성을 위해서는 서버와 데이터를 여러 랙에 분산시켜야 합니다.

이 짧은 비디오에서는 Windows Server 2016의 오류 기본 개요를 제공합니다.

Windows Server 2019의 장애 기본 인식

장애 기본 인식은 Windows Server 2019에서 사용할 수 있지만 기본적으로 사용하지 않도록 설정되며 Windows 레지스트리를 통해 사용하도록 설정해야 합니다.

Windows Server 2019에서 장애 기본 인식을 사용하도록 설정하려면 Windows 레지스트리로 이동하여 (Get-Cluster)를 설정합니다. AutoAssignNodeSite 레지스트리 키를 1로 설정합니다.

    (Get-Cluster).AutoAssignNodeSite=1

Windows 2019에서 장애 기본 인식을 사용하지 않도록 설정하려면 Windows 레지스트리로 이동하여 (Get-Cluster)를 설정합니다. AutoAssignNodeSite 레지스트리 키를 0으로 설정합니다.

    (Get-Cluster).AutoAssignNodeSite=0

이점

  • 스토리지 공간 다이렉트를 비롯한 스토리지 공간에서는 데이터 보안을 극대화하기 위해 장애 도메인을 사용합니다. 스토리지 공간의 복원력은 분산된 소프트웨어 정의 RAID와 개념적으로 유사합니다. 모든 데이터의 여러 복사본이 동기화된 상태로 유지되므로 하드웨어가 실패하고 하나의 복사본이 손실된 경우 나머지 복사본을 다시 복사하여 복원력을 복원할 수 있습니다. 최상의 복원력을 달성하려면 복사본을 별도의 장애 도메인에 보관해야 합니다.

  • 상태 관리 서비스 오류 do기본를 사용하여 더 유용한 경고를 제공합니다. 각 장애 도메인을 위치 메타데이터와 연결하여 이후의 모든 경고에 자동으로 포함할 수 있습니다. 이러한 설명자는 운영 또는 유지 관리 담당자를 지원하고 하드웨어를 명확히 구분하여 오류를 줄일 수 있습니다.

  • 스트레치 클러스터링 스토리지 선호도에 장애 do기본s를 사용합니다. 확장 클러스터링을 사용하면 멀리 떨어진 서버를 공통 클러스터에 가입시킬 수 있습니다. 최상의 성능을 위해 애플리케이션 또는 가상 컴퓨터는 해당 스토리지를 제공하는 서버에 인접한 서버에서 실행되어야 합니다. 장애 기본 인식은 이 스토리지 선호도를 가능하게 합니다.

장애 도메인 수준

장애 도메인에는 네 가지 정식 수준(사이트, 랙, 섀시 및 노드)이 있습니다. 노드는 자동으로 검색되며 각 추가 수준은 선택 사항입니다. 예를 들어 배포에서 블레이드 서버를 사용하지 않는 경우 섀시 수준이 적합하지 않을 수 있습니다.

Diagram of the different levels of fault domains

사용

PowerShell 또는 XML 태그를 사용하여 오류 작업을 지정할 수 기본. 두 방법 모두 동일하며 전체 기능을 제공합니다.

Important

가능한 경우 스토리지 공간 다이렉트를 사용하기 전에 장애 도메인을 지정합니다. 그러면 섀시 또는 랙 내결함성을 위한 풀, 계층 및 설정(예: 복원력 및 열 개수) 준비가 자동으로 구성됩니다. 풀 및 볼륨을 만든 후에는 장애 도메인 토폴로지 변경에 대한 응답으로 데이터가 소급적으로 이동하지 않습니다. 스토리지 공간 다이렉트를 사용하도록 설정한 후 섀시 또는 랙 간에 노드를 이동하려면 먼저 Remove-ClusterNode -CleanUpDisks를 사용하여 노드와 해당 드라이브를 풀에서 제거해야 합니다.

PowerShell을 사용하여 오류 기본 정의

Windows Server 2016에서는 다음 cmdlet을 도입하여 fault do기본s를 사용합니다.

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

이 짧은 비디오에서는 클러스터 오류 do기본 PowerShell 명령을 사용하는 방법을 보여 줍니다.

현재 오류 do기본 토폴로지 확인에 사용합니다Get-ClusterFaultDomain. 클러스터의 모든 노드와 사용자가 만든 섀시, 랙 또는 사이트를 나열합니다. -Type 또는 -Name과 같은 매개 변수를 사용하여 필터링할 수 있지만 이는 필수 사항은 아닙니다.

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

새 섀시, 랙 또는 사이트를 만드는 데 사용합니다 New-ClusterFaultDomain . -Type-Name 매개 변수는 필수 항목입니다. 가능한 값 -TypeChassis, RackSite. -Name 모든 문자열일 수 있습니다. (장애 기본 형식의 경우 Node 이름은 자동으로 설정된 실제 노드 이름이어야 합니다.)

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

Important

Windows Server는 사용자가 만드는 모든 오류가 실제 실제 환경에서 어떤 것과도 일치하는지 기본 확인할 수 없으며 확인하지 않습니다. (이는 분명해 보일 수 있지만 이해하는 것이 중요합니다.) 물리적 환경에서 노드가 모두 하나의 랙에 있는 경우 소프트웨어에서 두 개의 -Type Rack 장애를 만드는 기본 랙 내결함성을 마술 방식으로 제공하지 않습니다. 따라서 사용자는 이러한 cmdlet을 사용하여 만든 토폴로지가 하드웨어의 실제 배열과 일치하는지 확인해야 합니다.

한 오류 do기본를 다른 오류로 이동하는 데 사용합니다Set-ClusterFaultDomain. "부모" 및 "자식"이라는 용어는 이러한 중첩 관계를 설명하는 데 자주 사용됩니다. -Name-Parent 매개 변수는 필수 항목입니다. 에서 -Name이동 중인 오류 do기본 이름을 입력하고, 대상-Parent의 이름을 입력합니다. 여러 장애 도메인을 한 번에 이동하려면 해당 이름을 나열합니다.

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

Important

장애 도메인을 이동하면 해당 자식이 함께 이동합니다. 위 예에서 Rack A가 server01.contoso.com의 부모인 경우 후자를 별도로 Shanghai 사이트로 이동할 필요가 없습니다. 실제와 마찬가지로 해당 부모가 그곳에 있기 때문에 이미 그곳에 있습니다.

의 출력 Get-ClusterFaultDomainParentNameChildrenNames 과 열에서 부모-자식 관계를 볼 수 있습니다.

오류의 다른 특정 속성을 수정하는 데 사용할 Set-ClusterFaultDomain 수도 기본. 예를 들어 오류에 대한 선택적 -Location 또는 -Description 메타데이터를 제공할 수 있습니다기본. 이 정보를 제공하면 상태 관리 서비스의 하드웨어 경고에 포함됩니다. 매개 변수를 사용하여 fault do기본s의 -NewName 이름을 바꿀 수도 있습니다. 형식 오류의 이름을 바꾸 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"

만든 섀시, 랙 또는 사이트를 제거하는 데 사용합니다 Remove-ClusterFaultDomain . -Name 매개 변수는 필수입니다. 자식이 포함된 오류 do기본를 제거할 수 없습니다. 먼저 자식을 제거하거나 다음을 사용하여 Set-ClusterFaultDomain외부로 이동할 수 있습니다. 오류를 이동하려면 기본 다른 모든 오류에서 벗어나면 기본 빈 문자열("")로 설정합니다-Parent. 장애 유형은 제거할 Node 수 없습니다기본. 여러 장애 도메인을 한 번에 제거하려면 해당 이름을 나열합니다.

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

XML 태그를 사용하여 장애 도메인 정의

XML 기반 구문을 사용하여 장애 도메인을 지정할 수 있습니다. Visual Studio Code(여기에서 무료로 사용 가능) 또는 메모장 같은 원하는 텍스트 편집기를 사용하여 저장하고 다시 사용할 수 있는 XML 문서를 만드는 것이 좋습니다.

이 짧은 비디오에서는 장애 조치(failover) 클러스터링 오류 기본 지정하기 위해 XML을 사용하는 방법을 보여 줍니다.

PowerShell에서 다음 cmdlet Get-ClusterFaultDomainXML을 실행합니다. 클러스터의 현재 장애 도메인 사양이 XML로 반환됩니다. 이는 검색된 <Node>모든 태그를 반영하며, 여는 태그와 닫는 <Topology> 태그로 래핑됩니다.

이 출력을 파일에 저장하려면 다음을 실행합니다.

Get-ClusterFaultDomainXML | Out-File <Path>

파일을 열고, <Rack>태그를 <Chassis> 추가하여 <Site>이러한 노드를 사이트, 랙 및 섀시에 분산하는 방법을 지정합니다. 모든 태그는 고유한 Name으로 식별되어야 합니다. 노드의 경우 노드 이름을 기본적으로 채워진 대로 유지해야 합니다.

Important

모든 추가 태그는 선택 사항이지만 전이적 Site > Rack > Chassis > Node 계층을 준수해야 하며, 적절히 닫혀야 합니다. 이름 외에도 자유형 Location="..."Description="..." 설명자를 태그에 추가할 수 있습니다.

예: 두 개의 사이트, 각각 하나의 랙

<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>

예: 섀시 블레이드 서버 2개

<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>

새 오류 do기본 사양을 설정하려면 XML을 저장하고 PowerShell에서 다음을 실행합니다.

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

이 가이드에서는 두 가지 예제만 제시하지만<Site>, 배포<Rack><Chassis>의 물리적 토폴로지(무엇이든 간에)를 반영하기 위해 여러 가지 방법으로 , 및 <Node> 태그를 혼합하고 일치시킬 수 있습니다. 위 예에서는 이러한 태그의 유연성과 이러한 태그를 명확히 구분하는 자유형 위치 설명자의 가치를 보여 주고자 했습니다.

선택 사항: 위치 및 설명 메타데이터

오류에 대한 선택적 위치 또는 설명 메타데이터를 제공할 수 있습니다기본. 이 정보를 제공하면 상태 관리 서비스의 하드웨어 경고에 포함됩니다.

이 짧은 비디오에서는 fault do기본s에 위치 설명자를 추가하는 값을 보여 줍니다.