Cluster Shared Volumes Reborn in WS2012: Deep Dive

Noes from TechEd North America 2012 session WSV430:

image

New in Windows Server 2012

  • File services is supported on CSV for application workloads.  Can leverage SMB 3.0 and be used for transparent failover Scale-Out File Server (SOFS)
  • Improved backup/restore
  • Improved performance with block level I/O redirection
  • Direct I/O during backup
  • CSV can be built on top of Storage Spaces

New Architecture

  • Antivirus and backup filter drivers are now compatible with CSV.  Many are already compatible.
  • There is a new distributed application consistent backup infrastructure.
  • ODX and spot fixing are supported
  • BitLocker is supported on CSV
  • AD not longer a dependency (!?) for improved performance and resiliency.

Metadata Operations

Lightweight and rapid.  Relatively infrequent with VM workloads.  Require redirected I/O.  Includes:

  • VM creation/deletion
  • VM power on/off
  • VM mobility (live migration or storage live migration)
  • Snapshot creation
  • Extending a dynamic VHD
  • Renaming a VHD

Parallel metadata operations are non disruptive.

Flow of I/O

  • For non-metadata IO: Data sent to the CSV Proxy File System.  It then routes to the disk via CSV VolumeMgr via direct IO.
  • For metadata redirected IO (see above): We get SMB redirected IO on non-orchestrator (not the CSV coordinator/owner for the CSV in question) nodes.  Data is routed via SMB redirected IO by the CSV Proxy File System to the orchestrator via the cluster communications network so the orchestrator can handle the activity.

image

Interesting Note

You can actually rename C:ClusterStorageVolume1 to something like C:ClusterStorageCSV1.  That’s supported by CSV.  I wonder if things like System Center support this?

Mount Points

  • Used custom reparse points in W2008 R2.  That meant backup needed to understand these.
  • Switched to standard Mount Points in WS2012.

Improved interoperability with:

  • Performance coutners
  • OpsMgr (never had free space monitoring before)
  • Free space monitoring (speak of the devil!)
  • Backup software can understand mount points.

CSV Proxy File System

Appears as CSVFS instead of NTFS in disk management.  NTFS under the hood.  Enabled applications and admins to be CSV aware.

Setup

No opt-in any more.  CSV enabled by default.  Appears in normal storage node in FCM.  Just right click on available storage to convert to CSV.

Resiliency

CSV enables fault tolerance file handles.  Storage path fault tolerance, e.g. HBA failure.  When a VM opens a VHD, it gets a virtual file handle that is provided by CSVFS (metadata operation).  The real file handle is opened under the covers by CSV.  If the HBA that the host is using to connect the VM to VHD fails, then the real file handle needs to be recreated.  This new handle is mapped to the existing virtual file handle, and therefore the application (the VM) is unaware of the outage.  We get transparent storage path fault tolerance.  The fault tolerant SAN connectivity (remember that direct connection via HBA has failed and should have failed the VM’s VHD connection) is re-routed by Redirected IO via the Orchestrator (CSV coordinator) which “proxies” the storage IO to the SAN.

image

If the Coordinator node fails, IO is queued briefly and the orchestration role fails over to another node.  No downtime in this brief window.

If the private cluster network fails, the next available network is used … remember you should have at least 2 private networks in a CSV cluster … the second private network would be used in this case.

Spot-Fix

  • Scanning is separated from disk repair.  Scanning is done online.
  • Spot-fixing requires offline only to repair.  It is based on the number of errors to fix rather than the size of the volume … could be 3 seconds.
  • This offline does not cause the CSV to go “offline” for applications (VMs) using that CSV being repaired.  CSV proxy file system virtual file handles appear to be maintained.

This should allow for much bigger CSVs without chkdsk concerns.

CSV Block Cache

This is a distributed write-through cache.  Un-buffered IO is targeted.  This is excluded by the Windows Cache Manager (buffered IO only).  The CSV block cache is consistent across the cluster.

This has a very high value for pooled VDI VM scenario.  Read-only (differencing) parent VHD or read-write differencing VHDs.

You configure the memory for the block cache on a cluster level.  512 MB per host appears to be the sweet spot.  Then you enable CSV block cache on a per CSV basis … focus on the read-performance-important CSVs.

