Windows Server 2016의 스토리지 공간 다이렉트
이 항목에서는 Windows Server에서 저장소 공간 Direct를 배포하는 단계별 지침을 제공합니다. Azure Local의 일부로 저장소 공간 Direct를 배포하려면 Azure Local 정보 참조
팁
하이퍼 컨버지드 인프라를 확보하고 싶나요? Microsoft는 파트너로부터 유효성이 검사된 하드웨어/소프트웨어 Azure 로컬 솔루션을 구매하는 것이 좋습니다. 이러한 솔루션은 호환성과 안정성을 보장하기 위해 참조 아키텍처에 대해 설계, 어셈블 및 유효성 검사를 수행하므로 빠르게 시작하고 실행할 수 있습니다. Azure Local에서 작동하는 하드웨어/소프트웨어 솔루션 카탈로그를 정독하려면 Azure 로컬 카탈로그
팁
Microsoft Azure를 포함한 Hyper-V 가상 머신을 사용하여 하드웨어 없이 저장소 공간 Direct를 평가할 수 있습니다. 학습 목적으로 사용하는 편리한 Windows Server 빠른 랩 배포 스크립트를 검토할 수도 있습니다.
시작하기 전에
저장소 공간 직접 하드웨어 요구 사항을 검토하고 이 문서를 건너 밟아 일부 단계와 관련된 전반적인 접근 방식과 중요한 참고 사항을 숙지합니다.
다음 정보를 수집합니다.
배포 옵션. 저장소 공간 Direct는 하이퍼 수렴형 및 수렴형이라는 두 가지 배포 옵션을 지원합니다. 자신에게 적합한 것을 결정하기 위해 각각의 장점을 숙지하십시오. 아래의 1-3단계는 두 배포 옵션 모두에 적용됩니다. 4단계는 수렴형 배포에만 필요합니다.
서버 이름. 컴퓨터, 파일, 경로 및 기타 리소스에 대한 조직의 명명 정책을 숙지합니다. 각각 고유한 이름을 가진 여러 서버를 프로비전해야 합니다.
도메인 이름. 도메인 이름 지정 및 도메인 가입에 대한 조직의 정책을 숙지합니다. 서버를 도메인에 조인하고 도메인 이름을 지정해야 합니다.
RDMA 네트워킹. RDMA 프로토콜에는 iWarp 및 RoCE의 두 가지 유형이 있습니다. 네트워크 어댑터에서 사용하는 버전과 RoCE의 경우 버전(v1 또는 v2)도 기록해 둡니다. RoCE의 경우 랙 상단 스위치의 모델도 확인합니다.
VLAN ID. 서버의 관리 OS 네트워크 어댑터에 사용할 VLAN ID(있는 경우)를 확인합니다. 네트워크 관리자로부터 얻을 수 있습니다.
1단계: Windows Server 배포
1.1 단계: 운영 체제 설치
첫 번째 단계는 클러스터에 있는 모든 서버에 Windows Server를 설치하는 것입니다. 저장소 공간 Direct에는 Windows Server Datacenter Edition이 필요합니다. 데스크톱 환경 설치 옵션을 통해 서버 코어 또는 서버에서 사용할 수 있습니다.
설치 마법사를 사용하여 Windows Server를 설치하는 경우 Windows Server(Server Core 참조)와 Windows Server(데스크톱 환경이 있는 서버) 중에서 선택할 수 있습니다. 이는 Windows Server 2012 R2에서 사용할 수 있는 전체 설치 옵션과 동일합니다. 선택하지 않으면 Server Core 설치 옵션이 표시됩니다. 자세한 내용은 Install Server 코어를 참조하세요.
1.2 단계: 서버에 연결
이 가이드에서는 다음과 같은 별도의 관리 시스템에서 Server Core 설치 옵션과 원격으로 배포/관리하는 방법에 중점을 둡니다.
- Windows Server 또는 Windows 10 버전은 관리 중인 서버와 최신 업데이트의 새 버전입니다.
- 관리하는 서버에 대한 네트워크 연결
- 동일한 도메인 또는 완전히 신뢰할 수 있는 도메인에 가입
- Hyper-V 및 장애 조치(failover) 클러스터링용 PowerShell 모듈 및 RSAT(원격 서버 관리 도구) RSAT 도구 및 PowerShell 모듈은 Windows Server에서 사용할 수 있으며 다른 기능을 설치하지 않고도 설치할 수 있습니다. Windows 10 관리 PC에 원격 서버 관리 도구를 설치할 수도 있습니다.
관리 시스템에서 장애 조치(failover) 클러스터 및 Hyper-V 관리 도구를 설치합니다. 서버 관리자에서 역할 및 기능 추가 마법사를 사용하여 이 작업을 수행할 수 있습니다. 기능 페이지에서 원격 서버 관리 도구를 선택한 다음 설치할 도구를 선택합니다.
PS 세션을 입력하고 서버 이름 또는 연결하려는 노드의 IP 주소를 사용합니다. 이 명령을 실행하면 암호를 입력하라는 메시지가 나타납니다. Windows를 설정할 때 지정한 관리자 암호를 입력합니다.
Enter-PSSession -ComputerName <myComputerName> -Credential LocalHost\Administrator
이 작업을 여러 번 수행해야 하는 경우 스크립트에서 보다 유용한 방식으로 작업을 수행할 수 있습니다. 예를 들면 다음과 같습니다.
$myServer1 = "myServer-1"
$user = "$myServer1\Administrator"
Enter-PSSession -ComputerName $myServer1 -Credential $user
팁
관리 시스템에서 원격으로 배포하는 경우 WinRM에서 요청을 처리할 수 없는 등의 오류가 발생할 수 있습니다. 이 문제를 해결하려면 Windows PowerShell을 사용하여 관리 컴퓨터의 신뢰할 수 있는 호스트 목록에 각 서버를 추가합니다.
Set-Item WSMAN:\Localhost\Client\TrustedHosts -Value Server01 -Force
참고: 신뢰할 수 있는 호스트 목록은 Server*
과 같은 와일드카드를 지원합니다.
신뢰할 수 있는 호스트 목록을 보려면 Get-Item WSMAN:\Localhost\Client\TrustedHosts
를 입력합니다.
목록을 비우려면 Clear-Item WSMAN:\Localhost\Client\TrustedHost
를 입력합니다.
1.3단계: 도메인 가입 및 도메인 계정 추가
지금까지 로컬 관리자 계정 <ComputerName>\Administrator
으로 개별 서버를 구성했습니다.
저장소 공간 Direct를 관리하려면 서버를 도메인에 조인하고 모든 서버의 Administrators 그룹에 있는 Active Directory 도메인 Services 도메인 계정을 사용해야 합니다.
관리 시스템에서 관리자 권한으로 PowerShell 콘솔을 엽니다.
Enter-PSSession
을 이용해 각 서버에 연결하고 다음 cmdlet을 실행하여 사용자 고유의 컴퓨터 이름, 도메인 이름 및 도메인 자격 증명을 대체합니다.
Add-Computer -NewName "Server01" -DomainName "contoso.com" -Credential "CONTOSO\User" -Restart -Force
스토리지 관리자 계정이 Domain Admins 그룹의 구성원이 아닌 경우 각 노드의 로컬 관리자 그룹에 스토리지 관리자 계정을 추가하거나 스토리지 관리자에 사용하는 그룹을 추가합니다. 다음 명령을 사용하거나 Windows PowerShell 함수를 작성하여 수행할 수 있습니다. 자세한 내용은 PowerShell을 사용하여 로컬 그룹에 도메인 사용자 추가를 참조하세요.
Net localgroup Administrators <Domain\Account> /add
1.4단계: 역할 및 기능 설치
다음 단계는 모든 서버에 서버 역할을 설치하는 것입니다. Windows 관리자 센터, 서버 관리자 혹은 PowerShell을 사용하여 이 작업을 수행할 수 있습니다. 설치할 역할은 다음과 같습니다.
- 장애 조치(Failover) 클러스터링
- Hyper-V
- 파일 서버(수렴형 배포와 같은 파일 공유를 호스트하려는 경우)
- 데이터 센터 브리징(iWARP 네트워크 어댑터 대신 RoCEv2를 사용하는 경우)
- RSAT-Clustering-PowerShell
- Hyper-V-PowerShell
PowerShell을 통해 설치하려면 Install-WindowsFeature cmdlet을 사용합니다. 다음과 같이 단일 서버에서 사용할 수 있습니다.
Install-WindowsFeature -Name "Hyper-V", "Failover-Clustering", "Data-Center-Bridging", "RSAT-Clustering-PowerShell", "Hyper-V-PowerShell", "FS-FileServer"
클러스터의 모든 서버에서 동시에 명령을 실행하려면 이 약간의 스크립트를 사용하여 환경에 맞게 스크립트의 시작 부분에 있는 변수 목록을 수정합니다.
# Fill in these variables with your values
$ServerList = "Server01", "Server02", "Server03", "Server04"
$FeatureList = "Hyper-V", "Failover-Clustering", "Data-Center-Bridging", "RSAT-Clustering-PowerShell", "Hyper-V-PowerShell", "FS-FileServer"
# This part runs the Install-WindowsFeature cmdlet on all servers in $ServerList, passing the list of features into the scriptblock with the "Using" scope modifier so you don't have to hard-code them here.
Invoke-Command ($ServerList) {
Install-WindowsFeature -Name $Using:Featurelist
}
2단계: 네트워크 구성
가상 머신 내에 저장소 공간 Direct를 배포하는 경우 이 섹션을 건너뜁니다.
저장소 공간 Direct에는 클러스터의 서버 간에 대역폭이 높고 대기 시간이 짧은 네트워킹이 필요합니다. 10GbE 이상의 네트워킹이 필요하며 RDMA(원격 직접 메모리 액세스)가 권장됩니다. 운영 체제 버전과 일치하는 Windows Server 로고가 있는 한 iWARP 또는 RoCE를 사용할 수 있지만 일반적으로 iWARP를 설정하는 것이 더 쉽습니다.
Important
네트워킹 장비, 특히 RoCE v2에 따라 랙 상단 스위치의 일부 구성이 필요할 수 있습니다. 스위치를 올바르게 구성해야 스토리지 공간 다이렉트의 안정성과 성능이 보장됩니다.
Windows Server 2016에는 Hyper-V 가상 스위치 내에 SET(스위치 포함 팀)가 도입되었습니다. 이렇게 하면 RDMA를 사용하는 동안 모든 네트워크 트래픽에 동일한 물리적 NIC 포트를 사용할 수 있으므로 필요한 실제 NIC 포트 수가 줄어듭니다. 저장소 공간 Direct에는 스위치 포함 팀을 사용하는 것이 좋습니다.
전환되거나 전환되지 않는 노드 상호 연결
- 전환됨: 대역폭 및 네트워킹 유형을 처리하도록 네트워크 스위치를 올바르게 구성해야 합니다. RoCE 프로토콜을 구현하는 RDMA를 사용하는 경우 네트워크 디바이스 및 스위치 구성이 훨씬 더 중요합니다.
- 스위치리스: 스위치를 사용하지 않고 직접 연결을 사용하여 노드를 상호 연결할 수 있습니다. 모든 노드는 클러스터의 다른 모든 노드와 직접 연결해야 합니다.
저장소 공간 다이렉트 네트워킹을 설정하는 지침은 Windows Server 2016 및 2019 RDMA 배포 가이드를 참조하세요 .
3단계: 스토리지 공간 다이렉트 구성
다음 단계는 구성 중인 서버와 동일한 버전의 관리 시스템에서 수행됩니다. 다음 단계는 PSSession을 사용하여 원격으로 실행하면 안 됩니다. 그 대신 관리 시스템의 로컬 PowerShell 세션에서 관리자 권한으로 실행해야 합니다.
3.1단계: 드라이브 정리
저장소 공간 Direct를 사용하도록 설정하기 전에 드라이브가 비어 있는지 확인합니다( 이전 파티션 또는 기타 데이터 없음). 드라이브 준비에서 컴퓨터 이름을 대체하고 해당 스크립트를 실행하여 이전 파티션이나 기타 데이터를 모두 제거합니다.
Important
이 스크립트는 운영 체제 부팅 드라이브 이외의 모든 드라이브에 있는 모든 데이터를 영구적으로 제거합니다!
# Fill in these variables with your values
$ServerList = "Server01", "Server02", "Server03", "Server04"
foreach ($server in $serverlist) {
Invoke-Command ($server) {
# Check for the Azure Temporary Storage volume
$azTempVolume = Get-Volume -FriendlyName "Temporary Storage" -ErrorAction SilentlyContinue
If ($azTempVolume) {
$azTempDrive = (Get-Partition -DriveLetter $azTempVolume.DriveLetter).DiskNumber
}
# Clear and reset the disks
$disks = Get-Disk | Where-Object {
($_.Number -ne $null -and $_.Number -ne $azTempDrive -and !$_.IsBoot -and !$_.IsSystem -and $_.PartitionStyle -ne "RAW")
}
$disks | ft Number,FriendlyName,OperationalStatus
If ($disks) {
Write-Host "This action will permanently remove any data on any drives other than the operating system boot drive!`nReset disks? (Y/N)"
$response = read-host
if ( $response.ToLower() -ne "y" ) { exit }
$disks | % {
$_ | Set-Disk -isoffline:$false
$_ | Set-Disk -isreadonly:$false
$_ | Clear-Disk -RemoveData -RemoveOEM -Confirm:$false -verbose
$_ | Set-Disk -isreadonly:$true
$_ | Set-Disk -isoffline:$true
}
#Get-PhysicalDisk | Reset-PhysicalDisk
}
Get-Disk | Where-Object {
($_.Number -ne $null -and $_.Number -ne $azTempDrive -and !$_.IsBoot -and !$_.IsSystem -and $_.PartitionStyle -eq "RAW")
} | Group -NoElement -Property FriendlyName
}
}
출력은 다음과 같습니다. 여기서 Count 는 각 서버에서 각 모델의 드라이브 수입니다.
Count Name PSComputerName
----- ---- --------------
4 ATA SSDSC2BA800G4n Server01
10 ATA ST4000NM0033 Server01
4 ATA SSDSC2BA800G4n Server02
10 ATA ST4000NM0033 Server02
4 ATA SSDSC2BA800G4n Server03
10 ATA ST4000NM0033 Server03
4 ATA SSDSC2BA800G4n Server04
10 ATA ST4000NM0033 Server04
3.2단계: 클러스터 유효성을 검사합니다.
이 단계에서는 클러스터 유효성 검사 도구를 실행하여 서버 노드가 스토리지 공간 다이렉트를 사용하여 클러스터를 만들도록 올바르게 구성되어 있는지 확인합니다. 클러스터를 만들기 전에 클러스터 유효성 검사(Test-Cluster
)를 실행하면 구성이 장애 조치(failover) 클러스터 역할을 하는 데 적합한 것으로 표시되는지 확인하는 테스트가 실행됩니다. 바로 위의 예에서 -Include
매개 변수를 사용하면 특정 테스트 범주가 지정됩니다. 이렇게 하면 스토리지 공간 다이렉트 관련 테스트가 유효성 검사에 포함됩니다.
다음 PowerShell 명령을 사용하여 스토리지 공간 다이렉트 클러스터로 사용할 서버 집합의 유효성을 검사할 수 있습니다.
Test-Cluster -Node <MachineName1, MachineName2, MachineName3, MachineName4> -Include "Storage Spaces Direct", "Inventory", "Network", "System Configuration"
3.3단계: 클러스터 생성
이 단계에서는 다음 PowerShell cmdlet을 사용하여 이전 단계에서 클러스터 만들기에 대해 유효성을 검사한 노드로 구성된 클러스터를 만듭니다.
클러스터를 만들 때 - “클러스터된 역할을 만드는 동안 해당 역할을 시작할 수 없도록 하는 문제가 발생했습니다. 라는 내용의 경고가 나타날 것입니다. 자세한 내용은 아래 보고서 파일을 참조하세요." 이 경고는 무시해도 됩니다. 클러스터 쿼럼에 사용할 수 있는 디스크가 없기 때문에 나타나는 것입니다. 클러스터를 만든 후 파일 공유 감시 또는 클라우드 감시를 구성하는 것이 좋습니다.
참고 항목
서버에서 고정 IP 주소를 사용하는 경우 다음 매개 변수를 추가하고 IP 주소 -StaticAddress <X.X.X.X>를 지정하여 고정 IP 주소를 반영하도록 다음 명령을 수정합니다. 다음 명령에서 ClusterName 자리 표시자는 고유하고 15자 이하인 netbios 이름으로 바꿔야 합니다.
New-Cluster -Name <ClusterName> -Node <MachineName1,MachineName2,MachineName3,MachineName4> -NoStorage
클러스터를 만든 후 클러스터 이름에 대한 DNS 항목을 복제하는 데 약간의 시간이 걸릴 수 있습니다. 이 시간은 환경 및 DNS 복제 구성에 따라 달라집니다. 클러스터를 확인하지 못한 경우 대부분 클러스터 이름 대신 클러스터의 활성 구성원인 노드의 컴퓨터 이름을 사용하면 성공적으로 확인할 수 있습니다.
3.4단계: 클러스터 감시 구성
클러스터에 대한 미러링 모니터 서버를 구성하는 것이 좋습니다. 따라서 서버가 3개 이상인 클러스터는 두 개의 서버가 실패하거나 오프라인 상태가 되는 것을 견딜 수 있습니다. 두 서버 배포에는 클러스터 감시가 필요합니다. 클러스터 감시가 없으면 두 서버 중 하나가 오프라인이 되면 나머지도 사용할 수 없게 됩니다. 이러한 시스템에서는 파일 공유를 감시로 사용하거나 클라우드 감시를 사용할 수 있습니다.
자세한 내용은 다음 항목을 참조하십시오.
3.5단계: 스토리지 공간 다이렉트 사용
클러스터를 만든 후 Enable-ClusterStorageSpacesDirect
PowerShell cmdlet을 사용합니다. 그러면 스토리지 시스템이 스토리지 공간 다이렉트 모드로 전환되고 다음 작업이 자동으로 수행됩니다.
풀 만들기: "S2D on Cluster1"과 같은 이름을 가진 대규모 단일 풀을 만듭니다.
스토리지 공간 다이렉트 캐시 구성: 스토리지 공간 다이렉트에 사용할 수 있는 미디어(드라이브) 유형이 2개 이상인 경우 가장 빠른 캐시 디바이스로 사용할 수 있습니다(대부분의 경우 읽기 및 쓰기).
계층: 기본 계층으로 사용할 계층 두 개를 만듭니다. 하나는 "Capacity"이고 다른 하나는 "Performance"입니다. Cmdlet은 디바이스를 분석한 후 디바이스 유형과 복원력을 조합하여 각 계층을 구성합니다.
관리 시스템에서 관리자 권한으로 PowerShell 명령 창을 열고 다음 명령을 시작합니다. 클러스터 이름은 이전 단계에서 만든 클러스터의 이름입니다. 이 명령을 노드 중 하나에서 로컬로 실행하면 -CimSession 매개 변수가 필요 없습니다.
Enable-ClusterStorageSpacesDirect -CimSession <ClusterName>
위 명령을 통해 스토리지 공간 다이렉트를 사용하려는 경우 클러스터 이름 대신 노드 이름을 사용할 수도 있습니다. 노드 이름을 사용하면 새로 만든 클러스터 이름에서 발생할 수 있는 DNS 복제 지연으로 인해 보다 안정적일 수 있습니다.
몇 분 후 이 명령이 완료되면 시스템이 볼륨을 만들 수 있도록 준비됩니다.
3.6단계: 볼륨 만들기
가장 빠르고 간단한 환경을 제공하기 때문에 New-Volume
cmdlet을 사용하는 것이 좋습니다. 이 단일 cmdlet은 가상 디스크를 자동으로 만들고, 파티션을 만들고, 포맷하고, 일치하는 이름으로 볼륨을 만들고, 클러스터 공유 볼륨에 추가합니다.
자세한 내용은 저장소 공간 Direct에서 볼륨 만들기를 확인하세요.
3.7단계: 필요에 따라 CSV 캐시를 사용하도록 설정
필요에 따라 클러스터 공유 볼륨(CSV) 캐시에서 시스템 메모리(RAM)를 Windows 캐시 관리자가 아직 캐시하지 않은 읽기 작업의 쓰기 블록 수준 캐시로 사용하도록 설정할 수 있습니다. 이렇게 하면 Hyper-V와 같은 애플리케이션의 성능이 향상될 수 있습니다. CSV 캐시는 읽기 요청의 성능을 높일 수 있으며 스케일 아웃 파일 서버 시나리오에도 유용합니다.
CSV 캐시를 사용하도록 설정하면 하이퍼 수렴형 클러스터에서 VM을 실행하는 데 사용할 수 있는 메모리 양이 줄어들므로 스토리지 성능과 VHD에서 사용할 수 있는 메모리의 균형을 조정해야 합니다.
CSV 캐시의 크기를 설정하려면 스토리지 클러스터에 대한 관리자 권한이 있는 계정으로 관리 시스템에서 PowerShell 세션을 연 다음 이 스크립트를 사용하여 적절하게 $ClusterName
변수 및 $CSVCacheSize
변수를 변경 합니다(이 예제에서는 서버당 2GB CSV 캐시 설정).
$ClusterName = "StorageSpacesDirect1"
$CSVCacheSize = 2048 #Size in MB
Write-Output "Setting the CSV cache..."
(Get-Cluster $ClusterName).BlockCacheSize = $CSVCacheSize
$CSVCurrentCacheSize = (Get-Cluster $ClusterName).BlockCacheSize
Write-Output "$ClusterName CSV cache size: $CSVCurrentCacheSize MB"
자세한 내용은 CSV 메모리 내 읽기 캐시 사용을 참조 하세요.
3.8단계: 하이퍼 수렴형 배포를 위한 가상 머신 배포
하이퍼 수렴형 클러스터를 배포하는 경우 마지막 단계는 저장소 공간 Direct 클러스터에서 가상 머신을 프로비전하는 것입니다.
가상 머신의 파일은 장애 조치(failover) 클러스터의 클러스터형 VM과 마찬가지로 시스템 CSV 네임스페이스에 저장되어야 합니다(예: c:\ClusterStorage\Volume1).
System Center Virtual Machine Manager를 비롯해 Windows 제공 도구 및 다른 도구를 사용하여 스토리지 및 가상 머신을 관리할 수 있습니다.
4단계: 수렴형 솔루션을 위한 스케일 아웃 파일 서버 배포
수렴형 솔루션을 배포하는 경우 다음 단계는 Scale-Out 파일 서버 인스턴스를 만들고 일부 파일 공유를 설정하는 것입니다. 하이퍼 수렴형 클러스터를 배포하는 경우 완료되었으며 이 섹션이 필요하지 않습니다.
4.1단계: 스케일 아웃 파일 서버 역할 만들기
파일 서버에 대한 클러스터 서비스를 설정하는 다음 단계는 클러스터된 파일 서버 역할을 만드는 것입니다. 이 경우 지속적으로 사용 가능한 파일 공유가 호스트되는 Scale-Out 파일 서버 인스턴스를 만듭니다.
장애 조치(failover) 클러스터 관리자를 사용하여 스케일 아웃 파일 서버 역할을 만들려면
장애 조치(failover) 클러스터 관리자에서 클러스터를 선택하고, 역할에서 역할 설정하기를 클릭합니다.
고가용성 마법사가 나타납니다.역할 선택 페이지에서 파일 서버를 클릭합니다.
파일 서버 유형 페이지에서 애플리케이션 데이터용 스케일 아웃 파일 서버를 선택한 후 다음을 클릭합니다.
클라이언트 액세스 지점 페이지에서 스케일 아웃 파일 서버의 이름을 입력합니다.
그림 1과 같이 역할로 이동하고 상태 열에 사용자가 만든 클러스터형 파일 서버 역할 옆에 실행 중이 표시되는지 확인하여 역할이 성공적으로 설정되었는지 확인합니다.
그림 1 실행 상태의 스케일 아웃 파일 서버를 보여 주는 장애 조치(failover) 클러스터 관리자
참고 항목
클러스터된 역할을 만든 후 몇 분 또는 더 오래 파일 공유를 만들지 못하게 하는 네트워크 전파 지연이 있을 수 있습니다.
Windows PowerShell을 사용하여 스케일 아웃 파일 서버 역할을 만들려면
파일 서버 클러스터에 연결된 Windows PowerShell 세션에서 다음 명령을 입력하여 스케일 아웃 파일 서버 역할을 만들고, FSCLUSTER를 클러스터 이름과 일치하도록 변경하고, SOFS를 Scale-Out 파일 서버 역할에 지정하려는 이름과 일치하도록 변경합니다.
Add-ClusterScaleOutFileServerRole -Name SOFS -Cluster FSCLUSTER
참고 항목
클러스터된 역할을 만든 후 몇 분 또는 더 오래 파일 공유를 만들지 못하게 하는 네트워크 전파 지연이 있을 수 있습니다. SOFS 역할이 즉시 실패하고 시작되지 않는 경우 클러스터의 컴퓨터 개체에 SOFS 역할에 대한 컴퓨터 계정을 만들 수 있는 권한이 없기 때문일 수 있습니다. 이에 대한 도움말은 다음 블로그 게시물을 참조하세요. 스케일 아웃 파일 서버 역할이 이벤트 ID 1205, 1069 및 1194로 시작되지 않습니다.
4.2단계: 파일 공유 만들기
가상 디스크를 만들고 CSV에 추가한 후에는 가상 디스크당 CSV당 하나의 파일 공유인 파일 공유를 만들어야 합니다. System Center VMM(Virtual Machine Manager)은 사용 권한을 처리하기 때문에 이 작업을 수행하는 가장 편리한 방법일 수 있지만 사용자 환경에 권한이 없는 경우 Windows PowerShell을 사용하여 배포를 부분적으로 자동화할 수 있습니다.
Hyper-V 워크로드용 SMB 공유 구성 스크립트에 포함된 스크립트를 사용하여 그룹 및 공유를 만드는 프로세스를 부분적으로 자동화합니다. Hyper-V 워크로드용으로 작성되었으므로 다른 워크로드를 배포하는 경우 공유를 만든 후 설정을 수정하거나 추가 단계를 수행해야 할 수 있습니다. 예를 들어, Microsoft SQL Server를 사용하는 경우: SQL Server 서비스 계정에 공유 및 파일 시스템에 대한 모든 권한이 부여되어야 합니다.
참고 항목
System Center Virtual Machine Manager를 사용하여 공유를 만들지 않는 한 클러스터 노드를 추가할 때 그룹 멤버 자격을 업데이트해야 합니다.
PowerShell 스크립트를 사용하여 파일 공유를 만들려면 다음을 수행합니다.
Hyper-V 워크로드용 SMB 공유 구성에 포함된 스크립트를 파일 서버 클러스터의 노드 중 하나에 다운로드합니다.
관리 시스템에서 도메인 관리자 자격 증명을 사용하여 Windows PowerShell 세션을 연 다음, 다음 스크립트를 사용하여 Hyper-V 컴퓨터 개체에 대한 Active Directory 그룹을 만들고 사용자 환경에 맞게 변수 값을 변경합니다.
# Replace the values of these variables $HyperVClusterName = "Compute01" $HyperVObjectADGroupSamName = "Hyper-VServerComputerAccounts" <#No spaces#> $ScriptFolder = "C:\Scripts\SetupSMBSharesWithHyperV" # Start of script itself CD $ScriptFolder .\ADGroupSetup.ps1 -HyperVObjectADGroupSamName $HyperVObjectADGroupSamName -HyperVClusterName $HyperVClusterName
스토리지 노드 중 하나에서 관리자 자격 증명으로 Windows PowerShell 세션을 연 다음 다음 스크립트를 사용하여 각 CSV에 대한 공유를 만들고 공유에 대한 관리 권한을 Domain Admins 그룹 및 컴퓨팅 클러스터에 부여합니다.
# Replace the values of these variables $StorageClusterName = "StorageSpacesDirect1" $HyperVObjectADGroupSamName = "Hyper-VServerComputerAccounts" <#No spaces#> $SOFSName = "SOFS" $SharePrefix = "Share" $ScriptFolder = "C:\Scripts\SetupSMBSharesWithHyperV" # Start of the script itself CD $ScriptFolder Get-ClusterSharedVolume -Cluster $StorageClusterName | ForEach-Object { $ShareName = $SharePrefix + $_.SharedVolumeInfo.friendlyvolumename.trimstart("C:\ClusterStorage\Volume") Write-host "Creating share $ShareName on "$_.name "on Volume: " $_.SharedVolumeInfo.friendlyvolumename .\FileShareSetup.ps1 -HyperVClusterName $StorageClusterName -CSVVolumeNumber $_.SharedVolumeInfo.friendlyvolumename.trimstart("C:\ClusterStorage\Volume") -ScaleOutFSName $SOFSName -ShareName $ShareName -HyperVObjectADGroupSamName $HyperVObjectADGroupSamName }
4.3단계: Kerberos 제한 위임 허용
원격 시나리오 관리를 위한 Kerberos 제한 위임 및 향상된 Live Migration 보안을 설정하려면 스토리지 클러스터 노드 중 하나에서 Hyper-V 워크로드용 SMB 공유 구성에 포함된 KCDSetup.ps1 스크립트를 사용합니다. 다음은 스크립트에 대한 작은 래퍼입니다.
$HyperVClusterName = "Compute01"
$ScaleOutFSName = "SOFS"
$ScriptFolder = "C:\Scripts\SetupSMBSharesWithHyperV"
CD $ScriptFolder
.\KCDSetup.ps1 -HyperVClusterName $HyperVClusterName -ScaleOutFSName $ScaleOutFSName -EnableLM