728x90

Default group policy GUIDs are as follows:

Default Domain Policy

31B2F340-016D-11D2-945F-00C04FB984F9

 

Default DC Policy

6AC1786C-016F-11D2-945F-00C04FB984F9

 

Recreates the default Group Policy Objects (GPOs) for a domain. To get to the Group Policy Management Console (GPMC), you must install Group Policy Management as a feature through Server Manager.

 Important

As a best practice, you should configure the Default Domain Policy GPO only to manage the default Account Policies settings, Password Policy, Account Lockout Policy, and Kerberos Policy. Additionally, you should configure the Default Domain Controllers Policy GPO only to set user rights and audit policies.

Syntax

Copy
dcgpofix [/ignoreschema] [/target: {domain | dc | both}] [/?]

Parameters

ParameterDescription
/ignoreschema Ignores the version of the Active Directory schema when you run this command. Otherwise, the command only works on the same schema version as the Windows version in which the command was shipped.
/target {domain | dc | both Specifies whether to target the Default Domain policy, the Default Domain Controllers policy, or both types of policies.
/? Displays Help at the command prompt.

Examples

To manage the default Account Policies settings, Password Policy, Account Lockout Policy, and Kerberos Policy, while ignoring the Active Directory schema version, type:

Copy
dcgpofix /ignoreschema /target:domain

To configure the Default Domain Controllers Policy GPO only to set user rights and audit policies, while ignoring the Active Directory schema version, type:

Copy
dcgpofix /ignoreschema /target:dc
728x90
728x90

오류 (12711)오류 때문에 VMM 서버(HPVCluster)
에서 WMI 작업을 완료할 수 없습니다: [MSCluster_Resource.Name=&] 클러스터 리소스를 찾을 수 없습니다.
클러스터 리소스를 찾을 수 없습니다(0x138F)

권장 작업
문제를 해결한 다음 작업을 다시 시도하십시오.

클러스터 리소스를 찾을 수 없습니다.

이 문제를
해결하려면 Hyper-V 노드에 로그인합니다. 그리고 달려라.

1
2
#Replace VMNAME with your VM which give the errorcode
get-clusterresource | where {$_.ownergroup -match "VMNAME" -and $_.resourcetype.name -eq 'virtual machine configuration'} | Update-ClusterVirtualMachineConfiguration

이 후 복구 -> SCVMM에서 무시 및 새로 고침을 클릭 할 수 있습니다.

728x90
728x90

조짐

만료가 다가오고 있는지 어떻게 알 수 있습니까? Hyper-V-VMMS 이벤트 로그에 다음 경고가 표시됩니다.

로그 이름: 마이크로소프트-윈도우-하이퍼-V-VMMS-관리
원본: 마이크로소프트-윈도우-하이퍼-V-VMMS
이벤트 ID: 12510
작업 범주: 없음
수준: 경고
사용자: 시스템
설명: 서버 인증에 사용되는 인증서는 30일 이내에 만료됩니다. 인증서가 만료된 후에는 가상 컴퓨터에 대한 원격 액세스를 사용할 수 없습니다. 인증서를 갱신하거나 다시 만드십시오.

 

조치

1. 각 VMM 및 Host 서버에서 인증서 삭제

2. 아래 파워셀로 인증서 다시 등록

$Credential = Get-Credential
Get-SCVMMManagedComputer -ComputerName "vmm.contoso.com" | Register-SCVMMManagedComputer  -Credential $credential

3. 인증서 생성 확인

4. 연결 확인
Get-SCVMMManagedComputer | ft Name, StateString, RoleString,State,VersionStateString,AgentVersion,UpdatedDate,IsFullyCached,MostRecentTaskIfLocal

5. SCVMM 작업창에서 연결 확인

728x90
728x90

wuauclt.exe  커맨드 옵션...

 

/DetectNow
/ReportNow
/RunHandlerComServer
/RunStoreAsComServer
/ShowSettingsDialog
/ResetAuthorization
/ResetEulas
/ShowWU
/ShowWindowsUpdate
/SelfUpdateManaged
/SelfUpdateUnmanaged
/UpdateNow
/ShowWUAutoScan
/ShowFeaturedUpdates
/ShowOptions
/ShowFeaturedOptInDialog
/DemoUI

728x90
728x90

2022년 카타르 월드컵 16강 토너먼트 결과 및 일정

각 조의 1위와 2위가 다음라운드인 16강에 진출하게 됩니다.

따라서, 16강에 진출하기 위해서는 반드시 2위 안에 들어야 합니다.

16강에 진출하게 되면 같은 조에 있던 나라를 제외하고, 서로 다른 조에 있던 1위와 2위가 경기를 하게 됩니다.

카타르월드컵 중계 채널

2022카타르월드컵의 중계의 주관 방송사는 SBS입니다.

지상파와 그 계열사의 중계의 경우 SBS가 KBS와 MBC에 중계권을 재판매하는 형식이 되겠습니다.

각 방송사 중계진

이번 2022카타르월드컵 중계는 지상파 3사가 유명 선수 출신들을 해설가로 섭외하였습니다.

먼저, KBS는 남현종, 이광용 캐스터가 진행을 맡았습니다.

해설진으로는 구자철, 조원희, 한준희, 임형철, 황덕연 해설위원으로 구성되어 해설을 맡아주시겠습니다.

새로 합류한 구자철 선수의 해설위원으로서 첫발이 기대되는 상황입니다.

다음 MBC는 김성주, 김나진, 김정근 캐스터가 맡아 진행을 합니다.

해설진은 안정환, 서형욱, 박문성, 박찬우 해설위원으로 구성되어 해설을 맡아주시겠습니다.

방송 3사중에서 대중성과 인지도가 가장 높습니다.

또한, 이번 월드컵부터 MBC로 복귀한 박문성 해설위원의 행보가 기대가 되는 상황입니다.

SBS는 배성재, 이재형 캐스터가 진행을 하겠습니다.

해설진으로는 박지성, 장지현, 현영민, 김동완, 이승우 해설위원으로 구성되어 해설을 맡아주시겠습니다.

배성재 캐스터는 해설자 수준의 높은 수준의 축구 지식을 가지고 있는 캐스터 입니다.

현재 지상파 3사를 통틀어 캐스터중에서는 역량을 따라올 자가 없다고 보여집니다.

다만, 지속적으로 이어져 온 시청률 부진을 어떻게 회복 할지 알수가 없는 상황입니다.

또한, 박지성 해설위원의 해설가로서의 부진을 어떻게 만회할지도 귀추가 주목되는 상황입니다.

월드컵 일정 및 경기 시간

대한민국 대표팀이 속해 있는 H조의 경기 일정을 살펴보도록 하겠습니다.

우리대표팀은 피파랭킹9위의 포르투갈, 남미의 강호 피파랭킹 14위 우루과이, 아프리카의 복병 가나 와 한 조에 편성되어 있습니다.

H조에 속한 대한민국 대표팀의 자세한 경기 일정은 아래와 같습니다.

날짜경기

11월 24일 16:00 우루과이 vs 대한민국
11월 24일 19:00 포르투갈 vs 가나
11월 28일 16:00 대한민국 vs 가나
11월 28일 22:00 포르투갈 vs 우루과이
12월 02일 18:00 가나 vs 우루과이
12월 02일 18:00 대한민국 vs 포르투갈

대한민국 팀은 2022년 11월 24일 16:00시에 월드컵 첫 경기를 우루과이와 시작합니다.

11월 28일 16:00시에는 2차전을 가나와 치루고, 12월 02일 18:00시에는 조별예선 3차전 포르투갈과의 경기를 하게 됩니다.

대한민국VS우루과이 중계 일정 및 시간

2022카타르월드컵 대한민국vs우루과이는 대한민국의 첫 번째 경기입니다.

우루과이 대표팀은 남미 전통 강팀으로 현재 피파랭킹도 14위에 올라있습니다.

월드컵은 14회 출전하여 그중 2회 우승을 하였습니다.

지난 2010남아공월드컵 16강전에서 우리에게 패배를 안긴 팀입니다.

이번 경기로 대한민국 대표팀은 그 당시 설욕을 갚아줄 수 있는 자리이기도 합니다.

대한민국vs우루과이 경기는 2022년 11월 24일 16:00에 시작합니다.

중계는 대표 방송 3사인 KBS, MBC, KBS 에서 중계합니다.

포르투갈VS가나 중계 일정 및 시간

H조 1위로 유력한 피파랭킹9위 포르투갈의 첫 경기는 피파랭킹 61위의 가나와 합니다.

포르투갈은 세계적인 강팀이며 H조의 강력한 1위로 유력한 팀 입니다.

반면, 가나의 경우 피파랭킹 61위로 전체 참여 국가중 피파랭킹 꼴찌인 61위로 최약체로 평가되고 있습니다.

그래서 왠만하면 포르투갈팀이 가나팀 에게는 승리 할 것으로 보여집니다.

포르투갈vs가나의 경기는 2022년 11월 24일 19:00에 시작합니다.

중계는 대표 방송 3사인 KBS, MBC, KBS 에서 중계합니다.

대한민국VS가나 중계 일정 및 시간

우리나라는 16강을 목표로 하고있지만, 제3국의 시선으로는 대한민국과 가나를 H조 에서 3, 4위를 할 것으로 보고있습니다.

그래서 대한민국 대표팀에게 가나전은 첫 경기 만큼이나 중요한 경기가 되겠습니다.

전력상 대한민국이 유리하다 여겨지지만 방심을 하면 안되는 경기입니다.

대한민국 대표팀의 H조 2차전인 대한민국vs가나의 경기는 2022년 11월 28일 16:00에 시작합니다.

중계는 대표 방송 3사인 KBS, MBC, KBS 에서 중계합니다.

포르투갈VS우루과이 중계 일정 및 시간

H조에서 유력한 16강 후보인 포르투갈과 우루과이는 2차전에서 만나게 됩니다.

두 나라의 16강 진출 여부가 달린 경기가 바로 이 경기가 아닐까 합니다.

바로 이 2차전을 승리하는 팀이 16강에 올라갈 확률이 높은 상황입니다.

객관적 전력상 포르투갈이 많이 우세해 보이지만 우루과이 역시 쉽지 않은 상대입니다.

H조에서 가장 난타전이 예상되는 포르투갈vs우루과이의 경기는 2022년 11월 28일 22:00에 시작 합니다.

중계는 대표 방송 3사인 KBS, MBC, KBS 에서 중계합니다.

가나VS우루과이 중계 일정 및 시간

마지막 3차전인 가나vs우루과이 경기는 2010년 남아공 월드컵 경기의 복수전이 되겠습니다.

당시 가나 대표팀은 우루과이에게 8강에서 만나 패배하여 아프리카 대륙 첫 4강 진출을 눈앞에 두고 탈락 하였습니다.

그때의 기억으로 가나 대표팀은 승리를 위해 만반의 준비를 하고 있을 것 입니다.

다만 객관적 전력으로 우루과이 대표팀이 가나 대표팀 보다는 훨씬 강해 보이는 상황이어서 쉽지 않을 것으로 보여집니다.

H조의 마지막 3차전 경기인 가나vs우루과이의 경기는 2022년 12월 02일 18:00에 시작합니다.

중계는 대표 방송 3사인 KBS, MBC, KBS 에서 중계합니다.

대한민국VS포르투갈 중계 일정 및 시간

대한민국 대표팀의 H조 마지막 3차전 대한민국vs포르투갈의 경기는 양국에 중요한 경기가 되겠습니다.

2002년 월드컵에서 대한민국에게 당한 1패를 설욕하기 위해 포르투갈 팀은 앞선 1,2차전에 승리를 하여 여유가 있더라도 전력을 다 할 것으로 예상됩니다.

대한민국 대표팀도 3차전 까지의 상황이 어떨지 모르는 상황입니다.

만약 16강에 올라가더라도 G조 1위로 유력한 브라질을 피하기 위해서는 반드시 승리해야 하는 경기가 되겠습니다.

대한민국 대표팀의 매우 중요한 H조 3차전 경기인 대한민국vs포르투갈의 경기는 2022년 12월 02일 18:00에 시작합니다.

중계는 대표 방송 3사인 KBS, MBC, KBS 에서 중계합니다.

728x90
728x90

2022년 카타르 월드컵 2022.12.3(토) 경기 일정

각 조의 1위와 2위가 다음라운드인 16강에 진출하게 됩니다.

따라서, 16강에 진출하기 위해서는 반드시 2위 안에 들어야 합니다.

16강에 진출하게 되면 같은 조에 있던 나라를 제외하고, 서로 다른 조에 있던 1위와 2위가 경기를 하게 됩니다.

카타르월드컵 중계 채널

2022카타르월드컵의 중계의 주관 방송사는 SBS입니다.

지상파와 그 계열사의 중계의 경우 SBS가 KBS와 MBC에 중계권을 재판매하는 형식이 되겠습니다.

각 방송사 중계진

이번 2022카타르월드컵 중계는 지상파 3사가 유명 선수 출신들을 해설가로 섭외하였습니다.

먼저, KBS는 남현종, 이광용 캐스터가 진행을 맡았습니다.

해설진으로는 구자철, 조원희, 한준희, 임형철, 황덕연 해설위원으로 구성되어 해설을 맡아주시겠습니다.

새로 합류한 구자철 선수의 해설위원으로서 첫발이 기대되는 상황입니다.

다음 MBC는 김성주, 김나진, 김정근 캐스터가 맡아 진행을 합니다.

해설진은 안정환, 서형욱, 박문성, 박찬우 해설위원으로 구성되어 해설을 맡아주시겠습니다.

방송 3사중에서 대중성과 인지도가 가장 높습니다.

또한, 이번 월드컵부터 MBC로 복귀한 박문성 해설위원의 행보가 기대가 되는 상황입니다.

SBS는 배성재, 이재형 캐스터가 진행을 하겠습니다.

해설진으로는 박지성, 장지현, 현영민, 김동완, 이승우 해설위원으로 구성되어 해설을 맡아주시겠습니다.

배성재 캐스터는 해설자 수준의 높은 수준의 축구 지식을 가지고 있는 캐스터 입니다.

현재 지상파 3사를 통틀어 캐스터중에서는 역량을 따라올 자가 없다고 보여집니다.

다만, 지속적으로 이어져 온 시청률 부진을 어떻게 회복 할지 알수가 없는 상황입니다.

또한, 박지성 해설위원의 해설가로서의 부진을 어떻게 만회할지도 귀추가 주목되는 상황입니다.

월드컵 일정 및 경기 시간

대한민국 대표팀이 속해 있는 H조의 경기 일정을 살펴보도록 하겠습니다.

우리대표팀은 피파랭킹9위의 포르투갈, 남미의 강호 피파랭킹 14위 우루과이, 아프리카의 복병 가나 와 한 조에 편성되어 있습니다.

H조에 속한 대한민국 대표팀의 자세한 경기 일정은 아래와 같습니다.

날짜경기

11월 24일 16:00 우루과이 vs 대한민국
11월 24일 19:00 포르투갈 vs 가나
11월 28일 16:00 대한민국 vs 가나
11월 28일 22:00 포르투갈 vs 우루과이
12월 02일 18:00 가나 vs 우루과이
12월 02일 18:00 대한민국 vs 포르투갈

대한민국 팀은 2022년 11월 24일 16:00시에 월드컵 첫 경기를 우루과이와 시작합니다.

11월 28일 16:00시에는 2차전을 가나와 치루고, 12월 02일 18:00시에는 조별예선 3차전 포르투갈과의 경기를 하게 됩니다.

대한민국VS우루과이 중계 일정 및 시간

2022카타르월드컵 대한민국vs우루과이는 대한민국의 첫 번째 경기입니다.

우루과이 대표팀은 남미 전통 강팀으로 현재 피파랭킹도 14위에 올라있습니다.

월드컵은 14회 출전하여 그중 2회 우승을 하였습니다.

지난 2010남아공월드컵 16강전에서 우리에게 패배를 안긴 팀입니다.

이번 경기로 대한민국 대표팀은 그 당시 설욕을 갚아줄 수 있는 자리이기도 합니다.

대한민국vs우루과이 경기는 2022년 11월 24일 16:00에 시작합니다.

중계는 대표 방송 3사인 KBS, MBC, KBS 에서 중계합니다.

포르투갈VS가나 중계 일정 및 시간

H조 1위로 유력한 피파랭킹9위 포르투갈의 첫 경기는 피파랭킹 61위의 가나와 합니다.

포르투갈은 세계적인 강팀이며 H조의 강력한 1위로 유력한 팀 입니다.

반면, 가나의 경우 피파랭킹 61위로 전체 참여 국가중 피파랭킹 꼴찌인 61위로 최약체로 평가되고 있습니다.

그래서 왠만하면 포르투갈팀이 가나팀 에게는 승리 할 것으로 보여집니다.

포르투갈vs가나의 경기는 2022년 11월 24일 19:00에 시작합니다.

중계는 대표 방송 3사인 KBS, MBC, KBS 에서 중계합니다.

대한민국VS가나 중계 일정 및 시간

우리나라는 16강을 목표로 하고있지만, 제3국의 시선으로는 대한민국과 가나를 H조 에서 3, 4위를 할 것으로 보고있습니다.

그래서 대한민국 대표팀에게 가나전은 첫 경기 만큼이나 중요한 경기가 되겠습니다.

전력상 대한민국이 유리하다 여겨지지만 방심을 하면 안되는 경기입니다.

대한민국 대표팀의 H조 2차전인 대한민국vs가나의 경기는 2022년 11월 28일 16:00에 시작합니다.

중계는 대표 방송 3사인 KBS, MBC, KBS 에서 중계합니다.

포르투갈VS우루과이 중계 일정 및 시간

H조에서 유력한 16강 후보인 포르투갈과 우루과이는 2차전에서 만나게 됩니다.

두 나라의 16강 진출 여부가 달린 경기가 바로 이 경기가 아닐까 합니다.

바로 이 2차전을 승리하는 팀이 16강에 올라갈 확률이 높은 상황입니다.

객관적 전력상 포르투갈이 많이 우세해 보이지만 우루과이 역시 쉽지 않은 상대입니다.

H조에서 가장 난타전이 예상되는 포르투갈vs우루과이의 경기는 2022년 11월 28일 22:00에 시작 합니다.

중계는 대표 방송 3사인 KBS, MBC, KBS 에서 중계합니다.

가나VS우루과이 중계 일정 및 시간

마지막 3차전인 가나vs우루과이 경기는 2010년 남아공 월드컵 경기의 복수전이 되겠습니다.

당시 가나 대표팀은 우루과이에게 8강에서 만나 패배하여 아프리카 대륙 첫 4강 진출을 눈앞에 두고 탈락 하였습니다.

그때의 기억으로 가나 대표팀은 승리를 위해 만반의 준비를 하고 있을 것 입니다.

다만 객관적 전력으로 우루과이 대표팀이 가나 대표팀 보다는 훨씬 강해 보이는 상황이어서 쉽지 않을 것으로 보여집니다.

H조의 마지막 3차전 경기인 가나vs우루과이의 경기는 2022년 12월 02일 18:00에 시작합니다.

중계는 대표 방송 3사인 KBS, MBC, KBS 에서 중계합니다.

대한민국VS포르투갈 중계 일정 및 시간

대한민국 대표팀의 H조 마지막 3차전 대한민국vs포르투갈의 경기는 양국에 중요한 경기가 되겠습니다.

2002년 월드컵에서 대한민국에게 당한 1패를 설욕하기 위해 포르투갈 팀은 앞선 1,2차전에 승리를 하여 여유가 있더라도 전력을 다 할 것으로 예상됩니다.

대한민국 대표팀도 3차전 까지의 상황이 어떨지 모르는 상황입니다.

만약 16강에 올라가더라도 G조 1위로 유력한 브라질을 피하기 위해서는 반드시 승리해야 하는 경기가 되겠습니다.

대한민국 대표팀의 매우 중요한 H조 3차전 경기인 대한민국vs포르투갈의 경기는 2022년 12월 02일 18:00에 시작합니다.

중계는 대표 방송 3사인 KBS, MBC, KBS 에서 중계합니다.

728x90
728x90

2022년 카타르 월드컵 조별 순위 및 결과(2022.12.02)

728x90
728x90

Its been a while with no updates and it's not that I haven't been working hard, it's that I have been doing a lot of stuff directly with the API of systems like WHMCS or NetBox, which have an extremely low appeal to anyone not working in the service provider space, so haven't been adding it all to the blog. If anyone wants me to add this stuff please just get in touch and I will put it on.

I was recently asked to create a function that would allow you to set the IP address of a virtual machine from the host in a Hyper-V environment.

Getting this working for Windows was pretty easy:

function Set-VMIp {
param(
$VMhost,
$VMname,
$Mask,
$GateW,
$IPaddress
)

Invoke-Command -ComputerName $VMhost -ArgumentList $IPaddress, $Mask, $Gatew, $VMname  -ScriptBlock {

[string]$VMname = $args[3]

$VMManServ =  Get-WmiObject -Namespace root\virtualization\v2 -Class Msvm_VirtualSystemManagementService

$vm = Get-WmiObject -Namespace 'root\virtualization\v2' -Class 'Msvm_ComputerSystem' | Where-Object { $_.ElementName -eq $VMname }

$vmSettings = $vm.GetRelated('Msvm_VirtualSystemSettingData') | Where-Object { $_.VirtualSystemType -eq 'Microsoft:Hyper-V:System:Realized' } 

$nwAdapters = $vmSettings.GetRelated('Msvm_SyntheticEthernetPortSettingData') 

$ipstuff = $nwAdapters.getrelated('Msvm_GuestNetworkAdapterConfiguration')

$ipstuff.DHCPEnabled = $false
$ipstuff.DNSServers = "8.8.8.8"
$ipstuff.IPAddresses = $args[0]
$ipstuff.Subnets = $args[1]
$ipstuff.DefaultGateways = $args[2]

$setIP = $VMManServ.SetGuestNetworkAdapterConfiguration($VM, $ipstuff.GetText(1))
}
}

I can't really claim this as all being my own work, I used a blog post from a Microsoft employee, head of product dev or something or other. Unfortunately, I can't seem to source the link right now to give proper credit. You dont really need to see it though. His post was pretty hardcore and mine is much easier, I promise.

728x90
728x90

There is nothing more annoying than when people leave ISO's mounted to VM's. It drives me mad.This little script will list machines that have ISO's mounted and then if you like you bulk unmount them. Enjoy

This will just list all your VM's and show you the status od the DVD drive :

$clusternodes = Get-ClusterNode

ForEach ($clusternode in $clusternodes)
{get-VM -ComputerName $clusternode.Name | Get-VMDvdDrive }`

If you want to bulk unmount them its the same command with a little bit at the end

$clusternodes = Get-ClusterNode

ForEach ($clusternode in $clusternodes)
{get-VM -ComputerName $clusternode.Name | Get-VMDvdDrive | Set-VMDvdDrive -Path $null}`

This will recurse through ever node in your cluster, so if you have a large environment, don't panic, it will take a while.

728x90
728x90

I have written a guide on testing storage with VM-fleet that goes well with this.

Generally speaking when testing something new I will build it and tear it down a few times before I'm happy. Then when I'm sure I know what I'm doing I will do a final build from a build checklist that I have made, or a script if it's appropriate. That way I can be sure that I have done everything I need to do, the hosts are consistent and I have a record for future reference.

This is round 2 of my cycle so there may still be some errors. I will correct later if I find anything in round 3.

hardware

Storage spaces direct (S2D) wants all the hosts to be similar, in that they have the same type and amount of disks, and I would also recommend the same CPU. The storage CPU load for each volume takes place on the host that owns that volume. I think having mismatched CPU's would probably affect the performance of that volume significantly. You also need multiple RDMA capable 10GB interfaces.

I have 3 hosts that look like this:-

HP DL380 Gen9
Dual E5-2640v5
256GB RAM
2 x Chelsio 10GB network cards
1 x HP P440 Raid controller.
2 x HP H240 HBA
16 x 480GB Intel enterprise SSD's
2 x SATA drives

Switching, I have a pair of Arista switches for the 10GB and some Aruba affair for the 1GB.

I should also point out that this is currently POC kit bought specifically for this and that once I am happy with it all we will likely use this same kit in our public cloud environment.

The physical architecture is your standard cluster with redundant networks. I'm not going to document that but here.

Installation

First thing is to install Windows Server 2016 and all its updates. It also a good idea to properly name all your NIC interfaces as that will make it a lot easier to identify them later on.

Next, we need to install all the windows features required for S2D. This script should get them all in one go

Install-WindowsFeature -Name "Data-Center-Bridging","Failover-Clustering","Hyper-V","RSAT-Clustering-PowerShell","RSAT-Clustering-Mgmt","Hyper-V-PowerShell" -Restart  

This will likely need a reboot.

Once all this is done we can start putting together the required networking. This requires a little thought.

Network

S2D uses switch embedded teaming (SET). This is not the same as the switch teaming you may have used before. It has no GUI and can only be done from PowerShell. You need to be using SET in order to use the RDMA feature of your network cards. Switch embedded teaming also has support for some other features not available in standard NIC teaming. Microsoft has written a lovely little guide for you here. I warn you it's pretty long...

Depending on your choice of NIC you may also need to do some additional switch config to get RDMA to work. I chose a Chelsio card that has an RDMA implantation called iWarp, that doesn't need any specific switch config. It seemed like the easiest thing to do.

Now we start. The first thing we need to do is to create a QoS policy and give SMB high priority and a guaranteed allocation. You don't need to do this but it makes sense, especially in a hyper-converged environment where there may be resource contention.

You need to execute the following commands on all the servers that you plan to be in your cluster.

New-NetQosPolicy "SMB" -NetDirectPortMatchCondition 445 -PriorityValue8021Action 3

Enable-NetQosFlowControl -Priority 3

Disable-NetQosFlowControl -Priority 0,1,2,4,5,6,7

New-NetQosTrafficClass "SMB" –Priority 3 –BandwidthPercentage 30 –Algorithm ETS

The last line of that code essentially reserves 30% of the network specifically for S2D, which is what we want.

Now we need to enable the QoS policy on the relevant interfaces. To get a list of the NIC's run the following

Get-NetAdapter | FT Name, InterfaceDescription, Status, LinkSpeed

Which will give you something like this

  Name                  InterfaceDescription                         Status   LinkSpeed
----                  --------------------                         ------       -------
StorageNIC1           Chelsio Network Adapter #4                   Up           10 Gbps  
Ethernet 3            Chelsio Network Adapter #3                   Disconnected 0 bps    
VLAN 10               Microsoft Network Adapter Multiplexor Driver Up           2 Gbps   
StorageNIC2           Chelsio Network Adapter #2                   Up           10 Gbps  
Ethernet              Chelsio Network Adapter                      Disconnected 0 bps    
Embedded LOM 1 Port 4 HP Ethernet 1Gb 4-port 331i Adapter #4       Disconnected 0 bps    
Embedded LOM 1 Port 3 HP Ethernet 1Gb 4-port 331i Adapter #3       Disconnected 0 bps    
Embedded LOM 1 Port 2 HP Ethernet 1Gb 4-port 331i Adapter #2       Up           1 Gbps   
Embedded LOM 1 Port 1 HP Ethernet 1Gb 4-port 331i Adapter          Up           1 Gbps  

I need the policy on my 10GB storage interfaces, which I helpfully labeled during the hardware install. The other 2 are for migration and client traffic so won't be used for storage traffic and therefor don't need the policy.

Enable-NetAdapterQos –Name "StorageNIC1","StorageNIC2"

That bit is not done. We need to create the virtual switch and sort out the teaming (SET)

Again we will need the name of the storage NICs, which you should have from the previous step.

So we create the vSwitch

New-VMSwitch –Name vStorage –NetAdapterName "StorageNIC1", "StorageNIC2" –EnableEmbeddedTeaming $true

And now for the bit that I struggled to grasp for a while. Creating the vSwitch creates a single interface that has the name of the switch. This seems like it would be the vNIC you should be using. However, in testing, I have discovered that if I assign an IP to this vNIC and simulate failure in the physical NICS it does fail-over, but it takes a long time. Too long. So what we do is create 2 additional vNICs connected to the vSwitch, and map them to the physical. Essentially creating 2 diverse paths and allowing us to use the full 20GB of the network.

If one of the NIC's fails they IP will still fail-over to the other, and it still takes a long time, however, it doesn't matter due to the second path.

Add-VMNetworkAdapter –SwitchName vStorage –Name SMB_1 –managementOS
Add-VMNetworkAdapter –SwitchName vStorage –Name SMB_2 –managementOS
Set-VMNetworkAdapterVlan -VMNetworkAdapterName "SMB_1" -VlanId 48 -Access -ManagementOS
Set-VMNetworkAdapterVlan -VMNetworkAdapterName "SMB_2" -VlanId 48 -Access -ManagementOS

Once this is done restart the vNICs

Restart-NetAdapter "vEthernet (SMB_1)"
Restart-NetAdapter "vEthernet (SMB_2)"

And then we enable RDMA on these vNICS

Enable-NetAdapterRDMA "vEthernet (SMB_1)", "vEthernet (SMB_2)"

Finally, we assign them to a physical interface.

Set-VMNetworkAdapterTeamMapping -VMNetworkAdapterName "SMB_1" –ManagementOS –PhysicalNetAdapterName "StorageNIC1"
Set-VMNetworkAdapterTeamMapping -VMNetworkAdapterName "SMB_2" –ManagementOS –PhysicalNetAdapterName StorageNIC2"

Now we check if the relevant interfaces are set up correctly.

Get-SmbClientNetworkInterface

You should see this

Interface Index RSS Capable RDMA Capable Speed    IpAddresses   Friendly Name                                      
--------------- ----------- ------------ -----    -----------   -----------                                    

49              True        True         20 Gbps  {fe80::1964:a4a2:5f4d:b7e8,10.2.120.21}     vEthernet (SMB_1)                                  
53              True        True         20 Gbps  {fe80::ac59:19fa:1685:1247,10.2.121.21}     vEthernet (SMB_2)       

RDMA is enabled.

At this point, it's a good idea to assign your IP address and do some testing. Make sure things fail-over as expected, at the very least to make yourself familiar with what to expect from this sort of configuration.

That's the networking done, now we move onto creating the cluster.

Cluster

The first thing to do is some cluster tests to make sure we haven't forgotten anything.

Test-Cluster –Node MachineName1, MachineName2, MachineName3, –Include "Storage Spaces Direct", "Inventory", "Network", "System Configuration"

For me this threw up an error. The vNIC that is created when we created the switch I mentioned earlier has no IP config assigned. You can ignore this or better still disable that interface. Once I did this the cluster validation came back as OK. So now we can move on and create the cluster.

New-Cluster -Name clustername -StaticAddress x.x.x.x –Node MachineName1, MachineName2, MachineName3, –NoStorage

You need the -NoStrage argument as otherwise it will capture all the disks and add them to the cluster. You don't want this yet.

Now depending how many nodes you have you may want to create a witness for the cluster, in the form of another server of a quorum. I assume you know how to so that and will if needed.

S2D

Now we get to the part where we enable storage spaces direct and add the S2D compatible disks to the storage pool. According to Microsoft S2D wants "Clean" disks. No existing partition data on them and give you this script to clean your disks.

icm (Get-Cluster -Name <cluster or node name> | Get-ClusterNode) {

Update-StorageProviderCache

Get-StoragePool | ? IsPrimordial -eq $false | Set-StoragePool -IsReadOnly:$false -
ErrorAction SilentlyContinue

Get-StoragePool | ? IsPrimordial -eq $false | Get-VirtualDisk | Remove-VirtualDisk -
Confirm:$false -ErrorAction SilentlyContinue

Get-StoragePool | ? IsPrimordial -eq $false | Remove-StoragePool -Confirm:$false -
ErrorAction SilentlyContinue

Get-PhysicalDisk | Reset-PhysicalDisk -ErrorAction SilentlyContinue

Get-Disk | ? Number -ne $null | ? IsBoot -ne $true | ? IsSystem -ne $true | ? 
PartitionStyle -ne RAW | % {

$_ | Set-Disk -isoffline:$false

$_ | Set-Disk -isreadonly:$false

$_ | Clear-Disk -RemoveData -RemoveOEM -Confirm:$false

$_ | Set-Disk -isreadonly:$true

$_ | Set-Disk -isoffline:$true

}

Get-Disk |? Number -ne $null |? IsBoot -ne $true |? IsSystem -ne $true |? PartitionStyle -eq RAW | Group -NoElement -Property FriendlyName

} | Sort -Property PsComputerName,Count

Out of curiosity I tried to enable S2D with out doing this and unsurprisingly it failed. Don't skip this step, but also be aware this will flatten all the disks in the host. If you want to be more precise you may want to try using DiskPart.

Finally we enable storage spaces direct.

Enable-ClusterStorageSpacesDirect –CimSession <ClusterName>

And we are done. You can now create vdisks and Volumes from the GUI if you wish but I would recommend that you use New-Volume in PowerShell as there are some specifics you may want to add to you new disks.

I will write another guide on that next I think.

If you have any feedback on this please comment bellow.

728x90

+ Recent posts