Less Redirected IO

  • New algorithm for detecting type of redirected IO required
  • Uses OpsLocks as a distributed locking mechanism to determine if IO can go via direct path

Comparing speeds:

  • Direct IO: Block level IO performance parity
  • Redirected IO: Remote file system (SMB 3.0)  performance parity … can leverage multichannel and RDMA

Block Level Redirection

This is new in WS2012 and provides a much faster redirected IO during storage path failure and redirection.  It is still using SMB.  Block level redirection goes directly to the storage subsystem and provides 2x disk performance.  It bypasses the CSV subsystem on the coordinator node – SMB redirected IO (metadata) must go through this.

image

You can speed up redirected IO using SMB 3.0 features such as Multichannel (many NICs and RSS on single NICs) and RDMA.  With all the things turned on, you should get 98% of the performance of direct IO via SMB 3.0 redirected IO – I guess he’s talking about Block Level Redirected IO.

VM Density per CSV

  • Orchestration is done on a cluster node (parallelized) which is more scalable than file system orchestration.
  • Therefore there are no limits placed on this by CSV, unlike in VMFS.
  • How many IOPS can your storage handle, versus how many IOPS do your VMs need?
  • Direct IO during backup also simplifies CSV design.

If your array can handle it, you could (and probably won’t) have 4,000 VMs on a 64 node cluster with a single CSV.

CSV Backup and Restore Enhancements

  • Distributed snapshots: VSS based application consistency.  Created across the cluster.  Backup applications query the CSV to do an application consistent backup.
  • Parallel backups can be done across a cluster: Can have one or more concurrent backups on a CSV.  Can have one or more concurrent CSV backups on a single node.
  • CSV ownership does not change.  There is no longer a need for redirected IO during backup.
  • Direct IO mode for software snapshots of the CSV – when there is no hardware VSS provider.
  • Backup no longer needs to be CSV aware.

Summary: We get a single application consistent backup snapshot of multiple VMs across many hosts using a single VSS snapshot of the CSV.  The VSS provider is called on the “backup node” … any node in the cluster.  This is where the snapshot is created.  Will result in less data being transmitted, fewer snapshots, quicker backups.

How a CSV Backup Work in WS2012

  1. Backup application talks to the VSS Service on the backup node
  2. The Hyper-V writer identifies the local VMs on the backup node
  3. Backup node CSV writer contacts the Hyper-V writer on the other hosts in cluster to gather metadata of files being used by VMs on that CSV
  4. CSV Provider on backup node contacts Hyper-V Writer to get quiesce the VMs
  5. Hyper-V Writer on the backup node also quiesces its own VMs
  6. VSS snapshot of the entire CSV is created
  7. The backup tool can then backup the CSV via the VSS snapshot

image

Updated –The Windows Server 2012 New Hyper-V Features List

I have updated and expanded the list of new features in Windows Server 2012 (previously Windows Server “8”) Hyper-V and related technologies.  The list is huge and changing, and I’m sure to have missed some things out.

What’s The Maximum Number Of Hyper-V VMs You Can Put In Cluster Shared Volume?

“What’s the rule of thumb on the number of VMs you should put in a CSV?”  That’s a question I am asked on a regular basis.  We need to dig into this.

When you have a cluster of virtualisation hosts using shared storage systems, you need some sort of orchestration to say which host should access what folders and files.  That’s particularly important during Live Migration and failover.  Without orchestration you’d have chaos, locks, failed VMs, and corruption.

One virtualisation cluster file system out there does it’s orchestration in the file system itself.  That, in theory, places limits on how that file system can scale out.

Microsoft took a different option.  Instead, each cluster shared volume (CSV) has an orchestrator known as a CSV Coordinator that is automatically created and made fault tolerant.  The CSV coordinator is a highly available function that runs on one of the clustered hosts.  By not relying on the file system, Microsoft believes they have a more scalable and better performing option.

How scalable?  A few years ago, EMC (I believe it was EMC, the owner of VMware, but my memory could be failing me) stood on a stage at a Microsoft conference and proclaimed that they couldn’t find a limit on the scalability of CSV versus performance on their storage platform.  In other words, you could have a monstrous CSV and place lots and lots of 64 TB VHDX files on there (GPT volumes grow up to 16 EB).

