Storage Spaces Direct Mirroring vs MRV (Parity) performance

HP Lefthand

Back several years ago (about 6 or 7 if i remember correctly) when Storage Spaces and Storage Spaces Direct (S2D) did not exist yet, there was a another vendor called “Lefthand” which did kind of the same trick. Lefthand was bought by HP and the product was renamed to P4000 and later on HP StorVirtual 4000. The principal of this type of storage is different to other vendors. These storage nodes use local raid level on several disks in a system and additional nodes with the exact same hardware are pooled into a cluster. On top of the cluster volumes with network raid level’s are created. So disks in a system (1 disk in case of a single local RAID 5 pool of disks) could die without losing the node. In this setup you have several layers of redundancy on a storage node, but also on the entire cluster.

You could start with 2 systems and create a mirrored volume. The raw capacity of 1 node minus the raid level was the total usable capacity. So take a two node setup with 12x 1TB disks you have give or take 21TB of usable capacity (12 disks in a RAID 5 = 12TB minus 1TB and minus some lost bits and bytes so give or take 10,5TB usable). In a two node setup you will have 10,5 TB of usable space with mirrored volumes because the data is mirrored across both nodes. Mirroring data like that brings you high availability on storage on a node level. So you could loss a storage node without the volume going offline but it will cost you half of the raw storage capacity. If you add an extra node to make a total of 3 nodes, you would have 10,5 * 3 = 31,5TB of raw capacity. Taking the mirroring in consideration you will have about 15,7TB of usable capacity. And this keeps going in a 10 node setup you have 105TB of raw capacity and about 50+TB of usable capacity. So all the time you will loss halve of the capacity in a Network Mirror volume. If you chose for 3-Way or even a 4-Way mirror (don’t know why but it is possible) you have massive redundancy and performance but a terrible efficiency because in a 4-Way mirror on 4 nodes you only have 25% of the RAW capacity available for data.

Yes.. it’s seems like a waste of space, so Lefthand (and later on HP) came up with Network RAID 5. When you have three or more nodes you could setup a volume with Network RAID 5. Then the data is places on 2 nodes and the 3 node is doing parity. You could still lose a disk in a node or an entire node…. BUT it was dreadfully slow and HP recommended AGAINST setting up Network RAID Level 5….
.
So I hear you thinking what is with all the “old stuff” on Lefthand… Well, Storage Spaces Direct is kind of the same principal and the same applies on Parity volumes… But bear with me on this 🙂
.

Mirror vs MRV Volumes.

With Storage Spaces the resiliency level is set on Volume level. That means that you can create Mirrored and Parity volumes and also a new flavor named Mixed Resiliency Volumes with both Parity and Mirrored space. With traditional hardware RAID, mirrored disks are always faster as Parity disks because of the parity process. The same applies for S2D. With Mirrored volumes all data is mirrored across an x amount of nodes and disks in the cluster. By default Storage Space Direct uses a 3-way mirror layout. All blocks written to disk are copied to 2 other nodes (in case of a 3 node or higher cluster). Because of this you default lose 2/3 of your raw capacity.

Microsoft S2D Program Manager Cosmos Darwin created a nice website to make some calculations on how much usable space you get with different combinations of disks, capacity and resiliency settings, check it out on http://aka.ms/s2dcalc

When you create a 1 TB 3-way mirrored volume that volume has a 3 TB footprint. That’s a simple calculation because 1 TB of data is copied 2 additional times in a 3 way-Mirror which makes 3 TB. When you create an MRV of 1 TB with for example 30% Mirrored capacity and 70% Parity capacity we have to do a bit more math. So 300 GB * 3 is 900 GB. Then we have 700 GB parity space that will require double the space for that a total of 1400 GB. The total footprint of a 1 TB MRV Disk is 900 GB + 1400 GB = 2300 GB. So with an MRV disk you save 700 GB of space on a 1 TB volume.

Because of the massive loss of capacity with 3-way mirror people (most of them are the people who are responsible for the budget) are forcing or highly recommending to use or consider Parity or a form of Mixed reciliency to get more GBs/TB’s out of there hardware.. But at what cost?

Read more

VMM 2016 and Network Controller certificate Issue’s

Since near the end of last year I was blessed with some hardware to test al lot of new features and stuff of Windows Server 2016, System Center 2016 and Azure Stack. Last week I experienced an issue with my Network Controller VM’s. In the end it turned out to be more of a VMM issue I think. But I wanted to share this with the world in case somebody else experienced this issue and does google for nothing because there is nothing to find about this issue.

Problem

I did the network controller and SLB Mux setup several weeks ago and all was running fine while all of a sudden I couldn’t change stuff in VMM anymore. Almost every action I did triggered this error:

Error (21426)
Execution of :: on the configuration provider  failed. Detailed exception: Unable to connect to the network service. Check connection string and network connectivity. Execution of Microsoft.SystemCenter.NetworkService::OpenDeviceConnectionEx on the configuration provider 3e2875a7-5831-4fb2-b388-1672e1c20fee failed. Detailed exception: System.Net.Http.HttpRequestException: An error occurred while sending the request. ---> System.Net.WebException: The underlying connection was closed: Could not establish trust relationship for the SSL/TLS secure channel. ---> System.Security.Authentication.AuthenticationException: The remote certificate is invalid according to the validation procedure.
Check the documentation for the configuration provider or contact the publisher support.
Unable to connect to the network service. Check connection string and network connectivity.

