question

th3monk3y-8321 avatar image
0 Votes"
th3monk3y-8321 asked UAEStorages-8967 answered

Storage Spaces Direct and Virtualization Question.

I'm trying to figure out the best way to architect a 2 node fail over cluster with the Hyper V role installed. I can really use some input and suggestions from others who have already been down this road.

All in, I have a 4 physical machines with Datacenter 2019 installed on each. On machine 1 and 2 I have installed 1 VM each and clustered them together as a network load balancer. This work great, no problems here.

On machines 3 and 4 I want to create a Storage Spaces Direct Fail Over Cluster. On these 2 machines I also want to virtualize many services in many different VM's. Sql Server, A File Server, Email Server etc.

What I am not grasping is as follows. Should I create the Storage Spaces Direct Failover cluster on the Host level or at the Hyper-V VM level? Obviously I need the data replicated across both machines should one machine go down.

I am not sure what the best approach here is. I would really appreciate some input.

Thanks in advance,

Paul

windows-server-hyper-vwindows-server-storage
5 |1600 characters needed characters left characters exceeded

Up to 10 attachments (including images) can be used with a maximum of 3.0 MiB each and 30.0 MiB total.

XiaoweiHe-MSFT avatar image
1 Vote"
XiaoweiHe-MSFT answered XiaoweiHe-MSFT commented

Hi,

On machines 3 and 4 I want to create a Storage Spaces Direct Fail Over Cluster. On these 2 machines I also want to virtualize many services in many different VM's. Sql Server, A File Server, Email Server etc.


Plan 1: If you install failover cluster role on Machine 3 and Machine 4, then form the Cluster with node 3 and node 4, then, please add physical disks on node 3 and node 4, then create an S2D cluster. In this way, you may install Hyper V role, file server role, SQL role on node 3 and node 4. Add the roles into cluster and use the S2D disks as storage.

In this way, SQL services, file server, VMs are running on the same level as cluster roles.

Plan 2: If you install failover cluster role on Machine 3 and Machine 4, then form the Cluster A with node 3 and node 4, then install only Hyper V role on node 3 and node 4. Add two VMs into the Cluster A, then use the two VMs to form Cluster B, install SQL role and File server on VM 1 and VM 2, and add SQL server and file server as clustered role, then the service will failover on VM1 and VM2.

In this way, please add required VHD(X) on VM1 and VM2, then create S2D cluster in Cluster B. VM1 and VM2 can failover between machine 3 and machine 4. SQL server and file server can failover on VM1 and VM2, S2D is created in Cluster B.

https://docs.microsoft.com/en-us/windows-server/storage/storage-spaces/deploy-storage-spaces-direct

Thanks for your time!
Best Regards,
Anne


If the Answer is helpful, please click "Accept Answer" and upvote it.

Note: Please follow the steps in our documentation to enable e-mail notifications if you want to receive the related email notification for this thread.


· 3
5 |1600 characters needed characters left characters exceeded

Up to 10 attachments (including images) can be used with a maximum of 3.0 MiB each and 30.0 MiB total.

@XiaoweiHe-MSFT Thanks for the detailed reply. I think I am going to go with plan 2 actually. I want to have all services virtualized so as I scale out I can migrate VM's and not have to do lengthy installs each time on each physical machine other than Hyper V. I am using the VM's as an abstraction layer and not for the sake of hosting VM's. I want the portability.

With that said, Do I even need cluster A in your plan 2? If a host fails, the VM's on that machine will become unavailable and fault over to the VM's on the second host. Is this correct?

Thanks,
Paul

0 Votes 0 ·

I think you are wise to select plan 2 instead of plan 1. It is rarely recommended to install any role other than Hyper-V on a physical node. Installing Hyper-V and SQL on the physical nodes, as recommended by plan 1 is something I have never seen recommended.

Technically, if you create a cluster between two VMs, you do not need to also install those VMs on clustered hosts. The issue comes into the complexity of the shared storage.. It is relatively easy to configure the shared storage for the clustered VMs on clustered hosts. It becomes more complicated when you try to configure the clustered storage required for the clustered VMs if the VMs are on stand-alone hosts.

0 Votes 0 ·

Since the words exceed the limit to comment, I put my explanation to your above questions in the reply below.

Thanks for your time!
Best Regards,
Anne

0 Votes 0 ·
TimCerling-5039 avatar image
0 Votes"
TimCerling-5039 answered

Storage Spaces Direct is designed to be installed at the physical level. Virtualization is a primary application to be installed on S2D clusters.

Note that it is best to use hardware configurations recommended by hardware vendors for creating a S2D cluster. Work closely with your vendor to ensure optimal configuration for S2D clusters.

5 |1600 characters needed characters left characters exceeded

Up to 10 attachments (including images) can be used with a maximum of 3.0 MiB each and 30.0 MiB total.

XiaoweiHe-MSFT avatar image
0 Votes"
XiaoweiHe-MSFT answered XiaoweiHe-MSFT edited

Hi,

More explanation of my concerns to use Plan A.

Yes, install SQL services, file server service virtualized is more flexible for migration.

However, if we choose Plan B to use VMs to create an S2D cluster and install service upper the VMs, the cluster B uses VHDX on VMs as S2D disks, this development is commonly used in a test environment, not recommended in the product environment. Since if we have some issues on the VMs or Hyper V level, the VHDX disks are negative for cluster storage stable, the Service stored on S2D disks also has risks. In this way, we didn't get the benefits of S2D's fault-tolerant compared with Physical disks in the S2D cluster.

With that said, Do I even need cluster A in your plan 2? If a host fails, the VM's on that machine will become unavailable and fault over to the VM's on the second host. Is this correct?

As for your questions, if we use Plan 2, cluster A is not necessary, we can install two VMs on one standalone Hyper V host. While as I said above, in this way, the VHDX in the S2D cluster is not stable if we have issue on Hyper V or VM level. (Let's call it Plan 3)

If we create Cluster A on the physical host level and create VMs in Cluster A to form cluster B, it is correct that if one physical host has issues, the VM can failover to another physical host, however, the VHDX disks in the S2D cluster is also not stable compare with physical disks.

So, each plan has it's advantage and disadvantage:

Plan 1: Better fault-tolerant with S2D disks, not well on Service migration, Services and VMs can failover between physical servers.

Plan 2: Not well on S2D disks fault-tolerant, VM can failover between physical servers, services can failover between VMs.

Plan 3: Not well on S2D disks fault-tolerant, VM don't have failover, services can failover between VMs.

You can choose a suitable plan according to your forces.

If there's anything unclear, please feel free to let me know.

Best Regards,
Anne

5 |1600 characters needed characters left characters exceeded

Up to 10 attachments (including images) can be used with a maximum of 3.0 MiB each and 30.0 MiB total.

UAEStorages-8967 avatar image
0 Votes"
UAEStorages-8967 answered
5 |1600 characters needed characters left characters exceeded

Up to 10 attachments (including images) can be used with a maximum of 3.0 MiB each and 30.0 MiB total.