OK; back to the question at hand: how many VMs should I place on a CSV.  I have to give you the consultant’s answer: that depends.  The fact is that there is no right answer.  This isn’t VMware where there are prescribed limits and you should create lots of lots of “little” VMFS volumes.

First, I’d say you should read my paper on CSV and backup.  Now keep in mind that the paper was written for Windows Server 2008 R2.  Windows Server 2012 doesn’t do redirected I/O (mode) when backing up VMs from CSV.  In that document I talk about a process I put together for CSV design and VM placement.

Next, have a look at Fast Track, Microsoft’s cloud architecture.  In there they have a CSV design where OS, page file, sequential files, and non-sequential files are split into VHDs on different CSVs.  To me, this complicates things greatly.  I prefer simplicity.  Plus I can’t imagine the complexity of the deployment automation for this design.

An alternative is to look at a rule of thumb that many are using: they have 1 CSV for every host in their cluster (or active site in a multi-site cluster).  Beware here: you don’t want to run out of SCSI-3 reservations (every SAN has an unadvertised limit) because you’ve added too many CSVs on your SAN (read the above paper to learn more).

My advice: keep it simple.  Don’t overthink things.  Remember, Hyper-V is not VMware and VMware is not Hyper-V.  They both might be enterprise virtualisation platforms but e do things differently on both platforms because they both work differently.

Windows Server 2012 Community Events

Microsoft is organising a series of community events globally to spread the word about Windows Server 2012.  I say community because the speakers will be MVPs.  The event site will be updated over the coming months with news of more events, and watch out communications from your local sources

Here, we have events in Belfast (May 21st, Wellington Park Hotel) and Dublin (May 22nd, Microsoft Building 2, Leopardstown).  The agenda of the events is:

  • 13:00     Registration opens
  • 13:30     Introduction                              Dave Northey
  • 13:50     Manageability                           Alex Juschin
  • 14:35     Storage and Availability            Aidan Finn
  • 15:20     Coffee
  • 15:40     Virtualisation (Hyper-V)             Aidan Finn
  • 16:25     Remote Desktop Services          Alex Juschin
  • 17:10     End

It’s a long time since we had a release like Windows Server 2012.  It would be considered a huge release with the Hyper-V changes.  If you’re serious about server, then don’t get left behind.

EDIT1:

Details have just been announced for the London (June 14th) and Edinburgh (June 15th) events in GB.  I’ll be taking time off to present so hopefully I’ll see you there Smile

Why Hyper-V Fixed VHD Creation Takes “So Long” – Preventing A Genuine Security Risk

Every now and then I hear someone complaining about how long it takes to create a fixed VHD/VHDX.  There’s a very good reason, as this story on NetworkWorld shows:

A forensic IT study by a U.K. security consultancy found that some multi-tenant public cloud providers have "dirty disks" that are not fully wiped clean after each use by a customer, leaving potentially sensitive data exposed to other users.

FYI, AFAIK most of the mentioned companies are using some variant of Xen or vSphere.  The issue here is that Customer A buys a VM and uses it to store data in a virtual disk.  That virtual disk is a file that is stored on physical disk.  Customer A eventually decommissions the VM or their storage is relocated.  Now think about what a delete really is; it’s not a secure delete.  Deleting a file simply removes the entries from the file system table.  The 1’s and 0’s are still there, waiting to be read.

Now along comes Hacker B who buys a VM and deploys it.  Their VHD is placed over the same location of physical disk as Customer A’s old VM.  Without any security measures, Hacker B can simply run a disk scan tool, from within their VM, and find those 1’s and 0’s, pretty much doing some disk forensics to restore the “deleted” data that Customer A previously stored in their VM.  And that’s exactly what that study found was possible with a number of public cloud providers:

… Rackspace and VSP.net had the vulnerability.

The Microsoft developers VHD/VHDX were aware of this and took measures to prevent it.  When you create a VHD/VHDX it securely wipes the contents of the file as it is created.  This prevents access to data that was previously on the underlying physical disk.  Disk forensics will get you nowhere.

A number of 3rd party tools are out there to instantly create fixed VHDs but they fail to implement this secure wipe so the process can be speeded up, thus putting the hosting company at risk of this threat.  In this case, it is a matter of balancing a genuine security risk (especially in a public cloud) versus performance (of deploying new virtual machine storage while the customer watches a progress bar on a web portal).

