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

This article explains the resiliency options available and outlines the scale requirements, storage efficiency, and general advantages and tradeoffs of each.

Overview

Storage Spaces Direct provides fault tolerance, often called "resiliency," for your data. Its implementation is similar to RAID, except distributed across servers and implemented in software.

As with RAID, there are a few different ways Storage Spaces can do this, which make different tradeoffs between fault tolerance, storage efficiency, and compute complexity. These broadly fall into two categories: "mirroring" and "parity," the latter sometimes called "erasure coding."

Mirroring

Mirroring provides fault tolerance by keeping multiple copies of all data. This most closely resembles RAID-1. How that data is striped and placed is non-trivial (see this blog to learn more), but it is absolutely true to say that any data stored using mirroring is written, in its entirety, multiple times. Each copy is written to different physical hardware (different drives in different servers) that are assumed to fail independently.

You can choose between two flavors of mirroring – "two-way" and "three-way."

Two-way mirror

Two-way mirroring writes two copies of everything. Its storage efficiency is 50 percent – to write 1 TB of data, you need at least 2 TB of physical storage capacity. Likewise, you need at least two hardware 'fault domains' – with Storage Spaces Direct, that means two servers.

 Warning

If you have more than two servers, we recommend using three-way mirroring instead.

Three-way mirror

Three-way mirroring writes three copies of everything. Its storage efficiency is 33.3 percent – to write 1 TB of data, you need at least 3 TB of physical storage capacity. Likewise, you need at least three hardware fault domains – with Storage Spaces Direct, that means three servers.

Three-way mirroring can safely tolerate at least two hardware problems (drive or server) at a time. For example, if you're rebooting one server when suddenly another drive or server fails, all data remains safe and continuously accessible.

Parity

Parity encoding, often called "erasure coding," provides fault tolerance using bitwise arithmetic, which can get remarkably complicated. The way this works is less obvious than mirroring, and there are many great online resources (for example, this third-party Dummies Guide to Erasure Coding) that can help you get the idea. Sufficed to say it provides better storage efficiency without compromising fault tolerance.

Storage Spaces offers two flavors of parity – "single" parity and "dual" parity, the latter employing an advanced technique called "local reconstruction codes" at larger scales.

 Important

We recommend using mirroring for most performance-sensitive workloads. To learn more about how to balance performance and capacity depending on your workload, see Plan volumes.

Single parity

Single parity keeps only one bitwise parity symbol, which provides fault tolerance against only one failure at a time. It most closely resembles RAID-5. To use single parity, you need at least three hardware fault domains – with Storage Spaces Direct, that means three servers. Because three-way mirroring provides more fault tolerance at the same scale, we discourage using single parity. But, it's there if you insist on using it, and it is fully supported.

 Warning

We discourage using single parity because it can only safely tolerate one hardware failure at a time: if you're rebooting one server when suddenly another drive or server fails, you will experience downtime. If you only have three servers, we recommend using three-way mirroring. If you have four or more, see the next section.

Dual parity

Dual parity implements Reed-Solomon error-correcting codes to keep two bitwise parity symbols, thereby providing the same fault tolerance as three-way mirroring (i.e. up to two failures at once), but with better storage efficiency. It most closely resembles RAID-6. To use dual parity, you need at least four hardware fault domains – with Storage Spaces Direct, that means four servers. At that scale, the storage efficiency is 50% – to store 2 TB of data, you need 4 TB of physical storage capacity.

The storage efficiency of dual parity increases the more hardware fault domains you have, from 50 percent up to 80 percent. For example, at seven (with Storage Spaces Direct, that means seven servers) the efficiency jumps to 66.7 percent – to store 4 TB of data, you need just 6 TB of physical storage capacity.

See the Summary section for the efficiency of dual party and local reconstruction codes at every scale.

Local reconstruction codes

Storage Spaces introduces an advanced technique developed by Microsoft Research called "local reconstruction codes," or LRC. At large scale, dual parity uses LRC to split its encoding/decoding into a few smaller groups, to reduce the overhead required to make writes or recover from failures.