Recommended Action
Check the documentation for the configuration provider or contact the publisher support.

Troubleshooting

So I did a bunch of tests and troubleshooting

Read more

ADFS on W2016 idpinitiatedsignon.aspx page is by default disabled

Everytime I experience ADFS sign in problems I first test if the ADFS service itself is working through the IdpInitiatedSignon.aspx page. With this page you can test the ADFS service itself with out the dependencies from other products and their trusts or relying parties.

With the new Windows Server 2016 ADFS and WAP (Windows Azure Pack) on 2016 I experienced an issue, so I wanted to use the IdpInitiatedSignon.aspx test page. Strangely I received an error on the test page.

adfserrorie

The eventlog gave me a an error which was not really helping at first.

Read more

Windows Azure Pack Support

Since the announcements and public previews of Microsoft Azure Stack (MAS), everybody including myself  is talking about and testing with MAS. But the reality is that a lot of companies have invested in Windows Azure Pack and were a little surprised that Microsoft announced before this summer that Windows Azure Pack on Windows Server 2012 R2 is supported until July 2017.

azurepacksupport

Several weeks ago Microsoft made another announcement that they are continue to invest and support in Windows Azure Pack (WAP) next to Azure Stack for 11 years! But to use the extended support you need to bring your Azure Pack environment to Windows Server 2016. MAS release is aimed for the summer of 2017 so very likely there will be a gab between end of support of WAP on Server 2012 R2 and any public available MAS appliances from HP, Dell or Lenovo…

From several customers i received questions about the support statement and what needs to be updated. Turns out it’s not that well documented and known. As you can see in the screenshot above, it states Windows Azure Pack (on Windows Server 2012 R2) and Windows Azure Pack (on Windows Server 2016). But as we all know, Windows Azure Pack is a solution based on lots of components from the Windows and the System Center family.

What to upgrade

As i said before Windows Azure Pack leans on a lot of Windows features like a Active Directory domain, IIS and Hyper-V but also on System Center components like VMM and SPF.

Read more

Azure Stack TP2 November refresh

Last week Microsoft published a new release of Microsoft Azure Stack TP2. This release included support for features like SQL RP, MySQL and Azure App Services so a bunch of PaaS services.

First it though yeah.. new features 🙂 !! But then I looked back and though.. o man this is gonna cost me a lot of deployment time again. Considering the previous issue’s I had before which you can read on this blog.

After downloading, extracting, copying and processing (which you can read all about here) i executed my deployment last night (my hosts are in a different time zone, so my last night was not yet server night 🙂 ).

azurestacktp2novemberdeploy

This morning I checked my server to see what the deployment did and I was pleasantly surprised

Read more

Azure Stack TP2 Deployment Issue step 0.20

Last week i finally got my first Azure Stack TP2 deployment completed after weeks of error’s as a blogged before.  After that i needed to redeploy several times and ran into different issue’s every time.

This time it stopped at step 0.20. After retrying the deployment with:


Invoke-EceAction -RolePath Cloud -ActionType Deployment -Start 0.20 -Verbose

It stopped at the same error. See below for te error message.

2016-11-08 20:45:06 Verbose  VMs to create: MAS-BGPNAT01
2016-11-08 20:45:06 Verbose  Updating management nodes for HyperConverged deployment.
2016-11-08 20:45:12 Verbose  Skipping deployment of the VM named 'MAS-BGPNAT01'. It is accessible via remote Powershell.
2016-11-08 20:45:12 Verbose  Waiting for the following VMs to be remotely accessible: MAS-BGPNAT01.
2016-11-08 20:45:13 Verbose  The VM 'MAS-BGPNAT01' has successfully started.
2016-11-08 20:45:15 Error    Task: Invocation of interface 'Deployment' of role 'Cloud\Fabric\VirtualMachines' failed:
Function 'Add-GuestVMs' in module 'Roles\VirtualMachine\VirtualMachine.psd1' raised an exception:
The WS-Management service cannot process the request because the XML is invalid.
at Wait-VMPSConnection, C:\CloudDeployment\Roles\VirtualMachine\VirtualMachine.psm1: line 1683
at Add-GuestVMs, C:\CloudDeployment\Roles\VirtualMachine\VirtualMachine.psm1: line 265
at <ScriptBlock>, <No file>: line 18
2016-11-08 20:45:15 Verbose  Step: Status of step '(NET) Deploy BGP VM' is 'Error'.
2016-11-08 20:45:15 Error    Action: Invocation of step 0.20 failed. Stopping invocation of action plan.
2016-11-08 20:45:15 Verbose  Action: Status of 'Deployment-Phase0-DeployBareMetalAndBGPAndNAT' is 'Error'.

The MAS-BGPNAT01 VM was accessible and i didn’t notice any errors in relation to the error above in the eventlogs. After a reboot of the MAS-BGPNAT01 VM I started the deployment from step 1, without the -start parameter:

Read more