The story continues to report that the mentioned affected hosting companies resolved the issue after they were informed.

Please Welcome CSVFS

If you’re using Windows Server 2012 Failover Clustering for Scale Out File Server or for HA Hyper-V then you’ve created one or more Cluster Shared Volumes (CSV).  This active-active clustered file system (where orchestration is performed by the cluster nodes rather than the file system to achieve greater scalability) is NTFS based.  But wander into Disk Management and you’ll see a different file system label:

image

This label has two purposes:

  1. You can tell from admin tools that this is a CSV volume and is shared across the nodes in the cluster
  2. It allows applications to know that they are working with a CSV rather than a simple single-server volume.  This is probably important for applications that can use the filter extensibility of Windows Server 2012 Hyper-V, e.g. replication or AV.

BTW, this screenshot is taken from the virtualised scale-out file server that I’m building with a HP VSA as the background storage.

How I’m Building Our Demo Lab Environment

I’ve talked about our lab in the past and I’ve recorded/shown a few demos from it.  It’s one thing to build a demo, but it’s a whole other thing to build a lab environment, where I need to be able to build lots of different demos for W2008 R2 (current support for System Center 2012), Windows Server 8 Hyper-V, OS deployment, and maybe even other things.  Not only do I want to do demos, but I also want to learn for myself, and be able to use it to teach techies from our customer accounts.  So that means I need something that I can wipe and quickly rebuild.

WDS, MDT, or ConfigMgr were one option.  Yes, but this is a lab, and I want as few dependencies as possible.  And I want to isolate the physical lab environment from the demo environment.  Here’s how I’m doing it:

image

I’ve installed Windows Server 2008 R2 SP1 Datacenter as the standard OS on the lab hardware.  Why not Windows Server 8 beta?  I want an RTM supported environment as the basis of everything for reliability.  This doesn’t prevent Windows Server 8 Beta from being deployed, as you’ll see soon enough.

Lab-DC1 is a physical machine – it’s actually a HP 8200 Elite Microtower PC with some extra drives.  It is the AD DC (forest called lab.internal) for the lab environment and provides DHCP for the network.  I happen to use a remote control product so I can get to it easily – the ADSL we have in the lab doesn’t allow inbound HTTPS for RDS Gateway Sad smile  This DC role is intended only for the lab environment.  For demos, I’ve enabled Hyper-V on this machine (not supported), and I’ll run a virtual DC for the demos that I build with a forest called demo.internal (nothing to do with lab.internal).

Lab-Storage1 is a HP DL370 G7 with 2 * 300GB drives, 12 * 2TB drives, and 16 GB RAM.  This box serves a few purposes:

  • It hosts the library share with all the ISOs, tools, scripts, and so forth.
  • Hyper-V is enabled and this allows me to run a HP P4000 virtual SAN appliance (VSA) for an iSCSI SAN that I can use for clustering and backup stuff.
  • I have additional capacity to create storage VMs for demos, e.g. a scale out file server for SMB Direct (SMB 2.2) demos

The we get on to Lab-Host1 and Lab-Host2.  As the names suggest, these are intended to be Hyper-V hosts.  I’ve installed Windows Server 2008 R2 SP1 on these machines, but it’s not configured with Hyper-V.  It’s literally an OS with network access.  It’s enough for me to copy a VHD from the storage server.  Here’s what I’ve done:

  • There’s a folder called C:VHD on Lab-Host1 and Lab-Host2.
  • I’m enabling boot-from-VHD for the two hosts from C:VHDboot.vhd – pay attention to the bcdedit commands in this post by Hans Vredevoort.
  • I’m using Wim2VHD to create VHD files from the Windows Server ISO files.
  • I can copy any VHD to the C:VHD folder on the two hosts, and rename it to boot.vhd.
  • I can then reboot the physical host to the OS in boot.vhd and configure it as required.  Maybe I create a template from it, generalize it, and store it back on the library.
  • The OS in boot.vhd can be configure as a Hyper-V host, clustered if required, and connected to the VSA iSCSI SAN.