With hard disk drives (HDD) the group size is four symbols; with solid-state drives (SSD), the group size is six symbols. For example, here's what the layout looks like with hard disk drives and 12 hardware fault domains (meaning 12 servers) – there are two groups of four data symbols. It achieves 72.7 percent storage efficiency.

We recommend this in-depth yet eminently readable walk-through of how local reconstruction codes handle various failure scenarios, and why they're appealing, by Claus Joergensen.

Mirror-accelerated parity

A Storage Spaces Direct volume can be part mirror and part parity. Writes land first in the mirrored portion and are gradually moved into the parity portion later. Effectively, this is using mirroring to accelerate erasure coding.

To mix three-way mirror and dual parity, you need at least four fault domains, meaning four servers.

The storage efficiency of mirror-accelerated parity is in between what you'd get from using all mirror or all parity, and depends on the proportions you choose. For example, the demo at the 37-minute mark of this presentation shows various mixes achieving 46 percent, 54 percent, and 65 percent efficiency with 12 servers.

 Important

We recommend using mirroring for most performance-sensitive workloads. To learn more about how to balance performance and capacity depending on your workload, see Plan volumes.

Summary

This section summarizes the resiliency types available in Storage Spaces Direct, the minimum scale requirements to use each type, how many failures each type can tolerate, and the corresponding storage efficiency.

Resiliency types

ResiliencyFailure toleranceStorage efficiency
Two-way mirror 1 50.0%
Three-way mirror 2 33.3%
Dual parity 2 50.0% - 80.0%
Mixed 2 33.3% - 80.0%

Minimum scale requirements

ResiliencyMinimum required fault domains
Two-way mirror 2
Three-way mirror 3
Dual parity 4
Mixed 4

 Tip

Unless you are using chassis or rack fault tolerance, the number of fault domains refers to the number of servers. The number of drives in each server does not affect which resiliency types you can use, as long as you meet the minimum requirements for Storage Spaces Direct.

Dual parity efficiency for hybrid deployments

This table shows the storage efficiency of dual parity and local reconstruction codes at each scale for hybrid deployments which contain both hard disk drives (HDD) and solid-state drives (SSD).

Fault domainsLayoutEfficiency
2
3
4 RS 2+2 50.0%
5 RS 2+2 50.0%
6 RS 2+2 50.0%
7 RS 4+2 66.7%
8 RS 4+2 66.7%
9 RS 4+2 66.7%
10 RS 4+2 66.7%
11 RS 4+2 66.7%
12 LRC (8, 2, 1) 72.7%
13 LRC (8, 2, 1) 72.7%
14 LRC (8, 2, 1) 72.7%
15 LRC (8, 2, 1) 72.7%
16 LRC (8, 2, 1) 72.7%

Dual parity efficiency for all-flash deployments

This table shows the storage efficiency of dual parity and local reconstruction codes at each scale for all-flash deployments which contain only solid-state drives (SSD). The parity layout can use larger group sizes and achieve better storage efficiency in an all-flash configuration.

Fault domainsLayoutEfficiency
2
3
4 RS 2+2 50.0%
5 RS 2+2 50.0%
6 RS 2+2 50.0%
7 RS 4+2 66.7%
8 RS 4+2 66.7%
9 RS 6+2 75.0%
10 RS 6+2 75.0%
11 RS 6+2 75.0%
12 RS 6+2 75.0%
13 RS 6+2 75.0%
14 RS 6+2 75.0%
15 RS 6+2 75.0%
16 LRC (12, 2, 1) 80.0%

Examples

Unless you have only two servers, we recommend using three-way mirroring and/or dual parity, because they offer better fault tolerance. Specifically, they ensure that all data remains safe and continuously accessible even when two fault domains – with Storage Spaces Direct, that means two servers - are affected by simultaneous failures.

Examples where everything stays online

These six examples show what three-way mirroring and/or dual parity can tolerate.

  • 1. One drive lost (includes cache drives)
  • 2. One server lost

  • 3. One server and one drive lost
  • 4. Two drives lost in different servers

  • 5. More than two drives lost, so long as at most two servers are affected
  • 6. Two servers lost

