- $/IOPS and $/TB
- Continuous Availability
- Fault Tolerance
- Storage Performance
- Segregation of production, development and disaster recovery storage
- De-duplication of unstructured data
- Segregation of data between production site and disaster recovery site
- Continuous break fix of Distributed File Systems (DFS) & File Server
- Continuously extending storage on the DFS servers
- Single point of failure
- File systems is not available always
- Security of file systems is constant concern
- Propitiatory non-scalable storage
- Management of physical storage
- Vendor lock-in contract for physical storage
- Migration path from single vendor to multi vendor storage provider
- Management overhead of unstructured data
- Comprehensive management of storage platform
Microsoft Software Defined Storage AKA Scale-Out File Server is a feature that is designed to provide scale-out file shares that are continuously available for file-based server application storage. Scale-out file shares provides the ability to share the same folder from multiple nodes of the same cluster.Microsoft Software Defined Storage offerings compared with third party offering:
|Storage feature||Third-party NAS/SAN||Microsoft Software-Defined Storage|
|File protocol Network
|Network||Low latency network with FC
|Low latency with SMB3Direct Management
|Management||Management of LUNs
|Management of file shares Data de-duplication
|Data De-duplication||Data de-duplication
|Data de-duplication Resiliency
|Resiliency||RAID resiliency groups
|Flexible resiliency options Pooling
|Pooling||Pooling of disks
|Pooling of disks Availability
|Continuous (via redundancy) Copy offload, Snapshots
|Copy Offloads, Snapshots||Copy offload, Snapshots
|SMB copy offload, Snapshots Tiering
|Performance with tiering Persistent write-back cache
|Persistent Write-back cache||Persistent write-back cache
|Persistent write-back cache Scale up
|Scale up||Scale up
|Automatic scale-out rebalancing Storage Quality of Service (QoS)
|Storage Quality of Service (QoS)||Storage QoS
|Storage QoS (Windows Server 2016) Replication
|Storage Replica (Windows Server 2016) Updates
|Rolling cluster upgrades (Windows Server 2016)
|Storage Spaces Direct (Windows Server 2016)
|Azure-consistent storage (Windows Server 2016)
Functional use of Microsoft Scale-Out File Servers:
1. Application Workloads
- Microsoft Hyper-v Cluster
- Microsoft SQL Server Cluster
- Microsoft SharePoint
- Microsoft Exchange Server
- Microsoft Dynamics
- Microsoft System Center DPM Storage Target
- Veeam Backup Repository
2. Disaster Recovery Solution
- Backup Target
- Object storage
- Encrypted storage target
- Hyper-v Replica
- System Center DPM
3. Unstructured Data
- Continuously Available File Shares
- DFS Namespace folder target server
- Microsoft Data de-duplication
- Roaming user Profiles
- Home Directories
- Citrix User Profiles
- Outlook Cached location for Citrix XenApp Session Server
- Single Management Point for all Scale-out File Servers
- Provide wizard driven tools for storage related tasks
- Integrated with Microsoft System Center
- Load balancing
- Fault tolerance
- Ease of installation
- Ease of management/operations
- High performance
- Compliance & Certification
Microsoft Scale-out File Server (SOFS) is considered as a Storage Defined Storage (SDS). Microsoft SOFS is independent of hardware vendor as long as the compute and storage is certified by Microsoft Corporation. The following figure shows Microsoft Hyper-v cluster, SQL Cluster and Object Storage on the SOFS.
Figure: Microsoft Software Defined Storage (SDS) Architecture
Figure: Microsoft Scale-out File Server (SOFS) Architecture
Figure: Microsoft SDS Components
Figure: Unified Storage Management (See Reference)
Microsoft Software Defined Storage AKA Scale-out File Server Benefits:
- Continuous availability file stores for Hyper-V and SQL Server
- Load-balanced IO across all nodes
- Distributed access across all nodes
- VSS support
- Transparent failover and client redirection
- Continuous availability at a share level versus a server level
- Identifies duplicate chunks of data and only stores one copy
- Provides up to 90% reduction in storage required for OS VHD files
- Reduces CPU and Memory pressure
- Offers excellent reliability and integrity
- Outperforms Single Instance Storage (SIS) or NTFS compression.
- Automatic detection of SMB Multi-Path networks
- Resilience against path failures
- Transparent failover with recovery
- Improved throughput
- Automatic configuration with little administrative overhead
- The Microsoft implementation of RDMA.
- The ability to direct data transfers from a storage location to an application.
- Higher performance and lower latency through CPU offloading
- High-speed network utilization (including InfiniBand and iWARP)
- Remote storage at the speed of local storage
- A transfer rate of approximately 50Gbps on a single NIC port
- Compatibility with SMB Multichannel for load balancing and failover
VHDX Virtual Disk:
- Online VHDX Resize
- Storage QoS (Quality of Service)
- Easy migration of virtual machine into a cluster while the virtual machine is running
- Improved virtual machine mobility
- Flexible placement of virtual machine storage based on demand
- Migration of virtual machine storage to shared storage without downtime
- SAN discovery (FCP, SAS, iSCSI i.e. EMC VNX, EMC VMAX)
- NAS discovery (Self-contained NAS, NAS Head i.e. NetApp OnTap)
- File Server Discovery (Microsoft Scale-Out File Server, Unified Storage)
- A new architecture provides ~10x faster disk/partition enumeration operations
- Remote and cluster-awareness capabilities
- SM-API exposes new Windows Server 2012 R2 features (Tiering, Write-back cache, and so on)
- SM-API features added to System Center VMM
- End-to-end storage high availability space provisioning in minutes in VMM console
- More Windows PowerShell
- More resilience to power failures
- Highest levels of system availability
- Larger volumes with better durability
- Scalable to petabyte size volumes
- Hardware agnostic storage configuration
- Provide a DR solution for planned and unplanned outages of mission critical workloads.
- Use SMB3 transport with proven reliability, scalability, and performance.
- Stretched failover clusters within metropolitan distances.
- Manage end to end storage and clustering for Hyper-V, Storage Replica, Storage Spaces, Scale-Out File Server, SMB3, Deduplication, and ReFS/NTFS using Microsoft software
- Reduce downtime, and increase reliability and productivity intrinsic to Windows.
- Cloud-based storage service for online backups
- Windows PowerShell instrumented
- Simple, reliable Disaster Recovery solution for applications and data
- Supports System Center 2012 R2 DPM
Implementing Scale-out File Server
Scale-out File Server Recommended Configuration:
- Gather all virtual servers IOPS requirements*
- Gather Applications IOPS requirements
- Total IOPS of all applications & Virtual machines must be less than available IOPS of physical storage
- Keep latency below 3 ms at all time for high performance
- Gather required capacity + potential growth + best practice
- N+1 Compute, Network and Storage Hardware
- Use low latency, high throughput networks
- Segregate storage network from data network using logical network (VLAN) or fibre channel
- Tools to be used
- Veeam One for Capacity Planning & Bottleneck findings
- Disk RAID and IOPS Calculator
- RAID Performance Calculator
- RAID Size Calculator
*Not all virtual servers are same, DHCP server generate few IOPS, SQL server and Exchange can generate thousands of IOPS.
*Do not place SQL Server on the same logical volume (LUN) with Exchange Server or Microsoft Dynamics or Backup Server.
*Isolate high IO workloads to separate logical volume or even separate storage pool if possible.
Prerequisites for Scale-Out File Server
- Install File and Storage Services server role, and the Failover Clustering feature on the cluster nodes
- Configure Microsoft failover Clusters using this article Windows Server 2012: Failover Clustering Deep Dive Part II
- Add Cluster Share Volume
- Log on to the server as a member of the local Administrators group.
- Open Server Manager> Click Tools, and then click Failover Cluster Manager.
- Click Storage, right-click the disk that you want to add to the cluster shared volume, and then click Add to Cluster Shared Volumes> Add Storage Presented to this cluster.
Configure Scale-out File Server
- Open Failover Cluster Manager> Right-click the name of the cluster, and then click Configure Role.
- On the Before You Begin page, click Next.
- On the Select Role page, click File Server, and then click Next.
- On the File Server Type page, select the Scale-Out File Server for application data option, and then click Next.
- On the Client Access Point page, in the Name box, type a NETBIOS of Scale-Out File Server, and then click Next.
- On the Confirmation page, confirm your settings, and then click Next.
- On the Summary page, click Finish.
Create Continuously Available File Share
- Open Failover Cluster Manager>Expand the cluster, and then click Roles.
- Right-click the file server role, and then click Add File Share.
- On the Select the profile for this share page, click SMB Share – Applications, and then click Next.
- On the Select the server and path for this share page, click the name of the cluster shared volume, and then click Next.
- On the Specify share name page, in the Share name box, type a name for the file share, and then click Next.
- On the Configure share settings page, ensure that the Continuously Available check box is selected, and then click Next.
- On the Specify permissions to control access page, click Customize permissions, grant the following permissions, and then click Next:
- To use Scale-Out File Server file share for Hyper-V: All Hyper-V computer accounts, the SYSTEM account, cluster computer account for any Hyper-V clusters, and all Hyper-V administrators must be granted full control on the share and the file system.
- To use Scale-Out File Server on Microsoft SQL Server: The SQL Server service account must be granted full control on the share and the file system
8. On the Confirm selections page, click Create. On the View results page, click Close.
Use SOFS for Hyper-v Server VHDX Store:
- Open Hyper-V Manager. Click Start, and then click Hyper-V Manager.
- Open Hyper-v Settings> Virtual Hard Disks> Specify Location of Store as \\SOFS\VHDShare\ and Specify location of Virtual Machine Configuration \\SOFS\VHDCShare
- Click Ok.
Use SOFS in System Center VMM:
Use SOFS for SQL Database Store:
1. Assign SQL Service Account Full permission to SOFS Share
- Open Windows Explorer and navigate to the scale-out file share.
- Right-click the folder, and then click Properties.
- Click the Sharing tab, click Advanced Sharing, and then click Permissions.
- Ensure that the SQL Server service account has full-control permissions.
- Click OK twice.
- Click the Security tab. Ensure that the SQL Server service account has full-control permissions.
2. In SQL Server 2012, you can choose to store all database files in a scale-out file share during installation.
4. Create a Database on SOFS Share but on the existing SQL Server using SQL Script
CREATE DATABASE [TestDB]
( NAME = N’TestDB’, FILENAME = N’\\SOFS\SQLDB\TestDB.mdf’ )
( NAME = N’TestDBLog’, FILENAME = N’\\SOFS\SQLDBLog\TestDBLogs.ldf’)
Use Backup & Recovery:
System Center Data Protection Manager 2012 R2
Configure and add a dedupe storage target into DPM 2012 R2. DPM 2012 R2 will not backup SOFS itself but it will backup VHDX files stored on SOFS. Follow Deduplicate DPM storage and protection for virtual machines with SMB storage guide to backup virtual machines.
Veeam Availability Suite
- Log on to Veeam Availability Console>Click Backup Repository> Right Click New backup Repository
- Select Shared Folder on the Type Tab
- Add SMB Backup Target \\SOFS\Repository
- Follow the Wizard. Make Sure Service Account of Veeam has full access permission to \\SOFS\Repository Share.
- Click Scale-out Repositories>Right Click Add Scale-out backup repository> Type the Name
- Select the backup repository you created in previous>Follow the Wizard to complete tasks.