Building a new demo now is a matter of:

  • Replace virtual DC on Lab-DC1 and configure it as required.
  • Provision storage on the iSCSI SAN as required.
  • Deploy any virtual file servers if required, and configure them.
  • Replace the boot.vhd on the 2 hosts with one from the library.  Boot it up and configure as required.

Basically, I get whole new OS’s by just copying VHD files about the network, with hosts and storage primarily using 10 GbE.

If I was working with just a single VHD all of the time, then I’d check out Mark Minasi’s Steadier State.

HP P4000 VSA Fails To Install On Hyper-V With ‘Unmounting the configuration drive…’ Error

The SAN I’m installing in the lab at work is a HP P4000 (Lefthand) virtual SAN appliance (VSA).  While the majority of the online conversation for the VSA centres on VMware, there is a supported Hyper-V VSA, and obviously that’s the one I want to use.

I set up the storage server, a HP DL370 G6 with lots of disk, and got W2008 R2 SP1 Hyper-V up and running.  I didn’t go Windows 8 beta because I only want to run RTM software for the underlying bits of the lab that don’t get wiped/etc – more on that once the lab environment is built.

Then I ran the setup.exe for the VSA and that’s where I wasted many hours because it kept failing with this error:

Installation Failed.

Provider failure

While ‘Unmounting the configuration drive…’

A search found one result and the suggestions in that forum post were about as helpful as standing on one foot, bouncing counter-clockwise, touching the tip of my nose, and signing the national anthem backwards.

I decided to dig a little deeper and found that HVSA_Original.VHD was a compressed file.  Hmm … interesting!  I then did the following:

  1. Uncompressed the HVSA_Original.VHD file and moved it to the folder where I’d create my VSA VM
  2. Created a new VM for the VSA in Hyper-V Manager
  3. Attached HVSA_Original.VHD to the new VSA VM
  4. Attached another new fixed VHD to the VM’s SCSI controller
  5. Powered up the VM … it appears to be based on CentOS
  6. “Logged into” the VM and ran the setup wizard to set the hostname and IPv4 configuration
  7. Set up the CMC to remotely configure and manage the VSA
  8. Configured a P4000 cluster and provisioned a LUN
  9. Bob’s your uncle!  I think Winking smile I’ve never managed a P4000 before.  EVA was much easier but P4000 has more potential, hence the complexity I suppose.

Windows Server 2012 Hyper-V Storage Strategies

This article was written just after the beta of WS2012 was launched.  We now now that the performance of SMB 3.0 is -really- good, e.g. 1 million IOPS from a VM good.

WS2012 is bringing a lot of changes in how we design storage for our Hyper-V hosts.  There’s no one right way, just lots of options, which give you the ability to choose the right one for your business.

There were two basic deployments in Windows Server 2008 R2 Hyper-V, and they’re both sill valid with Windows Server 2012 Hyper-V:

  • Standalone: The host had internal disk or DAS and the VMs that ran on the host were stored on this disk.
  • Clustered: You required a SAN that was either SAS, iSCSI, or FIbre Channel (FC) attached (as below).

image

And there’s the rub.  Everyone wants VM mobility and fault tolerance.  I’ve talked about some of this in recent posts.  Windows Server 2012 Hyper-V has Live Migration that is independent of Failover Clustering.  Guest clustering is limited to iSCSI in Windows Server 2012 Hyper-V but Windows Server 2012 Hyper-V is adding support for Virtual Fibre Channel.

Failover Clustering is still the ideal.  Whereas Live Migration gives proactive migration (move workloads before a problem, e,g, to patch a host), Failover Clustering provides high availability via reactive migration (move workloads automatically in advance of a problem, e.g. host failure).  The problem here is that a cluster requires shared storage.  And that has always been expensive iSCSI, SAS, or FC attached storage.

Expensive?  To whom?  Well, to everyone.  For most SMEs that buy a cluster, the SAN is probably the biggest IT investment that that company will ever make.  Wouldn’t it suck if they got it wrong, or if they had to upgrade/replace it in 3 years?  What about the enterprise?  They can afford a SAN.  Sure, but their storage requirements keep growing and growing.  Storage is not cheap (don’t dare talk to me about $100 1 TB drives).  Enterprises are sick and tired of being held captive by the SAN companies for 100% of their storage needs.

We’re getting new alternatives from Microsoft in Windows Server 2012.  This is all made possible by a new version of the SMB protocol.

