Create a Storage Spaces Direct (S2D) SOFS Clusters with Storage Replica for Disaster Recovery across Azure Regions
This template will create two Storage Spaces Direct (S2D) Scale-Out File Server (SOFS) clusters using Windows Server 2016 in existing VNETs and Active Directory environments across two Azure regions. These clusters will be configured as an Active/Passive Disaster Recovery solution using Storage Replica.
This template creates the following resources by default in each of two Azure regions:
- One Standard Storage Account for a Cloud Witnesses
- One Windows Server 2016 cluster for storage nodes, provisioned for Storage Spaces Direct (S2D) and the Scale-Out File Server (SOFS) role
- An Availability Set for each set of cluster nodes
To deploy the required Azure VNET and Active Directory infrastructure, if not already in place, you may use this template to deploy the prerequisite infrastructure.
To extend this VNET infrastructure to a VNET-to-VNET infrastructure across Azure regions, if not already in place, you may use this template to deploy this prerequisite connectivity.
Click the button below to deploy from the portal:
The default settings for storage are to deploy using premium storage, which is strongly recommended for S2D performance. When using Premium Storage, be sure to select a VM size (DS-series, GS-series) that supports Premium Storage.
The default settings deploy 2 data disks per storage node, but can be increased to up to 32 data disks per node. When increasing # of data disks, be sure to select a VM size that can support the # of data disks you specify.
The default settings for compute require that you have at least 8 cores of free quota to deploy.
The images used to create this deployment are
- Windows Server 2016 Datacenter Edition - Latest Image
To successfully deploy this template, be sure that the subnet to which the storage nodes are being deployed already exists on the specified Azure virtual network, AND this subnet should be defined in Active Directory Sites and Services for the appropriate AD site in which the closest domain controllers are configured.
Deploying Sample Templates
You can deploy these samples directly through the Azure Portal or by using the scripts supplied in the root of the repo.
To deploy the sammple using the Azure Portal, click the Deploy to Azure button found above.
To deploy the sample via the command line (using Azure PowerShell or the Azure CLI) you can use the scripts.
Simple execute the script and pass in the folder name of the sample you want to deploy. For example:
.\Deploy-AzureResourceGroup.ps1 -ResourceGroupLocation 'eastus' -ArtifactsStagingDirectory '[foldername]'
azure-group-deploy.sh -a [foldername] -l eastus -u
If the sample has artifacts that need to be "staged" for deployment (Configuration Scripts, Nested Templates, DSC Packages) then set the upload switch on the command. You can optionally specify a storage account to use, if so the storage account must already exist within the subscription. If you don't want to specify a storage account one will be created by the script or reused if it already exists (think of this as "temp" storage for AzureRM).
.\Deploy-AzureResourceGroup.ps1 -ResourceGroupLocation 'eastus' -ArtifactsStagingDirectory '301-s2d-sr-dr-md' -UploadArtifacts
azure-group-deploy.sh -a '301-s2d-sr-dr-md ' -l eastus -u
cluster, ha, storage spaces, storage spaces direct, S2D, storage replica, windows server 2016, ws2016