...in every case, all volumes will stay online. (Make sure your cluster maintains quorum.)

Examples where everything goes offline

Over its lifetime, Storage Spaces can tolerate any number of failures, because it restores to full resiliency after each one, given sufficient time. However, at most two fault domains can safely be affected by failures at any given moment. The following are therefore examples of what three-way mirroring and/or dual parity cannot tolerate.

  • 7. Drives lost in three or more servers at once
  • 8. Three or more servers lost at once

Usage

Check out Create volumes.

Next steps

For further reading on subjects mentioned in this article, see the following:

728x90
728x90

Adding a Hyper-V host to SCVMM is pretty straight forward, I would only hope so, since they are both Microsoft products. Well, as quick as it is to add a Hyper-V host, adding an ESX/vCenter is just as quick. Here are the steps I took to add an ESX host and vCenter appliance to SCVMM 2012 R2.

Some prerequisites, well, I am assuming you have already deployed an ESX/ESXi server which also has a vCenter appliance installed and configured with a static IP and hostname. In my lab, I have vCenter installed on the ESX host itself. I am also assuming your SCVMM and ESX/ESXi environment(s) are able to communicate with one another.

  • Launch the SCVMM console
  • Create a Run As account, here I used the default VMware credentials (root/vmware)
  • Under the Fabric pane, and under the Servers > Infrastructure Node, right click on vCenter Servers, and add a new VMware vCenter Server

 

  • Input the vCenter IP address, leaving the TCP/IP port as default (443)
  • Also, specify the Run As account, select the one you created back at Step 2
  • Keep Communicate with VMware ESX host in secure mode enabled

 

  • Next, if the Run As account validated successfully, you should now get an Import Certificate prompt. Select Import

 

  • You can view the status of the new addition within the Jobs window

 

  • If all went smoothly, your vCenter appliance/server should now be within the vCenter Servers view!

  • Next, you will want to essentially the same steps above, but this time, we will add the ESX host
  • Select, Add VMware ESX Hosts and Clusters

  • Hopefully here it should auto populate the search with the host, if not, search for it, using its IP or hostname

  • If all went went, proper Run As account, etc. etc, then it should soon be visible within the Server > All  Hosts view. Confirm by viewing the Jobs window for any errors/messages.

 

728x90
728x90

Adding a Hyper-V host to SCVMM is pretty straight forward, I would only hope so, since they are both Microsoft products. Well, as quick as it is to add a Hyper-V host, adding an ESX/vCenter is just as quick. Here are the steps I took to add an ESX host and vCenter appliance to SCVMM 2012 R2.

Some prerequisites, well, I am assuming you have already deployed an ESX/ESXi server which also has a vCenter appliance installed and configured with a static IP and hostname. In my lab, I have vCenter installed on the ESX host itself. I am also assuming your SCVMM and ESX/ESXi environment(s) are able to communicate with one another.

  • Launch the SCVMM console
  • Create a Run As account, here I used the default VMware credentials (root/vmware)
  • Under the Fabric pane, and under the Servers > Infrastructure Node, right click on vCenter Servers, and add a new VMware vCenter Server

 

  • Input the vCenter IP address, leaving the TCP/IP port as default (443)
  • Also, specify the Run As account, select the one you created back at Step 2
  • Keep Communicate with VMware ESX host in secure mode enabled

 

  • Next, if the Run As account validated successfully, you should now get an Import Certificate prompt. Select Import

 

  • You can view the status of the new addition within the Jobs window

 

  • If all went smoothly, your vCenter appliance/server should now be within the vCenter Servers view!

  • Next, you will want to essentially the same steps above, but this time, we will add the ESX host
  • Select, Add VMware ESX Hosts and Clusters

  • Hopefully here it should auto populate the search with the host, if not, search for it, using its IP or hostname

  • If all went went, proper Run As account, etc. etc, then it should soon be visible within the Server > All  Hosts view. Confirm by viewing the Jobs window for any errors/messages.

 

728x90

+ Recent posts