이 항목에서는 스토리지 공간 다이렉트에 서버 또는 드라이브를 추가하는 방법에 대해 설명합니다.
서버 추가
확장이라고도 하는 서버를 추가하면 스토리지 용량이 추가되고 스토리지 성능이 향상되고 스토리지 효율성이 향상될 수 있습니다. 배포가 하이퍼 수렴형인 경우 서버를 추가하면 워크로드에 더 많은 컴퓨팅 리소스가 제공됩니다.
일반적인 배포는 서버를 추가하여 간단하게 확장하는 것입니다. 단계는 단 두 가지입니다.
장애 조치(failover) 클러스터 스냅인을 사용하거나 PowerShell에서 Test-Cluster cmdlet을 사용하여 클러스터 유효성 검사 마법사를 실행합니다(관리자 권한으로 실행). 추가하려는 새 서버 <NewNode> 를 포함합니다.
Test-Cluster -Node <Node>, <Node>, <Node>, <NewNode> -Include "Storage Spaces Direct", Inventory, Network, "System Configuration"
이를 통해 새 서버가 Windows Server 2016 Datacenter Edition을 실행 중이고, 기존 서버와 동일한 Active Directory Domain Services 도메인에 추가되었으며, 필요한 모든 역할과 기능을 가지고 있고, 네트워킹이 적절히 구성되어 있음을 확인하게 됩니다.
중요합니다
더 이상 필요하지 않은 이전 데이터 또는 메타데이터가 포함된 드라이브를 다시 사용하는 경우 디스크 관리 또는 Reset-PhysicalDisk cmdlet을 사용하여 해당 드라이브를 지웁다. 이전 데이터 또는 메타데이터가 검색되면 드라이브가 풀되지 않습니다.
서버 추가를 완료하려면 클러스터에서 다음 cmdlet을 실행합니다.
Add-ClusterNode -Name NewNode
참고 항목
자동 풀링은 풀이 하나만 있는 경우 이용할 수 있습니다. 표준 구성을 피해 여러 풀을 만든 경우 Add-physicaldisk를 사용하여 기본 설정 풀에 새 드라이브를 직접 추가해야 합니다.
2~3대의 서버: 3방향 미러링 잠금 해제
서버가 두 개인 경우 양방향 미러 볼륨만 만들 수 있습니다(분산형 RAID-1과 비교). 세 개의 서버를 사용하면 내결함성을 높이기 위해 3방향 미러 볼륨을 만들 수 있습니다. 가능하면 3방향 미러링을 사용하는 것이 좋습니다.
양방향 미러 볼륨은 현재 위치에서 3방향 미러링으로 업그레이드할 수 없습니다. 대신 새 볼륨을 만들고 데이터를 마이그레이션(예: 스토리지 복제본 사용)한 다음 이전 볼륨을 제거할 수 있습니다.
3방향 미러 볼륨을 만들기 시작할 때 몇 가지 좋은 옵션이 있습니다. 원하는 방법을 선택할 수 있습니다.
옵션 1
새 볼륨을 만들 때 각 볼륨에서 PhysicalDiskRedundancy = 2를 지정합니다.
New-Volume -FriendlyName <Name> -FileSystem CSVFS_ReFS -StoragePoolFriendlyName S2D* -Size <Size> -PhysicalDiskRedundancy 2
옵션 2
대신 PhysicalDiskRedundancyDefault = 2를 풀의 ResiliencySetting 개체 Mirror로 설정할 수 있습니다. 그런 다음 새 미러된 볼륨은 지정하지 않더라도 3방향 미러링을 자동으로 사용합니다.
Get-StoragePool S2D* | Get-ResiliencySetting -Name Mirror | Set-ResiliencySetting -PhysicalDiskRedundancyDefault 2
New-Volume -FriendlyName <Name> -FileSystem CSVFS_ReFS -StoragePoolFriendlyName S2D* -Size <Size>
옵션 3
PhysicalDiskRedundancy = 2를 StorageTier 템플릿 Capacity로 설정한 다음, 계층을 참조하여 볼륨을 만듭니다.
Set-StorageTier -FriendlyName Capacity -PhysicalDiskRedundancy 2
New-Volume -FriendlyName <Name> -FileSystem CSVFS_ReFS -StoragePoolFriendlyName S2D* -StorageTierFriendlyNames Capacity -StorageTierSizes <Size>
3~4개 서버: 이중 패리티 잠금 해제
서버가 네 개인 경우 "삭제 코딩(erasure coding)"이라고도 하는 이중 패리티를 사용할 수 있습니다(분산형 RAID-6과 비교했을 시). 이는 3방향 미러링과 동일한 내결함성을 제공하지만 스토리지 효율성이 향상됩니다. 자세한 내용은 내결함성 및 스토리지 효율성을 참조 하세요.
소규모 배포에서 제공되는 경우 이중 패리티 볼륨을 만들기 시작하는 몇 가지 좋은 옵션이 있습니다. 원하는 방법을 선택할 수 있습니다.
옵션 1
만들 때 각 새 볼륨에서 PhysicalDiskRedundancy = 2 및 ResiliencySettingName = 패리티를 지정합니다.
New-Volume -FriendlyName <Name> -FileSystem CSVFS_ReFS -StoragePoolFriendlyName S2D* -Size <Size> -PhysicalDiskRedundancy 2 -ResiliencySettingName Parity
옵션 2
PhysicalDiskRedundancy = 2를 풀의 ResiliencySetting 개체 Parity로 설정합니다. 그런 다음 새 패리티 볼륨은 지정하지 않더라도 이중 패리티를 자동으로 사용합니다.
Get-StoragePool S2D* | Get-ResiliencySetting -Name Parity | Set-ResiliencySetting -PhysicalDiskRedundancyDefault 2
New-Volume -FriendlyName <Name> -FileSystem CSVFS_ReFS -StoragePoolFriendlyName S2D* -Size <Size> -ResiliencySettingName Parity
4개의 서버를 사용하면 개별 볼륨이 부분 미러 및 부분 패리티인 미러 가속 패리티 사용을 시작할 수도 있습니다.
이 경우 StorageTier 템플릿을 성능 및 용량 계층을 모두 포함하도록 업데이트해야 하는데, 이는 이 두 계층이 네 개의 서버에서 Enable-ClusterS2D를 처음 실행한 경우 생성되기 때문입니다. 구체적으로, 두 계층에는 용량 디바이스(예를 들어 SSD 혹은 HDD)의 MediaType 및 PhysicalDiskRedundancy = 2가 있어야 합니다. 성능 계층은 ResiliencySettingName = Mirror, 용량 계층은 ResiliencySettingName = Parity여야 합니다.
옵션 3
기존 계층을 제거하고 두 계층 템플릿을 새로 만드는 것이 가장 쉬울 수 있습니다. 계층 템플릿을 참조하여 만든 기존 볼륨에는 영향을 주지 않습니다. 이는 템플릿일 뿐입니다.
Remove-StorageTier -FriendlyName Capacity
New-StorageTier -StoragePoolFriendlyName S2D* -MediaType HDD -PhysicalDiskRedundancy 2 -ResiliencySettingName Mirror -FriendlyName Performance
New-StorageTier -StoragePoolFriendlyName S2D* -MediaType HDD -PhysicalDiskRedundancy 2 -ResiliencySettingName Parity -FriendlyName Capacity
정말 간단하죠. 이제 이러한 계층 템플릿을 참조하여 미러 가속 패리티 볼륨을 만들 준비가 되었습니다.
예시
New-Volume -FriendlyName "Sir-Mix-A-Lot" -FileSystem CSVFS_ReFS -StoragePoolFriendlyName S2D* -StorageTierFriendlyNames Performance, Capacity -StorageTierSizes <Size, Size>
서버가 5개 이상일 경우: 패리티 효율성 향상
서버를 5개 이상으로 확장할 경우 새 볼륨은 훨씬 큰 패리티 인코딩 효율성의 혜택을 누릴 수 있습니다. 예를 들어 6~7개 서버의 경우 Reed-Solomon 4+2(2+2가 아닌)를 사용할 수 있으므로 효율성이 50.0%에서 66.7%로 향상됩니다. 이 새로운 효율성을 누리기 위해 수행해야 할 추가 단계는 없습니다. 볼륨을 만들 때마다 가능한 최적의 인코딩이 자동으로 결정됩니다.
그러나 기존의 볼륨이 더 폭넓은 새 인코딩으로 "변환"되지는 않습니다. 한 가지 좋은 점은, 그렇게 할 경우 전체 배포의 모든 단일 비트에 영향을 미치는 대량 계산이 필요할 수 있다는 사실입니다. 기존 데이터를 더 높은 효율성으로 인코딩하려는 경우 새 볼륨으로 마이그레이션할 수 있습니다.
자세한 내용은 내결함성 및 스토리지 효율성을 참조 하세요.
섀시 또는 랙 내결함성을 사용하는 경우 서버 추가
배포에 섀시 또는 랙 내결함성을 사용하는 경우, 클러스터에 추가하기 전에 새 서버의 섀시 또는 랙을 지정해야 합니다. 그러면 스토리지 공간 다이렉트는 내결함성을 최대화하도록 데이터를 배포하는 방법을 알게 됩니다.
승격된 PowerShell 세션을 열고 다음 명령을 사용하여 노드에 대한 임시 장애 도메인을 만듭니다. 여기서 <NewNode>는 새 클러스터 노드의 이름입니다.
New-ClusterFaultDomain -Type Node -Name <NewNode>
이 임시 장애 도메인을 섀시 또는 랙으로 이동합니다. 새 서버는 <ParentName>에 지정된 실제 장소에 있습니다.
Set-ClusterFaultDomain -Name <NewNode> -Parent <ParentName>
자세한 내용은 Windows Server 2016에서 장애 도메인 인식을 참조하세요.
서버 추가에 설명된 대로 클러스터에 서버를 추가합니다. 새 서버를 클러스터에 추가하면 자동으로 자리 표시자 장애 도메인과 연결됩니다(자체 이름 사용).
드라이브 추가
드라이브 추가(강화라고도 함)는 스토리지 용량을 추가하고 성능도 향상할 수 있습니다. 사용 가능한 슬롯이 있는 경우 서버를 추가하지 않고 각 서버에 드라이브를 추가하여 스토리지 용량을 확장할 수 있습니다. 언제나 캐시 드라이브 또는 용량 드라이브를 독립적으로 추가할 수 있습니다.
중요합니다
모든 서버에 동일한 스토리지 구성이 있는 것이 좋습니다.
확장하려면 드라이브를 연결하고 Windows에서 이를 검색하는지 확인합니다. CanPool 속성이 True로 설정된 PowerShell의 Get-PhysicalDisk cmdlet 출력에 표시됩니다. CanPool = False로 표시되는 경우 CannotPoolReason 속성을 확인하여 이유를 확인할 수 있습니다.
Get-PhysicalDisk | Select SerialNumber, CanPool, CannotPoolReason
짧은 시간 내에 적격 드라이브가 스토리지 공간 다이렉트에 의해 자동으로 클레임되고 스토리지 풀에 추가되며, 볼륨이 자동으로 모든 드라이브에 균일하게 재배포됩니다. 이 시점에서 작업이 완료되었으며 볼륨을 확장하거나 새 볼륨을 만들 준비가 되었습니다.
드라이브가 나타나지 않으면 하드웨어 변경 사항을 수동으로 검색합니다. 작업 메뉴의 디바이스 관리자를 사용하면 됩니다. 오래된 데이터 또는 메타데이터가 포함된 경우 다시 포맷하는 것이 좋습니다. 디스크 관리 또는 Reset-PhysicalDisk cmdlet을 사용하여 이 작업을 수행할 수 있습니다.
참고 항목
자동 풀링은 풀이 하나만 있는 경우 이용할 수 있습니다. 표준 구성을 피해 여러 풀을 만든 경우 Add-physicaldisk를 사용하여 기본 설정 풀에 새 드라이브를 직접 추가해야 합니다.
드라이브 또는 서버를 추가한 후 드라이브 사용량 최적화
시간이 지남에 따라 드라이브가 추가되거나 제거되면 풀의 드라이브 간에 데이터를 분산하는 것이 고르지 않게 될 수 있습니다. 경우에 따라 이로 인해 특정 드라이브는 가득 차고 같은 풀의 다른 드라이브는 거의 사용되지 않는 상태가 될 수 있습니다.
풀 전체에서 드라이브 할당을 유지하기 위해 저장소 공간 Direct는 드라이브 또는 서버를 풀에 추가한 후 드라이브 사용량을 자동으로 최적화합니다(공유 SAS 엔클로저를 사용하는 저장소 공간 시스템의 수동 프로세스). 풀에 새 드라이브를 추가한 후 15분 후에 최적화가 시작됩니다. 풀 최적화는 우선 순위가 낮은 백그라운드 작업으로 실행되므로 특히 대형 하드 드라이브를 사용하는 경우 완료하는 데 몇 시간 또는 며칠이 걸릴 수 있습니다.
최적화는 Optimize라는 작업과 Rebalance라는 두 개의 작업을 사용하며 다음 명령을 사용하여 진행 상황을 모니터링할 수 있습니다.
Get-StorageJob
Optimize-StoragePool cmdlet을 사용하여 스토리지 풀을 수동으로 최적화할 수 있습니다. 예를 들어 다음과 같습니다.
Get-StoragePool <PoolName> | Optimize-StoragePool