SMB 3.0 (Formerly SMB 2.2)

Windows Server 2012 is bringing us a new version of the SMB protocol.  With the additional ability to do multichannel, where file share data transfer automatically spans multiple NICs with fault tolerance, we are now getting support to store virtual machines on a file server, as long as both client (Hyper-V host) and server (file server) are running Windows Server 2012 or above.

If you’re thinking ahead then you’ve already started to wonder about how you will backup these virtual machines using an agent on the host.  The host no longer has “direct” access to the VMs as it would with internal disk, DAS, or a SAN.  Windows Server 2012 VSS appears to be quite clever, intercepting a backup agents request to VSS snapshot a file server stored VM, and redirecting that to VSS on the file server.  We’re told that this should all be transparent to the backup agent.

Now we get some new storage and host design opportunities.

Shared File Server – No Hyper-V Clustering

In this example a single Windows Server 2012 file server is used to store the Hyper-V virtual machines.  The Hyper-V hosts can use the same file server, and they are not clustered.  With this architecture, you can do Live Migration between the two hosts, even without a cluster.

image

What about performance?  SMB is going to suck, right?  Not so fast, my friend!  Even with a pair of basic 1 Gbps NICs for SMB 3.0 traffic (instead of a pair of NICs for iSCSI), I’ve been told that you can expect iSCSI-like speeds, and maybe even better.  At 10 Gbps … well Smile The end result is cheaper and easier to configure storage.

With the lack of fault tolerance, this deployment type is probably suitable only for small businesses and lab environments.

Scale Out File Server (SOFS) – No Hyper-V Clustering

Normally we want our storage to be fault tolerant. That’s because all of our VMs are probably on that single SAN (yes, some have the scale and budget for spanning SANs but that’s a whole different breed of organisation).  Normally we would need a SAN made up fault tolerant disk tray$, switche$, controller$, hot $pare disk$, and $o on.   I think you get the point.

Thanks to the innovations of Windows Server 2012, we’re going to get a whole new type of fault tolerant storage called a SOFS.

image

What we have in a SOFS is an active/active file server cluster.  The hosts that store VMs on the cluster use UNC paths instead of traditional local paths (even for CSV).  The file servers in the SOFS cluster work as a team.  A role in SMB 3.0 called the witness runs on the Hyper-V host (SMB witness client) and file server (SMB witness server).  With some clever redirection the SOFS can handle:

  • Failure of a file server with just a blip in VM I/O (no outage).  The cluster will allow the new host of the VMs to access the files without a 60 second delay you might see in today’s technology.
  • Live Migration of a VM from one host to another with a smooth transition of file handles/locks.

And VSS works through the above redirection process too.

One gotcha: you might look at this and this this is a great way to replace current file servers.  The SOFS is intended only for large files with little metadata access (few permissions checks, etc).  The currently envisioned scenarios are SQL Server file storage and Hyper-V VM file storage.  End user file shares, on the other hand, feature many small files with lots of metadata access and are not suitable for SOFS.

Why is this?  To make the file servers active/active with smooth VM file handle/lock transition, the storage that the file servers are using consists of 1 or more Cluster Shared Volumes (CSVs).  This uses CSV v2.0, not the version we have in Windows Server 2008 R2.  The big improvements in CSV 2.0 are:

  • Direct I/O for VSS backup
  • Concurrent backup across all nodes using the CSV

Some activity in a CSV does still cause redirected I/O, and an example of that is metadata lookup.  Now you get why this isn’t good for end user data.

When I’ve talked about SOFS many have jumped immediately to think that it was only for small businesses.  Oh you fools!  Never assume!  Yes, SOFS can be for the small business (more later).  But where this really adds value is that larger business that feels like they are held hostage by their SAN vendors.  Organisations are facing a real storage challenge today.  SANs are not getting cheaper, and the storage scale requirements are rocketing.  SOFS offers a new alternative.  For a company that requires certain hardware functions of a SAN (such as replication) then SOFS offers an alternative tier of storage.  For a hosting company where every penny spent is a penny that makes them more expensive in the yes of their customers, SOFS is a fantastic way to provide economic, highly performing, scalable, fault tolerant storage for virtual machine hosting.

The SOFS cluster does require shared storage of some kind.  It can be made up of the traditional SAN technologies such as SAS, iSCSI, or Fibre Channel with the usual RAID suspects.  Another new technology, called PCI RAID, is on the way.  It will allow you to use just a bunch of disks (JBOD) and you can have fault tolerance in the form of mirroring or parity (Windows Server 2012 Storage Spaces and Storage Pools).  It should be noted that if you want to create a CSV on a Storage Space then it must use mirroring, and not parity.

Update: I had previously blogged in this article that I was worried that SOFS was suitable only for smaller deployments.  I was seriously wrong.

Good news for those small deployment: Microsoft is working with hardware partners to create a cluster-in-a-box (CiB) architecture with 2 file servers, JBOD and PCI RAID.  Hopefully it will be economic to acquire/deploy.

Update: And for the big biz that needs big IOPS for LOB apps, there are CiB solutions for you too, based on Infiniband networking, RDMA (SMB Direct), and SSD, e.g. a 5U appliance having the same IOPS are 4 racks of fibre channel disk.

Back to the above architecture, I see this one being useful in a few ways:

  • Hosting companies will like it because every penny of each Hyper-V host is utilised.  Having N+1 or N+2 Hyper-V hosts means you have to add cost to your customer packages and this makes you less competitive.
  • Larger enterprises will want to reduce their every-5 year storage costs and this offers them a different tier of storage for VMs that don’t require those expensive SAN features such as LUN replication.

SOFS – Hyper-V Cluster

This is the next step up from the previous solution.  It is a fully redundant virtualisation and storage infrastructure without the installation of a SAN.  A SOFS (active-active file server cluster) provides the storage.  A Hyper-V cluster provides the virtualisation for HA VMs.

image

The Hyper-V hosts are clustered.  If they were direct attached to a SAN then they would place their VMs directly on CSVs.  But in this case they store their VMs on a UNC path, just as with the previous SMB 3.0 examples.  VMs are mobile thanks to Live Migration (as before without Hyper-V clusters) and thanks to Failover.  Windows Server 2012 Clustering has had a lot of work done to it; my favourite change being Cluster Aware Updating (easy automated patching of a cluster via Automatic Updates).

The next architectures “up” from this one are Hyper-V clusters that use SAS, iSCSI, or FC.  Certainly SOFS is going to be more scalable than a SAS cluster.  I’d also argue that it could be more scalable than iSCSI or FC purely based on cost.  Quality iSCSI or FC SANs can do things at the hardware layer that a file server cluster cannot, but you can get way more fault tolerant storage per Euro/Dollar/Pound/etc with SOFS.

So those are your options … in a single site Smile

What About Hyper-V Cluster Networking? Has It Changed?

In a word: no.

The basic essentials of what you need are still the same:

  1. Parent/management networking
  2. VM connectivity
  3. Live Migration network (this should usually be your first 10 GbE network)
  4. Cluster communications network (heartbeat and redirected IO which does still have a place, even if not for backup)
  5. Storage 1 (iSCSI or SMB 3.0)
  6. Storage 2 (iSCSI or SMB 3.0)

Update: We now have two types of redirected IO that both support SMB Multichannel and SMB Direct.  SMB redirection (high level) is for those short metadata operations, an block level redirect (2x faster) is for sustained redirection IO operations such as a storage path failure.

Maybe you add a dedicated backup network, and maybe you add a 2nd Live Migration network.

How you get these connections is another story.  Thanks to native NIC teaming, DCB, QoS, and a lot of other networking changes/additions, there’s lots of ways to get these 6+ communication paths in Windows Server 2012.  For that, you need to read about converged fabrics.

Do You Have A Production Need for SMI-S In The Microsoft iSCSI Target?

The Microsoft iSCSI target enables you to turn Windows into an iSCSI storage platform.  This can provide economic storage, or give you an iSCSI gateway into a different type of storage.  It’s a free download right now, and will be built into Windows Server 8.

Now for the question:

If you could have it, would you use SMI-S in the Microsoft iSCSI target in a production scenario?  I am not talking about labs, or demos, or proof of concept for VMM 2012.  I am talking about production use of SMI-S and the Microsoft iSCSI target.

If you do have a case then please let me know.  I’ll need specifics – customer, case, how it’ll be used, etc.  Who knows …