|
General
|
|
|
- Fully Supported
- Limitation
- Not Supported
- Information Only
|
|
Pros
|
- + Extensive platform support
- + Extensive data protection capabilities
- + Flexible deployment options
|
- + Built for performance and robustness
- + Broad range of hardware support
- + Well suited for open private cloud platforms
|
- + Broad range of hardware support
- + Strong Microsoft integration
- + Great simplicity to deploy
|
|
Cons
|
- - No native data integrity verification
- - Dedup/compr not performance optimized
- - Disk/node failure protection not capacity optimized
|
- - Only basic support for VMware and Hyper-V
- - No native dedup capabilities
- - No native encryption capabilities
|
- - Single hypervisor support
- - Limited native data protection
- - Dedup/compr not performance optimized
|
|
|
|
Content |
|
|
|
WhatMatrix
|
WhatMatrix
|
WhatMatrix
|
|
|
|
Assessment |
|
|
|
Name: SANsymphony
Type: Software-only (SDS)
Development Start: 1998
First Product Release: 1999
NEW
DataCore was founded in 1998 and began to ship its first software-defined storage (SDS) platform, SANsymphony (SSY), in 1999. DataCore launched a separate entry-level storage virtualization solution, SANmelody (v1.4), in 2004. This platform was also the foundation for DataCores HCI solution. In 2014 DataCore formally announced Hyperconverged Virtual SAN as a separate product. In May 2018 integral changes to the software licensing model enabled consolidation because the core software is the same and since then cumulatively called DataCore SANsymphony.
One year later, in 2019, DataCore expanded its software-defined storage portfolio with a solution especially for the need of file virtualization. The additional SDS offering is called DataCore vFilO and operates as scale-out global file system across distributed sites spanning on-premises and cloud-based NFS and SMB shares.
Recently, at the beginning of 2021, DataCore acquired Caringo and integrated its know how and software-defined object storage offerings into the DataCore portfolio. The newest member of the DataCore SDS portfolio is called DataCore Swarm and together with its complementary offering SwarmFS and DataCore FileFly it enables customers to build on-premises object storage solutions that radically simplify the ability to manage, store, and protect data while allowing multi-protocol (S3/HTTP, API, NFS/SMB) access to any application, device, or end-user.
DataCore Software specializes in the high-tech fields of software solutions for block, file, and object storage. DataCore has by far the longest track-record when it comes to software-defined storage, when comparing to the other SDS/HCI vendors on the WhatMatrix.
In April 2021 the company had an install base of more than 10,000 customers worldwide and there were about 250 employees working for DataCore.
|
Name: StorPool Distributed Storage (StorPool Storage)
Type: Software-only (SDS)
Development Start: 2011
First Product Release: Nov 2012
StorPool was founded in 2011 and began to ship its first software-defined storage (SDS) platform, StorPool Distributed Storage, towards the end of 2012 to early access customers. In October 2013 the StorPool solution became Generally Available (GA). StorPool combines direct-attached storage drives from multiple standard servers to create a single pool of shared block storage. StorPool leverages a fully-distributed, shared-nothing architecture. All storage functions are performed by all servers that are part of the cluster on an equal peer-to-peer basis. StorPool can be used with any industry standard x86 server hardware.
StorPool is a mature SDS offering that has been running in production environments for over 7 years now and up to multi-petabyte scale.
The platforms customer install base is unknown. There are currently more than 30 employees working for StorPool.
|
Name: Storage Spaces Direct (S2D)
Type: Software-only (SDS)
Development Start: 2015
First Product Release: Oct 2016
NEW
Microsoft, founded in 1975, released its first Software Defined Storage (SDS) solution, Storage Spaces, as a feature in Windows Server 2012. Storage Spaces was enhanced in the R2 release of Windows Server 2012. In october 2016 Microsoft introduced the all-new Storage Spaces Direct (S2D) as integral part of the Windows Server 2016 platform. Microsoft S2D aggregates direct attached storage from separate x86 servers into a highly available shared storage pool.
At the start of October 2019 Microsoft introduced a new S2D version with the release of Windows Server 2019. The new S2D version features both new capabilities as well as improvements in existing capabilities.
Customer install base and number of employees working on S2D are unknown at this time. In March 2018 there were more than 10,000 clusters worldwide running Storage Spaces Direct.
|
|
|
GA Release Dates:
SSY 10.0 PSP12: jan 2021
SSY 10.0 PSP11: aug 2020
SSY 10.0 PSP10: dec 2019
SSY 10.0 PSP9: jul 2019
SSY 10.0 PSP8: sep 2018
SSY 10.0 PSP7: dec 2017
SSY 10.0 PSP6 U5: aug 2017
.
SSY 10.0: jun 2014
SSY 9.0: jul 2012
SSY 8.1: aug 2011
SSY 8.0: dec 2010
SSY 7.0: apr 2009
.
SSY 3.0: 1999
NEW
10th Generation software. DataCore currently has the most experience when it comes to SDS/HCI technology, when comparing SANsymphony to other SDS/HCI platforms.
SANsymphony (SSY) version 3 was the first public release that hit the market back in 1999. The product has evolved ever since and the current major release is version 10. The list includes only the milestone releases.
PSP = Product Support Package
U = Update
|
Release Dates:
SP 19.01: Jun 2019
SP 18.02: Jan 2018
SP 18.01: Dec 2017
SP 16.03: Dec 2016
SP 16.02: Aug 2016
SP 16.01: Mar 2016
SP 15.03: Nov 2015
SP 15.02: Mar 2015
SP 15.01: Jan 2015
SP 14.12: Dec 2014
SP 14.10: Oct 2014
SP 14.08: Aug 2014
SP 14.04: Apr 2014
SP 14.02: Feb 2014
SP 13.10: Oct 2013 (GA)
SP 20121217: Dec 2012 (Early access)
SP 20121119: Nov 2012 (Early access)
|
GA Release Dates:
S2D 2019: Oct 2018
S2D 2016: Oct 2016
NEW
2nd generation software. Because Storage Spaces Direct (S2D) is an integral part of the Windows Server platform, the first GA version of S2D was introduced as part of the GA release of Windows Server 2016 in October 2016. The second GA version of S2D was introduced as a part of the GA release of Windows Server 2019 in October 2018.
Microsoft recommends deploying Storage Spaces Direct on hardware validated by the Windows Server Software Defined (WSSD) program. For Windows Server 2019, the first wave of WSSD offers was launched in mid-January 2019.
|
|
|
|
Pricing |
|
|
Hardware Pricing Model
Details
|
N/A
SANsymphony is sold by DataCore as a software-only solution. Server hardware must be acquired separately.
The entry point for all hardware and software compatibility statements is: https://www.datacore.com/products/sansymphony/tech/compatibility/
On this page links can be found to: Storage Devices, Servers, SANs, Operating Systems (Hosts), Networks, Hypervisors, Desktops.
Minimum server hardware requirements can be found at: https://www.datacore.com/products/sansymphony/tech/prerequisites/
|
N/A
StorPool is sold as a software-only solution. Server hardware must be acquired separately.
Hardware is either procured by the customer, as per Hardware Compatibility List (HCL), or as a complete software+hardware solution from selected StorPool technology partners.
Hardware from any vendor can be used, as the HCL is on a component level (CPU, SSD, etc.) basis.
|
Per Node
Storage Spaces Direct (S2D) is sold by Microsoft as a software-only solution. Server hardware must be acquired separately.
You can find a Hardware Compatibiliy List here: https://www.windowsservercatalog.com/default.aspx
Microsoft recommends deploying Storage Spaces Direct on hardware validated by the Windows Server Software Defined (WSSD) program. For Windows Server 2019, the first wave of WSSD offers will launch in mid-January 2019.
|
|
Software Pricing Model
Details
|
Capacity based (per TB)
NEW
DataCore SANsymphony is licensed in three different editions: Enterprise, Standard, and Business.
All editions are licensed per capacity (in 1 TB steps). Except for the Business edition which has a fixed price per TB, the more capacity that is used by an end-user in each class, the lower the price per TB.
Each edition includes a defined feature set.
Enterprise (EN) includes all available features plus expanded Parallel I/O.
Standard (ST) includes all Enterprise (EN) features, except FC connections, Encryption, Inline Deduplication & Compression and Shared Multi-Port Array (SMPA) support with regular Parallel I/O.
Business (BZ) as entry-offering includes all essential Enterprise (EN) features, except Asynchronous Replication & Site Recovery, Encryption, Deduplication & Compression, Random Write Accelerator (RWA) and Continuous Data Protection (CDP) with limited Parallel I/O.
Customers can choose between a perpetual licensing model or a term-based licensing model. Any initial license purchase for perpetual licensing includes Premier Support for either 1, 3 or 5 years. Alternatively, term-based licensing is available for either 1, 3 or 5 years, always including Premier Support as well, plus enhanced DataCore Insight Services (predictive analytics with actionable insights). In most regions, BZ is available as term license only.
Capacity can be expanded in 1 TB steps. There exists a 10 TB minimum per installation for Business (BZ). Moreover, BZ is limited to 2 instances and a total capacity of 38 TB per installation, but one customer can have multiple BZ installations.
Cost neutral upgrades are available when upgrading from Business/Standard (BZ/ST) to Enterprise (EN).
|
Capacity based (per TB)
Both OPEX (monthly recurring) and CAPEX (perpetual) options are available.
StorPool standard licensing is on a pay-as-you-grow monthly recurring basis and is “all inclusive”. This means it includes the right to use the software, 24/7 support, managed services, new versions & updates, pre-deployment consulting, fine tuning and proactive monitoring.
StorPool also provides perpetual licensing with 1-year and 3-year prepay packages at considerable discounts.
Per TB licensing is based on the amount of data within two separate performance tiers: HDD and SSD. The capacity of these two tiers can be mixed within the same solution.
|
Per Node
Windows Server 2019 Datacenter edition is required. The Datacenter edition supports up to 16 physical cores. If your server has more than 16 physical cores, you have to buy a license pack for each two additional cores.
|
|
Support Pricing Model
Details
|
Capacity based (per TB)
Support is always provided on a premium (24x7) basis, including free updates.
More information about DataCores support policy can be found here:
http://datacore.custhelp.com/app/answers/detail/a_id/1270/~/what-is-datacores-support-policy-for-its-products
|
Capacity based (per TB)
Support is either bundled with OPEX or separately offered with CAPEX. in both cases the price is capacity based (per TB).
Support always includes 24/7 software support as well as proactive monitoring and managed services.
|
Per Node
Microsoft S2D is supported by Microsoft Customer Service & Support (CSS), which is truly global and offers Tier 1/2/3 support and onsite support in every region. Mission Critical support, account management, support contracts, and support management are available, with response time SLAs depending on the level of support purchased. Pay per incident support is also available.
|
|
|
Design & Deploy
|
|
|
|
|
|
|
Design |
|
|
Consolidation Scope
Details
|
Storage
Data Protection
Management
Automation&Orchestration
DataCore is storage-oriented.
SANsymphony Software-Defined Storage Services are focused on variable deployment models. The range covers classical Storage Virtualization over Converged and Hybrid-Converged to Hyperconverged including a seamless migration between them.
DataCore aims to provide all key components within a storage ecosystem including enhanced data protection and automation & orchestration.
|
Compute
Storage
Data Protection (limited)
Automation&Orchestration (limited)
StorPool provides primary, shared block-storage, consolidating all storage into one solution. StorPool is commonly used to build Hyper-Converged Infrastructure (HCI), as about half of the field deployments combine compute+storage within a single-layer architecture.
|
Hypervisor
Compute
Storage
Data Protection (limited)
Management
Automation&Orchestration
Microsoft is stack-oriented, whereas the S2D platform itself is heavily storage-focused.
With Storage Spaces Direct (S2D) Microsoft aims to provide all functionality required in a Private Cloud ecosystem.
|
|
|
1, 10, 25, 40, 100 GbE (iSCSI)
8, 16, 32, 64 Gbps (FC)
The bandwidth required depends entirely on the specifc workload needs.
SANsymphony 10 PSP11 introduced support for Emulex Gen 7 64 Gbps Fibre Channel HBAs.
SANsymphony 10 PSP8 introduced support for Gen6 16/32 Gbps ATTO Fibre Channel HBAs.
|
Standard Ethernet 10/25/40/50/100 GbE
Infiniband (EoL)
StorPool Distributed Storage (StorPool) supports ethernet connectivity using 10 GbE or faster network.
|
10, 25, 40, 100 GbE
Storage Spaces Direct (S2D) supports ethernet connectivity using SFP+ or Base-T. Microsoft requires 10GbE for intra-cluster communication to avoid the network becoming a performance bottleneck.
S2D supports several network bandwidths: 10, 25, 40 and 100 Gb Ethernet. Although it is not mandatory, a network compliant with RDMA (RoCE or iWARP) brings the best performance.
|
|
Overall Design Complexity
Details
|
Medium
DataCore SANsymphony is able to meet many different use-cases because of its flexible technical architecture, however this also means there are a lot of design choices that need to be made. DataCore SANsymphony seeks to provide important capabilities either natively or tightly integrated, and this keeps the design process relatively simple. However, because many features in SANsymphony are optional and thus can be turned on/off, in effect each one needs to be taken into consideration when preparing a detailed design.
|
Medium
StorPool is provided as a fully deployed working solution with 24/7 support and managed service included in the fee. The managed service covers solution design, hardware selection, deployment and help wirth the integration with 3rd party systems.
StorPool customers can choose to use StorPools integrated data protection functionality or to work with specialized backup solution providers.
|
Medium
Microsoft Storage Spaces Direct (S2D) is able to meet many different use-cases because of its flexible technical architecture, however this also means there are multiple design choices that need to be made. Today Microsoft S2D leverages the data protection capabilities available in Microsofts hypervisor platform, Hyper-V, and the Windows Server OS, which keeps the overall design from getting overly complex. Microsoft S2D in Windows Server 2019 also has a core set of native data services that the previous version lacked.
|
|
External Performance Validation
Details
|
SPC (Jun 2016)
ESG Lab (Jan 2016)
SPC (Jun 2016)
Title: 'Dual Node, Fibre Channel SAN'
Workloads: SPC-1
Benchmark Tools: SPC-1 Workload Generator
Hardware: All-Flash Lenovo x3650, 2-node cluster, FC-connected, SSY 10.0, 4x All-Flash Dell MD1220 SAS Storage Arrays
SPC (Jun 2016)
Title: 'Dual Node, High Availability, Hyper-converged'
Workloads: SPC-1
Benchmark Tools: SPC-1 Workload Generator
Hardware: All-Flash Lenovo x3650, 2-node cluster, FC-interconnect, SSY 10.0
ESG Lab (Jan 2016)
Title: 'DataCore Application-adaptive Data Infrastructure Software'
Workloads: OLTP
Benchmark Tools: IOmeter
Hardware: Hybrid (Tiered) Dell PowerEdge R720, 2-node cluster, SSY 10.0
|
N/A (one internally-validated)
No externally validated test reports have been published in past years (2016-2020).
However, in May 2019 StorPool did publish an internally validated performance benchmark test:
Intel Data Center Builders (Jun 2019)
Title: 'The IOPS challenge is over. StorPool holds the new world record – 13.8 mln IOPS'
Workloads:
Benchmark Tool: FIO
Hardware: All-Flash x86-based servers, 12-node cluster, 25Gb Ethernet connected, SP v19, 4x Intel SSD DC P4510 8TB NVMe per node
For more information please go to:
https://storpool.com/blog/the-iops-challenge-is-over-storpool-holds-the-new-world-record-13-8-mln-iops
or
https://builders.intel.com/blog/the-iops-challenge-is-over-new-world-record-is-hit-13-8-million-iops/
|
ESG Lab (mar 2017)
ESG Lab (Mar 2017)
Title: 'Performance and Cost Efficiency of Intel and Microsoft Hyperconverged Infrastructure'
Workloads: Generic
Benchmark Tools: Diskspd Utility (generic)
Hardware: Hybrid Intel servers, 4-node cluster, S2D 1.0; All-flash Intel servers, 4-node cluster, S2D 1.0; All-NVMe Intel servers, 4-node cluster, S2D 1.0
|
|
Evaluation Methods
Details
|
Free Trial (30-days)
Proof-of-Concept (PoC; up to 12 months)
SANsymphony is freely downloadble after registering online and offers full platform support (complete Enterprise feature set) but is scale (4 nodes), capacity (16TB) and time (30 days) restricted, what all can be expanded upon request. The free trial version of SANsymphony can be installed on all commodity hardware platforms that meet the hardware requirements.
For more information please go here: https://www.datacore.com/try-it-now/
|
Evaluation license (30-days)
StorPool offers evaluation licenses for 30-days. These licenses can be used in non-production environments.
A StorPool evaluation license provides full functionalty and unlimited capacity. It is provided with a 'best effort' level of support.
|
Free Trial (180-days)
Proof-of-Concept (PoC)
A Storage Spaces Direct (S2D) PoC environment can be deployed either by running it physically or by running it virtually as VMs on top of a hypervisor (Hyper-V or VMware).
Windows Server 2019 Datacenter evaluation can be downloaded freely. It is time-restricted (180-days).
For lab purposes, Microsoft Support can enable S2D in current Windows Server 2019 build.
Microsoft recommends deploying Storage Spaces Direct on hardware validated by the Windows Server Software Defined (WSSD) program. For Windows Server 2019, the first wave of WSSD offers will launch in mid-January 2019.
|
|
|
|
Deploy |
|
|
Deployment Architecture
Details
|
Single-Layer
Dual-Layer
Single-Layer = servers function as compute nodes as well as storage nodes.
Dual-Layer = servers function only as storage nodes; compute runs on different nodes.
Single-Layer:
- SANsymphony is implemented as virtual machine (VM) or in case of Hyper-V as service layer on Hyper-V parent OS, managing internal and/or external storage devices and providing virtual disks back to the hypervisor cluster it is implemented in. DataCore calls this a hyper-converged deployment.
Dual-Layer:
- SANsymphony is implemented as bare metal nodes, managing external storage (SAN/NAS approach) and providing virtual disks to external hosts which can be either bare metal OS systems and/or hypervisors. DataCore calls this a traditional deployment.
- SANsymphony is implemented as bare metal nodes, managing internal storage devices (server-SAN approach) and providing virtual disks to external hosts which can be either bare metal OS systems and/or hypervisors. DataCore calls this a converged deployment.
Mixed:
- SANsymphony is implemented in any combination of the above 3 deployments within a single management entity (Server Group) acting as a unified storage grid. DataCore calls this a hybrid-converged deployment.
|
Single-Layer
Dual-Layer
Single-Layer = servers function as compute nodes as well as storage nodes.
Dual-Layer = servers function only as storage nodes; compute runs on different nodes.
Single-Layer:
- StorPool Distributed Storage (StorPool) is a service running on a Linux OS, next to the KVM hypervisor, containers or applications. This is a hyper-converged deployment (compute+storage offered by a single layer).
Dual-Layer:
- StorPool is running on dedicated Linux servers and provides virtual disks to external compute hosts – bare metal and / or hypervisors.
Mixed:
- Some of the servers are hyper-converged (compute+storage offered by a single layer), while other servers are dedicated storage nodes or dedicated compute nodes.
|
Single-Layer
Dual-Layer
You can deploy Storage Spaces Direct (S2D) in two ways:
1. By using the S2D servers for hosting compute as well as storage, thus creating a hyper-converged single-layer configuration. Microsoft uses the term Hyper-converged.
2. By using the S2D servers as storage nodes only, thus creating a traditional dual-layer configuration where compute is hosted on other servers that access the storage through SMB3. Microsoft uses the term Disaggregated.
|
|
Deployment Method
Details
|
BYOS (some automation)
BYOS = Bring-Your-Own-Server-Hardware
DataCore SANsymphony is made easy by providing a very straightforward implementation approach.
|
Turnkey (remote install)
StorPool delivers a working software defined storage (SDS) solution. This includes testing of the customers hardware, installing and configuring the software, tuning and assisting in integrations with other applications. The goal is to provide a hassle-free solution that is guaranteed to be effective and efficient while delivering high performance.
|
BYOS (some automation)
NEW
Because of the tight integration with the Microsoft Server platform, Storage Spaces Direct (S2D) is very easy to install and configure. It is also possible to streamline the software deployment of an entire S2D cluster by automating all the steps using PowerShell cmdlets.
With WSSD Certified Ready-Node solutions from well-known server hardware vendors you get a pre-defined configuration for the entire solution. However, this setup is not always optimal, especially with regard to the network parts.
WSSD solutions for S2D in Windows Server 2019 are currently slated for release in January 2019.
BYOS = Bring-Your-Own-Server-Hardware
WSSD = Windows Server Software-defined
|
|
|
Workload Support
|
|
|
|
|
|
|
Virtualization |
|
|
Hypervisor Deployment
Details
|
Virtual Storage Controller
Kernel (Optional for Hyper-V)
The SANsymphony Controller is deployed as a pre-configured Virtual Machine on top of each server that acts as a part of the SANsymphony storage solution and commits its internal storage and/or externally connected storage to the shared resource pool. The Virtual Storage Controller (VSC) can be configured direct access to the physical disks, so the hypervisor is not impeding the I/O flow.
In Microsoft Hyper-V environments the SANsymphony software can also be installed in the Windows Server Root Partition. DataCore does not recommend installing SANsymphony in a Hyper-V guest VM as it introduces virtualization layer overhead and obstructs DataCore Software from directly accessing CPU, RAM and storage. This means that installing SANsymphony in the Windows Server Root Partition is the preferred deployment option. More information about the Windows Server Root Partition can be found here: https://docs.microsoft.com/en-us/windows-server/administration/performance-tuning/role/hyper-v-server/architecture
The DataCore software can be installed on Microsoft Windows Server 2019 or lower (all versions down to Microsoft Windows Server 2012/R2).
Kernel Integrated, Virtual Controller and VIB are each distributed architectures, having one active component per virtualization host that work together as a group. All three architectures are capable of delivering a complete set of storage services and good performance. Kernel Integrated solutions reside within the protected lower layer, VIBs reside just above the protected kernel layer, and Virtual Controller solutions reside in the upper user layer. This makes Virtual Controller solutions somewhat more prone to external actions (eg. most VSCs do not like snapshots). On the other hand Kernel Integrated solutions are less flexible because a new version requires the upgrade of the entire hypervisor platform. VIBs have the middle-ground, as they provide more flexibility than kernel integrated solutions and remain relatively shielded from the user level.
|
Next to Hypervisor (KVM)
None (ESXi, Hyper-V, XenServer, OracleVM)
StorPool storage nodes can be deployed on bare metal only. The storage is presented to the compute nodes through a native StorPool block device driver for Linux-based clients or via iSCSI interface for non-Linux workloads.
StorPool Distributed Storage (StorPool) is accessed through the native StorPool client (initiator, block device driver) for Linux-based hypervisors (KVM).
VMware ESXi, Hyper-V, Xen, XenServer, OracleVM and other OS/hypervisors access storage presented by StorPool through iSCSI.
StorPool also features deep integrations with a number of Cloud Management Systems (OpenStack, CloudStack, OpenNebula, OnApp, etc). Kubernetes is connected to StorPool through K8S CSI driver.
|
Kernel Integrated
Storage Spaces Direct (S2D) is embedded into the Windows 2019 Server operating system. This means it does not require any Controller VMs to be deployed on top of the hypervisor platform.
To be more precise, S2D is a feature that is fully integrated into Windows Failover Clustering. When you create a Windows cluster, the S2D feature is disabled by default so you will have to enable it.
Microsoft has also developed the Software Storage Bus so each direct attached disk in each server node can be accessed by others server nodes.
Both Kernel Integrated and Virtual Controller are distributed architectures, having one active component per virtualization host that work together as a group. Both architectures are capable of delivering a complete set of storage services and good performance. Kernel Integrated solutions reside within the protected lower layer and Virtual Controller solutions reside in the upper user layer. This makes Virtual Controller solutions somewhat more prone to external actions (eg. most VSCs do not like snapshots). On the other hand Kernel Integrated solutions are less flexible because a new version requires the upgrade of the entire hypervisor platform.
|
|
Hypervisor Compatibility
Details
|
VMware vSphere ESXi 5.5-7.0U1
Microsoft Hyper-V 2012R2/2016/2019
Linux KVM
Citrix Hypervisor 7.1.2/7.6/8.0 (XenServer)
'Not qualified' means there is no generic support qualification due to limited market footprint of the product. However, a customer can always individually qualify the system with a specific SANsymphony version and will get full support after passing the self-qualification process.
Only products explicitly labeled 'Not Supported' have failed qualification or have shown incompatibility.
|
KVM
VMware ESXi
Hyper-V
XenServer
OracleVM
|
Microsoft Hyper-V 2012R2 (Dual Layer)
Microsoft Hyper-V 2016/2019
Storage Spaces Direct (S2D) is an integral part of the Microsoft Windows Server 2019 platform. As such it cannot be used with any other hypervisor platform than Hyper-V.
S2D supports a single hypervisor in contrast to other SDS/HCI products that support multiple hypervisors.
Both S2D deployment models (single-layer, dual layer) can be used in conjunction with Hyper-V. When setup in a dual-layer configuration, the storage nodes with S2D act as scale-out file servers that present storage to the Hyper-V compute nodes.
|
|
Hypervisor Interconnect
Details
|
iSCSI
FC
The SANsymphony software-only solution supports both iSCSI and FC protocols to present storage to hypervisor environments.
DataCore SANsymphony supports:
- iSCSI (Switched and point-to-point)
- Fibre Channel (Switched and point-to-point)
- Fibre Channel over Ethernet (FCoE)
- Switched, where host uses Converged Network Adapter (CNA), and switch outputs Fibre Channel
|
Block device driver (KVM)
iSCSI (ESXi, Hyper-V, XenServer, OracleVM)
StorPool storage nodes can be deployed on bare metal only. The storage is presented to the compute nodes through a StorPool native block device driver for Linux-based clients or via iSCSI interface for non-Linux workloads.
StorPool Distributed Storage (StorPool) is accessed through the native StorPool client (initiator, block device driver) for Linux-based hypervisors (KVM).
VMware ESXi, Hyper-V, Xen, XenServer, OracleVM and other OS/hypervisors access storage presented by StorPool through iSCSI.
|
SMB3
Storage Spaces Direct (S2D) is exposed to the Windows OS through the Cluster Shared Volume File System (CSVFS). In a dual-layer deployment model S2D volumes are presented to compute nodes through the SMB3 protocol.
Storage nodes communicate with one another using the SMB3 protocol, including SMB Direct and SMB Multichannel.
Hyper-V is capable of supporting virtual guest clusters by leveraging 'VHD Set' files, a feature that was introduced in Hyper-V 2016.
|
|
|
|
Bare Metal |
|
|
Bare Metal Compatibility
Details
|
Microsoft Windows Server 2012R2/2016/2019
Red Hat Enterprise Linux (RHEL) 6.5/6.6/7.3
SUSE Linux Enterprise Server 11.0SP3+4/12.0SP1
Ubuntu Linux 16.04 LTS
CentOS 6.5/6.6/7.3
Oracle Solaris 10.0/11.1/11.2/11.3
Any operating system currently not qualified for support can always be individually qualified with a specific SANsymphony version and will get full support after passing the self-qualification process.
SANsymphony provides virtual disks (block storage LUNs) to all of the popular host operating systems that use standard disk drives with 512 byte or 4K byte sectors. These hosts can access the SANsymphony virtual disks via SAN protocols including iSCSI, Fibre Channel (FC) and Fibre Channel over Ethernet (FCoE).
Mainframe operating systems such as IBM z/OS, z/TPF, z/VSE or z/VM are not supported.
SANsymphony itself runs on Microsoft Windows Server 2012/R2 or higher.
|
Microsoft Windows Server 2012R2-2019
CentOS 7, 8
Debian Linux 9
Ubuntu Linux 16.04 LTS, 18.04 LTS
Other Linux distributions (eg. RHEL, OEL, SuSE)
StorPool supports all 64-bit Linux distributions. The following platform versions have been tested thoroughly and are thus supported by default:
- CentOS 7, 8
- Debian Linux 9
- Ubuntu Linux 16.04 LTS, 18.04 LTS
Other Linux distributions (eg. RHEL, OEL, SuSE) can be supported.
The Windows Server OS is supported through iSCSI.
StorPool HCI nodes as well as StorPool storage-only nodes run one of the supported Linux distributions.
|
Microsoft Windows Server (Limited)
Storage Spaces Direct (S2D) is supported for use in MS SQL Server solutions.
When deploying S2D with Scale out File Server on top, file services are supported. This mean you can store data such as Hyper-V VM, RDS Profile (UPD), or more generic data such as Word and PowerPoint, even though this is not recommended by Microsoft. SMB shares are supported but no NFS shares or iSCSI targets.
|
|
Bare Metal Interconnect
Details
|
iSCSI
FC
FCoE
|
Block device driver (Linux)
iSCSI (Windows Server)
The StorPool Block Device Driver for Linux (storpool_block) component is installed on application servers that are going to consume storage.
Additionally, storage can be exposes through iSCSI for consumption by Linux and non-Linux operating systems.
|
SMB3
|
|
|
|
Containers |
|
|
Container Integration Type
Details
|
Built-in (native)
DataCore provides its own Volume Plugin for natively providing Docker container support, available on Docker Hub.
DataCore also has a native CSI integration with Kubernetes, available on Github.
|
Hypervisor: None
Bare metal (Linux): Block device driver
For containers in virtual machines StorPool relies on the container support delivered by the hypervisor platform.
With regard to bare metal container environments StorPool provides linux block devices that can be used as persistent storage for containers.
|
Built-in (native)
Microsoft provides enhancements in its own OS software for enabling S2D container support.
|
|
Container Platform Compatibility
Details
|
Docker CE/EE 18.03+
Docker EE = Docker Enterprise Edition
|
Most container platforms
StorPool can be used by any container platform that can leverage standard block devices as persistent storage.
|
Windows (Native)
Linux (Docker in Linux VM or Windows Server 2016 VM)
NEW
Windows Server 2019 offers native support for Windows Server 2016/2019 containers at this time.
Currently Docker EE does not yet officially support Windows Server 2019 (Build 1809). For updates please check https://docs.docker.com/ee/supported-platforms/
Leveraging Docker inside a Linux VM or Windows Server 2016 VM is supported (nested virtualization).
Docker containers running on Windows Server 2019 are based on Windows Server Core or Nano Server. The base images are now hosted on Microsofts container registry, MCR.
Windows Server 2019 introduces support for running both Windows and Linux containers on the same container host, using the same Docker daemon. This enables end-user organizations to have a heterogenous container host environment while providing flexibility to application developers.
Docker EE = Docker Enterprise Edition
Native = Windows Containers
|
|
Container Platform Interconnect
Details
|
Docker Volume plugin (certified)
The DataCore SDS Docker Volume plugin (DVP) enables Docker Containers to use storage persistently, in other words enables SANsymphony data volumes to persist beyond the lifetime of both a container or a container host. DataCore leverages SANsymphony iSCSI and FC to provide storage to containers. This effectively means that the hypervisor layer is bypassed.
The Docker SDS Volume plugin (DVP) is officially 'Docker Certified' and can be downloaded from the Docker Hub. The plugin is installed inside the Docker host, which can be either a VM or a Bare Metal Host connect to a SANsymphony storage cluster.
For more information please go to: https://hub.docker.com/plugins/datacore-sds-volume-plugin
The Kubernetes CSI plugin can be downloaded from GitHub. The plugin is automatically deployed as several pods within the Kubernetes system.
For more information please go to: https://github.com/DataCoreSoftware/csi-plugin
Both plugins are supported with SANsymphony 10 PSP7 U2 and later.
|
Standard block devices
StorPool provides standard block devices that can be used by Docker containers as any other block device or SAN.
|
OS-integrated software + CSV/SMB (Native)
VHDX (Docker in Linux VM or Windows Server 2016 VM)
NEW
Native: With Windows Server 2019 (plus latest updates) there is support for mapping container data volumes on top of Cluster Shared Volumes (CSV) backed by S2D shared volumes. This allows a container to access its persistent data regardless of the physical cluster node where the container resides.
With Scaleout File Server, created on top of an S2D cluster, the same CSV data folder can be made accessible via an Server Message Block (SMB) share. This remote SMB share can then be mapped locally on a container host, using the new SMB Global Mapping PowerShell.
Docker: When leveraging Docker inside a Linux or Windows Sever 2016 VM, virtual disks (VHDX) is configured and attached to the VM. Inside the VM one or more virtual disks are mapped to the Linux/Windows container.
Native = Windows Containers
|
|
Container Host Compatibility
Details
|
Virtualized container hosts on all supported hypervisors
Bare Metal container hosts
The DataCore native plug-ins are container-host centric and as such can be used across all SANsymphony-supported hypervisor platforms (VMware vSphere, Microsoft Hyper-V, KVM, XenServer, Oracle VM Server) as well as on bare metal platforms.
|
Bare-metal container hosts
The Kubernetes worker node participates as a client (initiator) in the StorPool cluster. Both dual-layer architectures and single-layer architectures are supported, meaning that StorPool can be leveraged as a storage-only or as a hyperconverged (compute+storage) node when serving storage to containers.
|
Virtualized container hosts on Microsoft Hyper-V hypervisor (Docker in Linux VM, Native in Windows VM)
Bare Metal container hosts (Native)
NEW
Both Windows Server 2019 with the Hyper-V role installed and bare metal Windows Server 2019 are supported for hosting Windows containers.
Windows Server 2019 is not yet officially supported by Docker and Kubernetes.
Leveraging Docker inside a Linux VM to run Linux containers is also a supported configuration.
Native = Windows Containers
|
|
Container Host OS Compatbility
Details
|
Linux
All Linux versions supported by Docker CE/EE 18.03+ or higher can be used.
|
Linux
All Linux versions supported by Kubernetes.
|
Windows Server 2019 (Native)
Windows Server 2016 (Docker)
Linux (Docker)
NEW
Windows Server 2019 supports native Windows Server 2016 containers with Hyper-V Isolation and Windows Server 2019 containers with and without Hyper-V Isolation. Windows 10 containers are not (yet) supported for running on Windows Server 2019, with or without Hyper-V Isolation.
Windows Server 2019 is not yet officially supported by Docker and Kubernetes.
Native = Windows Containers
|
|
Container Orch. Compatibility
Details
|
Kubernetes 1.13+
|
Kubernetes v1.13+
StorPool support for Kubernetes has been there since the container orchestration platform officially introduced their implementation of the Container Storage Interface (CSI) back in January 2019.
|
Kubernetes v1.14+
NEW
Windows Server 2019 is officially supported by Kubernetes since version 1.14. The current version is Kubernetes 1.17.
Windows Server 2019 is the only Windows operating system supported, enabling Kubernetes Node on Windows (including kubelet, container runtime, and kube-proxy). Windows Server 2019 is only supported as a worker node in the Kubernetes architecture and component matrix. This means that a Kubernetes cluster must always include Linux master nodes, zero or more Linux worker nodes, and zero or more Windows worker nodes. There are no plans to have a Windows-only Kubernetes cluster.
Kubernetes currently only supports Windows containers with process isolation. Support for Windows containers with Hyper-V isolation is planned for a future release.
Docker EE-basic 18.09 is required on Windows Server 2019 / 1809 nodes for Kubernetes.
v1.17: Windows worker nodes in a Kubernetes cluster now support Windows Server version 1903 in addition to the existing support for Windows Server 2019.
|
|
Container Orch. Interconnect
Details
|
Kubernetes CSI plugin
The Kubernetes CSI plugin provides several plugins for integrating storage into Kubernetes for containers to consume.
DataCore SANsymphony provides native industry standard block protocol storage presented over either iSCSI or Fibre Channel. YAML files can be used to configure Kubernetes for use with DataCore SANsymphony.
|
Kubernetes CSI plugin
The Kubernetes CSI plugin provides several plugins for integrating storage into Kubernetes for containers to consume.
StorPool support for Kubernetes has been there since the container orchestration platform officially introduced their implementation of the Container Storage Interface (CSI) back in January 2019.
|
Kubernetes FlexVolume Plugin
NEW
FlexVolume is an out-of-tree plugin interface that has existed in Kubernetes since version 1.2 (before CSI). CSI Plugins are still in an alpha feature state.
Windows has a layered filesystem driver to mount container layers and create a copy filesystem based on NTFS. All file paths in the container are resolved only within the context of that container.
The following storage functionality is not supported on Windows nodes:
- Volume subpath mounts. Only the entire volume can be mounted in a Windows container.
- Subpath volume mounting for Secrets
- Host mount projection
- DefaultMode (due to UID/GID dependency)
- Read-only root filesystem. Mapped volumes still support readOnly
- Block device mapping
- Memory as the storage medium
- File system features like uui/guid, per-user Linux filesystem permissions
- NFS based storage/volume support
- Expanding the mounted volume (resizefs)
CSI = Container Storage Interface
|
|
|
|
VDI |
|
|
VDI Compatibility
Details
|
VMware Horizon
Citrix XenDesktop
There is no validation check being performed by SANsymphony for VMware Horizon or Citrix XenDesktop VDI platforms. This means that all versions supported by these vendors are supported by DataCore.
|
VMware Horizon
Citrix XenDesktop
So far StorPool has not published any Reference Architecture whitepapers on VMware Horizon or Citrix XenDesktop.
|
Microsoft RDS on Hyper-V
Citrix Virtual Apps and Desktops 7 1808
Workspot VDI on Hyper-V
NEW
Citrix Virtual Apps and Desktops 7 1808 provides official support for Windows Server 2019.
Microsoft Windows Server 2019 with Remote Desktop Services (RDS) installed and Hyper-V can be used to host multiple virtual desktops. Storage Spaces Direct (S2D) supports all VDI scenarios related to RDS.
Remote Desktop Service (RDS) is a proprietary Microsoft protocol that allows users to connect remotely to a network with a graphic user interface. While the RDS client is installed on the user system, the RDS server software is installed on the server, and a remote connection is established with one or more terminal servers. While users in the RDS network connect to the server using a VM, this VM is shared with other users and operates on the same server OS for all users. A Microsoft RDS farm can provide a desktop session, an application session and a virtual desktop session located in a virtual machine
Virtual desktop infrastructure (VDI) involves running user desktops inside virtual machines that are hosted on datacenter servers. In a VDI environment, each user is allotted a dedicated VM that runs a separate operating system. This provides an isolated environment for each individual user. A connection broker is used to manage the VMs.
|
|
|
VMware: 110 virtual desktops/node
Citrix: 110 virtual desktops/node
DataCore has not published any recent VDI reference architecture whitepapers. The only VDI related paper that includes a Login VSI benchmark dates back to december 2010. There a 2-node SANsymphony cluster was able to sustain a load of 220 VMs based on the Login VSI 2.0.1 benchmark.
|
N/A
StorPool has not published any VDI reference architecture whitepapers with LoginVSI benchmark numbers.
|
N/A
|
|
|
Server Support
|
|
|
|
|
|
|
Server/Node |
|
|
Hardware Vendor Choice
Details
|
Many
SANsymphony runs on all server hardware that supports x86 - 64bit.
DataCore provides minimum requirements for hardware resources.
|
Many
StorPool maintains a component-level HCL, including the most common current and previous generation server components (SSDs, NICs, CPUs). Servers from all major server OEMs comply with StorPools System Requirements (HCL).
|
Many
Microsoft Windows Server 2019 supports many well-known server hardware vendors such as Dell, Lenovo and HPE.
Please review the Hardware Compatibility List (HCL) for more information about the supported hardware. (https://www.windowsservercatalog.com/default.aspx
Microsoft recommends to deploy Microsoft HCI on WSSD hardware: https://www.microsoft.com/en-us/cloud-platform/software-defined-datacenter
|
|
|
Many
SANsymphony runs on all server hardware that supports x86 - 64bit.
DataCore provides minimum requirements for hardware resources.
|
Many
StorPool maintains a component-level HCL, including the most common current and previous generation server components (SSDs, NICs, CPUs). Servers from all major server OEMs comply with StorPools System Requirements (HCL).
|
Many
Microsoft Windows Server 2019 supports many well-known server hardware vendors such as Dell, Lenovo and HPE.
Please review the Hardware Compatibility List (HCL) for more information about the supported hardware.
Pre-validated solutions are available through the Windows Server Software Defined program: https://www.microsoft.com/en-us/cloud-platform/software-defined-datacenter
|
|
|
1, 2 or 4 nodes per chassis
Note: Because SANsymphony is mostly hardware agnostic, customers can opt for multiple server densities.
Note: In most cases 1U or 2U building blocks are used.
Also Super Micro offers 2U chassis that can house 4 compute nodes.
Denser nodes provide a smaller datacenter footprint where space is a concern. However, keep in mind that the footprint for other datacenter resources such as power and heat and cooling is not necessarily reduced in the same way and that the concentration of nodes can potentially pose other challenges.
|
1, 2 or 4 nodes per chassis
Because StorPool Distributed Storage (StorPool) is hardware agnostic, customers can opt for multiple server densities. Common configurations include 1 node per chassis and 4 nodes per chassis.
|
1, 2 or 4 nodes per chassis
Because Storage Spaces Direct (S2D) is mostly hardware agnostic, customers can opt for multiple server densities.
Denser nodes provide a smaller datacenter footprint where space is a concern. However, keep in mind that the footprint for other datacenter resources such as power and heat and cooling is not necessarily reduced in the same way and that the concentration of nodes can potentially pose other challenges.
|
|
|
Yes
DataCore does not explicitly recommend using different hardware platforms, but as long as the hardware specs are somehow comparable, there is no reason to insist on one or the other hardware vendor. This is proven in practice, meaning that some customers run their productive DataCore environment on comparable servers of different vendors.
|
Yes
StorPool Distributed Storage (StorPool) follows these hardware/software mixing rules:
1. Different server brands, models, generations with different hardware (eg. HDDs or SSDs) are supported within the same StorPool cluster.
2. Different hypervisors are supported within the same StorPool cluster.
3. Different deployment methods (eg. compute-only, storage-only and hyperconverged nodes) are supported within the same StorPool cluster.
|
Yes
Storage Spaces Direct (S2D) accepts that different server hardware can be added to the cluster.
If the capacity of the storage devices are not the same, the capacity used will be the same as the smallest available.
When deploying S2D in a single-layer model, be careful about live migrating VMs between nodes with dissimilar CPUs (eg. mixing AMD servers with Intel servers within the same cluster).
|
|
|
|
Components |
|
|
|
Flexible
Minimum hardware requirements need to be fulfilled.
For more information please go to: https://www.datacore.com/products/sansymphony/tech/compatibility/
|
Flexible
StorPool provides minimal hardware requirements in its StorPool Distributed Storage (StorPool) documentation.
|
Flexible
NEW
There is a wide range of Intel Xeon E5, 1st Intel Xeon Scalable (Skylake) and 2nd generation Intel Xeon Scalable processors (Cascade Lake) to choose from (2 processor sockets per node).
|
|
|
Flexible
|
Flexible
StorPool provides minimal hardware requirements in its StorPool Distributed Storage (StorPool) documentation.
|
Flexible
Up to 24TB of memory in can be installed in each server node (equal to Windows Server 2016 Datacenter limit).
|
|
|
Flexible
Minimum hardware requirements need to be fulfilled.
For more information please go to: https://www.datacore.com/products/sansymphony/tech/compatibility/
|
Flexible
StorPool Distributed Storage (StorPool) supports magnetic disks (HDD), solid-state drives (SSD) as well as NVMe. Different types, models and size of storage devices can be mixed in a storage node.
Each StorPool node can have up to a maximum of 500TB of storage attached. The storage capacity can be entirely based on magnetic disks, solid-state drives, or a mix of both storage media types. Typically an StorPool NVMe storage node has 10x 8 TB NVMe, resulting in 80 TB raw per node.
StorPool provides minimal hardware requirements in its StorPool Distributed Storage (StorPool) documentation.
|
Flexible
Up to 1PB per storage devices can be part of the same pool. These devices can be NVMe, SSD (SAS or SATA) and/or HDD (SAS or SATA).
The storage devices can be mixed for caching and tiering purposes.
|
|
|
Flexible
Minimum hardware requirements need to be fulfilled.
For more information please go to: https://www.datacore.com/products/sansymphony/tech/compatibility/
|
Flexible
StorPool Distributed Storage (StorPool) fully supports 10/25/40/100Gbps Ethernet networks. For production workloads a dual-redundant network is required (2 switches and 2 ports per node). Management and data storage traffic can be performed across the same IP network or across separate IP networks.
StorPool provides minimal hardware requirements in its StorPool Distributed Storage (StorPool) documentation.
|
Flexible
Any network adapters can be installed as long as they are part of the hardware listed in the Windows Server Catalog. For storage purposes, Remote-Direct Memory Access (RDMA) capable adapters are highly recommended (iWARP or RoCE).
|
|
|
NVIDIA Tesla
AMD FirePro
Intel Iris Pro
DataCore SANsymphony supports the hardware that is on the hypervisor HCL.
VMware vSphere 6.5U1 officially supports several GPUs for VMware Horizon 7 environments:
NVIDIA Tesla M6 / M10 / M60
NVIDIA Tesla P4 / P6 / P40 / P100
AMD FirePro S7100X / S7150 / S7150X2
Intel Iris Pro Graphics P580
More information on GPU support can be found in the online VMware Compatibility Guide.
Windows 2016 supports two graphics virtualization technologies available with Hyper-V to leverage GPU hardware:
- Discrete Device Assignment
- RemoteFX vGPU
More information is provided here: https://docs.microsoft.com/en-us/windows-server/remote/remote-desktop-services/rds-graphics-virtualization
The NVIDIA website contains a listing of GRID certified servers and the maximum number of GPUs supported inside a single server.
Server hardware vendor websites also contain more detailed information on the GPU brands and models supported.
|
NVIDIA Tesla
AMD FirePro
Intel Iris Pro
StorPool does not restrict the use of GPUs; end-user organizations are free to leverage any GPUs that are available on the market.
|
NVIDIA Tesla
AMD FirePro
Intel Iris Pro
Microsoft Windows Server 2019 supports two graphics virtualization technologies available with Hyper-V to leverage GPU hardware:
- Discrete Device Assignment
- RemoteFX vGPU
More information is provided here: https://docs.microsoft.com/en-us/windows-server/remote/remote-desktop-services/rds-graphics-virtualization
The NVIDIA website contains a listing of GRID certified servers and the maximum number of GPUs supported inside a single server.
Server hardware vendor websites also contain more detailed information on the GPU brands and models supported.
|
|
|
|
Scaling |
|
|
|
CPU
Memory
Storage
GPU
The SANsymphony platform allows for expanding of all server hardware resources.
|
CPU
Memory
Storage
GPU
The StorPool Distributed Storage platform allows for expanding of all server hardware resources.
|
CPU
Memory
Storage
GPU
Storage: Any node can scale up to a maximum of 400TB of raw storage capacity. There is no set maximum for the number of devices for a node, however the maximum number of storage devices for a cluster is 416.
|
|
|
Storage+Compute
Compute-only
Storage-only
Storage+Compute: In a single-layer deployment existing SANsymphony clusters can be expanded by adding additional nodes running SANsymphony, which adds additional compute and storage resources to the shared pool. In a dual-layer deployment both the storage-only SANsymphony clusters and the compute clusters can be expanded simultaneously.
Compute-only: Because SANsymphony leverages virtual block volumes (LUNs), storage can be presented to hypervisor hosts not participating in the SANsymphony cluster. This is also beneficial to migrations, since it allows for online storage vMotions between SANsymphony and non-SANsymphony storage platforms.
Storage-only: In a dual-layer or mixed deployment both the storage-only SANsymphony clusters and the compute clusters can be expanded independent from each other.
|
Storage+Compute
Compute-only
Storage-only
StorPool implements a fully distributed shared nothing architecture, where all nodes are equal. By adding nodes, the cluster scales linearly in both capacity and performance.
Storage+Compute: In a single-layer deployment existing StorPool clusters can be expanded by adding additional nodes running StorPool, which adds additional compute and storage resources to the shared pool. In a dual-layer deployment both the storage-only StorPool clusters and the compute clusters can be expanded simultaneously.
Compute-only: Because StorPool leverages virtual block volumes (LUNs), storage can be presented to hypervisor hosts not participating in the StorPool cluster. This is also StorPool and non-StorPool storage platforms.
Storage-only: In a dual-layer or mixed deployment both the storage-only StorPool clusters and the compute clusters can be expanded independent from each other.
|
Compute+storage
Compute-only/Storage-only
Compute+storage: Existing single-layer Storage Spaces Direct clusters can be expanded by adding additional S2D nodes, which adds additional compute and storage resources to the shared pool.
Compute-only/Storage-only: When Storage Spaces Direct (S2D) is using the dual-layer deployment model, the storage nodes act as scale-out file servers and can be shared to any compute node through SMB3. Therefore the compute layer and the storage layer can scale-out independently.
The storage layer cannot be shared when Storage Spaces Direct (S2D) is using the single layer deployment model.
|
|
|
1-64 nodes in 1-node increments
There is a maximum of 64 nodes within a single cluster. Multiple clusters can be managed through a single SANsymphony management instance.
|
3-63 nodes in 1-node increments
There is a maximum of 63 StorPool nodes within a single cluster, meaning there could be several Petabytes of data in a single cluster. Up to 64 clusters can be connected to a federation for larger capacity use-cases. Clusters can be scaled in 1-node increments.
|
2-16 nodes in 1-node increments; >1,000 nodes in a federation (cluster set)
NEW
The maximum S2D cluster consists of 16 server nodes. The data is automatically rebalanced across the cluster when a server is wither added to or removed from the cluster.
The maximum raw capacity per S2D cluster is 4PB. The maximum number of drives per S2D cluster os 416.
Microsoft Windows Server 2019 brings Cluster Sets that enables to move VMs across several clusters that are federated in a 'cluster set'.
|
|
Small-scale (ROBO)
Details
|
2 Node minimum
DataCore prevents split-brain scenarios by always having an active-active configuration of SANsymphony with a primary and an alternate path.
In the case SANsymphony servers are fully operating but do not see each other, the application host will still be able to read and write data via the primary path (no switch to secondary). The mirroring is interrupted because of the lost connection and the administrator is informed accordingly. All writes are stored on the locally available storage (primary path) and all changes are tracked. As soon as the connection between the SANsymphony servers is restored, the mirror will recover automatically based on these tracked changes.
Dual updates due to misconfiguration are detected automatically and data corruption is prevented by freezing the vDisk and waiting for user input to solve the conflict. Conflict solutions could be to declare one side of the mirror to be the new active data set and discarding all tracked changes at the other side, or splitting the mirror and merge the two data sets into a 3rd vDisk manually.
|
3 Node minimum
StorPools smallest deployment contains 3 nodes, albeit these could be small cost-efficient servers.
|
2 Node minimum
Storage Spaces Direct (S2D) supports a minimum of 2 server nodes. S2D in Windows Server 2019 introduces support for two simultaneous failures with the new 'nested resiliency' feature.
|
|
|
Storage Support
|
|
|
|
|
|
|
General |
|
|
|
Block Storage Pool
SANsymphony only serves block devices to the supported OS platforms.
|
Block Storage Pool
StorPool only serves block devices to the supported OS platforms.
StorPool aggrates direct-attached storage from multiple x86 servers into one or more pools. There can be multiple pools in each StorPool cluster, eg. an SSD pool and a HDD-only pool.
Volumes are striped widely across many drives in the pool. Copies (replicas) are guaranteed to be on different servers or different chassis; this ensures high availablity of data access. Thus StorPool aggregates the capacity and performance of all drives in each pool.
StorPool uses a shared-nothing architecture where all servers participate on an equal basis - there are no meta data servers or active-standby roles, just servers on a flat network.
|
SSB Block Pool
Enabling the S2D feature inside the Windows Failover Cluster settings automatically enables Storage Bus Layer (SBL) as well.SBL provides a virtual Initiator and Target to each node. SBL uses block over SMB3 and SMB Direct as the transport for communication between the servers in the cluster. SBL allows each node to see all disks of all the nodes within the same cluster. The disks are then aggregated within a shared Storage Pool.
|
|
|
Partial
DataCores core approach is to provide storage resources to the applications without having to worry about data locality. But if data locality is explicitly requested, the solution can partially be designed that way by configuring the first instance of all data to be stored on locally available storage (primary path) and the mirrored instance to be stored on the alternate path (secondary path). Furthermore every hypervisor host can have a local preferred path, indicated by the ALUA path preference.
By default data does not automatically follow the VM when the VM is moved to another node. However, virtual disks can be relocated on the fly to other DataCore node without losing I/O access, but this relocation takes some time due to data copy operations required. This kind of relocation usually is done manually, but we allow automation of such tasks and can integrate with VM orchestration using PowerShell for example.
Whether data locality is a good or a bad thing has turned into a philosophical debate. Its true that data locality can prevent a lot of network traffic between nodes, because the data is physically located at the same node where the VM resides. However, in dynamic environments where VMs move to different hosts on a frequent basis, data locality in most cases requires a lot of data to be copied between nodes in order to maintain the physical VM-data relationship. The SDS/HCI vendors today that choose not to use data locality, advocate that the additional network latency is negligible.
|
None
Data locality is not used by default but is partially supported. In most cases it is statistically better to not use data locality due to the higher performance of the large pool available from the whole pool of drives in all servers. This can be configured on a per-volume basis.
Physical drives are grouped in one or more pools called placement groups. One disk can participate in more than one placement group. In the simplest configuration all disks reside in a single placement group. By default StorPool will distribute user data across all the disks in the cluster proportional to their size.
If for a particular volume it is preferred that data is stored only on a subset of the disks, then a separate placement group that includes the target disks only can be created and the volume can be configured to store one or all three copies of the data using this placement group.
Placement groups used by the volumes can be changed in realtime, which causes the data to be migrated from one set of disks to another in the background, while the volume is in use, and without a noticeable performance impact.
There is no automated mechanism that changes data locality based on the current usage because limiting the data only to a subset of disks usually doesnt add any performance benefits. However, such functionality can be achieved by external logic through the StorPool API to change the volume settings in realtime.
Whether data locality is a good or a bad thing has turned into a philosophical debate. Its true that data locality can prevent a lot of network traffic between nodes, because the data is physically located at the same node where the VM resides. However, in dynamic environments where VMs move to different hosts on a frequent basis, data locality in most cases requires a lot of data to be copied between nodes in order to maintain the physical VM-data relationship. The SDS/HCI vendors today that choose not to use data locality, advocate that the additional network latency is negligible.
|
None
Because Storage Spaces Direct (S2D) uses both SBL and RDMA, active data can be located on other storage nodes without negatively impacting performance. As such RDMA is highly recommened when using S2D in conjunction with Hyper-V VM workloads.
Whether data locality is a good or a bad thing has turned into a philosophical debate. Its true that data locality can prevent a lot of network traffic between nodes, because the data is physically located at the same node where the VM resides. However, in dynamic environments where VMs move to different hosts on a frequent basis, data locality in most cases require a lot of data to be copied between nodes in order to maintain the physical VM-data relationship. The SDS/HCI vendors today that choose not to use data locality, advocate that the additional network latency is negligible.
|
|
|
Direct-attached (Raw)
Direct-attached (VoV)
SAN or NAS
VoV = Volume-on-Volume; The Virtual Storage Controller uses virtual disks provided by the hypervisor platform.
|
Direct-attached (Raw)
Direct-attached: The software takes ownership of the unformatted physical disks available on each node – SATA/SAS/NVMe.
|
Direct-Attached (Raw)
Direct-attached: The software takes ownership of the unformatted physical disks available each host.
|
|
|
Magnetic-only
All-Flash
3D XPoint
Hybrid (3D Xpoint and/or Flash and/or Magnetic)
NEW
|
Magnetic-Only
Hybrid
All-Flash
Pools of different storage types (magnetic-only, hybrid and all-flash) can be created within the same StorPool Distributed Storage (StorPool) cluster.
|
Hybrid (Flash+Magnetic)
All-Flash
(Persistent Memory)
NEW
Storage Spaces Direct (S2D) can be deployed using different compositions:
- Hybrid (Flash + HDD)
- All-Flash (SSD-only / Performance SSD + Capacity SSD / NVMe + SSD)
- Multi-Resilient Volume (Performance SSD + Capacity SSD + HDD / NVMe + Capacity SSD + HDD)
In an all-flash solution, NVMe can be used as a high-performance caching layer whilst large SATA HDDs (eg. 2-4TB) can be used as the persistent storage layer.
Microsoft Server 2019 support Intel Optane DC Persistent Memory. However, the Intel hardware has just entered the beta stage ans as such is not generally available (GA) yet.
|
|
Hypervisor OS Layer
Details
|
SD, USB, DOM, SSD/HDD
|
SD, USB, DOM, SSD/HDD
StorPool storage nodes are Linux servers and thus any boot drive supported by Linux is supported by StorPool for root/boot.
|
SSD/HDD
Persistent Memory
NEW
When deploying Windows Server 2019 in a standard configuration (Core or with GUI) the OS has to be installed on physical disks (SSD or HDD).
|
|
|
|
Memory |
|
|
|
DRAM
|
DRAM
StorPool uses RAM in servers for caching.
|
DRAM
|
|
|
Read/Write Cache
DataCore SANsymphony accelerates reads and writes by leveraging the powerful processors and large DRAM memory inside current generation x86-64bit servers on which it runs. Up to 8 Terabytes of cache memory may be configured on each DataCore node, enabling it to perform at solid state disk speeds without the expense. SANsymphony uses a common cache pool to store reads and writes in.
SANsymphony read caching essentially recognizes I/O patterns to anticipate which blocks to read next into RAM from the physical back-end disks. That way the next request can be served from memory.
When hosts write to a virtual disk, the data first goes into DRAM memory and is later destaged to disk, often grouped with other writes to minimize delays when storing the data to the persistent disk layer. Written data stays in cache for re-reads.
The cache is cleaned on a first-in-first-out (FiFo) basis. Segment overwrites are performed on the oldest data first for both read- and write cache segment requests.
SANsymphony prevents the write cache data from flooding the entire cache. In case the write data amount runs above a certain percentage watermark of the entire cache amount, then the write cache will temporarily be switched to write-through mode in order to regain balance. This is performed fully automatically and is self-adjusting, per virtual disk as well as on a global level.
|
Metadata
Read Cache
Write-back Cache (optional)
Memory is used by StorPool for storing metadata, read caching, and proprietary write back-caching (WBC).
When HDDs are used, write operations are usually processed through a write-back cache to reduce the write latency and sequence the write operations to maximize the performance of each disk drive. In typical deployments, this write-back cache is implemented with a persistent storage layer such as power-loss protected memory in RAID controllers or an Optane NVMe drive. This approach guarantees consistent data and data-loss protection in unlikely events such as simultaneous power loss of the entire site.
In non-critical deployments with lower requirements, the write-back cache can be configured to be stored in the DRAM. This can reduce the hardware cost by eliminating the RAID controller with power-loss protected memory or Optane NVMe drive.
|
Read Cache
Metadata structures
Storage Spaces Direct (S2D) leverages the CSV Cache as read cache for storage volumes.
When there are cache devices, for each 1TB of cache, 4GB of memory is used for metadata structures.
|
|
|
Up to 8 TB
The actual size that can be configured depends on the server hardware that is used.
|
Configurable
StorPool Distributed Storage (StorPool) is designed to take a minimal and fixed amount of DRAM. As a rule of thumb 1 GB of DRAM is used per 1 TB of raw data per server. Additional DRAM in the server can be configured for caching. The remaining DRAM is available for use by other applications or virtual machines in single-layer deployments.
|
S2D Cache (Hybrid): non-configurable
CSV Cache: configurable
Storage Spaces Direct (S2D) uses 4GB of DRAM per 1TB of configured cache space on each node. This cache is useful only in hybrid storage configurations (SSD + HDD, NVMe + SSD or NVMe + HDD). If you implement an all-flash solution (only SSD or only NVMe) the cache is not enabled.
With regard to Cluster Shared Volumes (CSVs) a Block Cache can be configured. Microsoft recommends configuring 2GBs of CSV Block Cache or more.
When S2D is implemented using the dual-layer (disaggregated) model, almost all of the memory on the storage hosts can be used for caching.
|
|
|
|
Flash |
|
|
|
SSD, PCIe, UltraDIMM, NVMe
|
SSD, PCIe, NVMe
StorPool Distributed Storage (StorPool) supports industry-standard datacenter-grade SATA, SAS and NVMe SSDs for delivering sub-millisecond performance. StorPool does not support consumer-grade SSDs.
|
SSD, NVMe, (Persistent memory)
NEW
Storage Spaces Direct (S2D) supports both NVMe devices and SSD drives (SATA and SAS).
Supported flash media: NAND, 3D-NAND/V-NAND, 3D X-Point etc.
Supported Persistent Memory: NVDIMM-N.
NVDIMM-N is a DRAM/Flash hybrid memory module using flash to save the DRAM contents upon power failure.
The Windows Server Catalog does not list any NVDIMMs - including Intel Optane - that are either certified or compatible with Windows Server 2019. Also Azure Stack HCI Catalog does list Persistent Memory as a separate feature, but none of the hardware configurations so far leverage such hardware.
|
|
|
Persistent Storage
SANsymphony supports new TRIM / UNMAP capabilities for solid-state drives (SSD) in order to reduce wear on those devices and optimize performance.
|
Persistent Storage
Write-back Cache
StorPool Distributed Storage (StorPool) does not use flash as partial read cache, only as full primary storage. NVMe devices (including Intel Optane) can be used for write-back caching purposes in order to accelerate writes to HDDs.
|
Read/Write Cache (hybrid)
Write Cache (all-flash)
Persistent storage (all-flash)
Hybrid solutions based on Flash + HDD):
- Flash is the Read/Write cache;
- HDD is the persistent storage layer.
All-flash solutions based on NVMe + SSD:
- NVMe is Write Cache only;
- SSD is the persistent storage layer.
When using only SSD or only NVMe in an all-flash solution, caching can be disabled.
|
|
|
No limit, up to 1 PB per device
The definition of a device here is a raw flash device that is presented to SANsymphony as either a SCSI LUN or a SCSI disk.
|
No limit
There is no technological limit within the StorPool software architecture to the number of flash drives used, just a best practice of deployment. Typical building blocks (storage nodes) have 10-24 drives installed, typically using 4-8TB NVMe. The number and capacity are tailored to the requirements of the specific end-user organizationss use case.
In general StorPool advices to use small nodes with 10-12 SSDs each, rather than small number of nodes with 36 or more drives each. The storage density and the overall cost are about the same, however a StorPool storage cluster build of smaller nodes is both faster and safer. It takes less time to rebuild a single node in case it fails.
|
Up to 4PB per cluster
NEW
With S2D in Windows Server 2019 you can install storage devices up to 4PB per cluster. The maximum raw capavity per node is 400TB.
the maximum number of storage devices in a cluster is 416. There is no set limit to the number of storage devices per node.
In hybrid configurations at least two flash devices (NVMe, SATA or SAS) per node are a hard requirement.
|
|
|
|
Magnetic |
|
|
|
SAS or SATA
SAS = 10k or 15k RPM = Medium-capacity medium-speed drives
SATA = NL-SAS = 7.2k RPM = High-capacity low-speed drives
In this case SATA = NL-SAS = MDL SAS
|
SAS or SATA
StorPool supports HDDs in magnetic-only as well as hybrid storage configurations.
SAS = 10k or 15k RPM = Medium-capacity medium-speed drives
SATA = NL-SAS = 7.2k RPM = High-capacity low-speed drives
|
Hybrid: SAS or SATA
SAS = 10k or 15k RPM = Medium-capacity medium-speed drives
SATA = NL-SAS = 7.2k RPM = High-capacity low-speed drives
Magnetic disks are used for storing persistent data. There is a choice to use either SAS or SATA. Microsft has no limitation regarding magnetic storage.
|
|
|
Persistent Storage
|
Persistent Storage
The magnetic tier is either used as primary storage of data, or as secondary storage for storing backups (fault recovery) or remote replicas (disaster recovery).
|
Persistent Storage
HDD is primarily meant as a high-capacity storage tier.
|
|
Magnetic Capacity
Details
|
No limit, up to 1 PB (per device)
The definition of a device here is a raw flash device that is presented to SANsymphony as either a SCSI LUN or a SCSI disk.
|
No limit
StorPool is a highly scalable platform, so supports an extensive amount of magnetic storage. Magnetic devices (HDDs) are not mandatory in a StorPool Distributed Storage (StorPool) solution.
The number and capacity of HDDs depend on the storage requirements. For example, when needed 36x 16TB HDDs can be installed in a single storage node.
|
Up to 4PB per cluster
NEW
With S2D in Windows Server 2019 you can install storage devices up to 4PB per cluster. The maximum raw capavity per node is 400TB.
The maximum number of storage devices in a cluster is 416. There is no set limit to the number of storage devices per node.
In hybrid configurations at least two flash devices (NVMe, SATA or SAS) per node are a hard requirement.
|
|
|
Data Availability
|
|
|
|
|
|
|
Reads/Writes |
|
|
Persistent Write Buffer
Details
|
DRAM (mirrored)
If caching is turned on (default=on), any write will only be acknowledged back to the host after it has been succesfully stored in DRAM memory of two separate physical SANsymphony nodes. Based on de-staging algorithms each of the nodes eventually copies the written data that is kept in DRAM to the persistent disk layer. Because DRAM outperforms both flash and spinning disks the applications experience much faster write behavior.
Per default, the limit of dirty-write-data allowed per Virtual Disk is 128MB. This limit could be adjusted, but there has never been a reason to do so in the real world. Individual Virtual Disks can be configured to act in write-through mode, which means that the dirty-write-data limit is set to 0MB so effectively the data is directly written to the persistent disk layer.
DataCore recommends that all servers running SANsymphony software are UPS protected to avoid data loss through unplanned power outages. Whenever a power loss is detected, the UPS automatically signals this to the SANsymphony node and write behavior is switched from write-back to write-through mode for all Virtual Disks. As soon as the UPS signals that power has been restored, the write behavior is switched to write-back again.
|
Hybrid configurations (optional): Intel Optane NVMe, "Pool" NVMe drive, Broadcom/LSI CacheVault or BBU
Write buffering (aka write-back cache) is optionally used with magnetic HDDs. StorPool supports Intel Optane drives for persistent write-back cache, the use of a small partition on large capacity Pool NVMe drives, or the use of an LSI CacheVault(supercap) or BBU. This effectively protects against data loss even in the events of full power outage of the entire data center.
In low cost / low performance use-cases write buffering for HDDs can be disabled, thus removing the requirement for a write-back cache device, at the cost of increased write latency (write operations wait for the HDD media).
Datacenter-grade SSDs and NVMe have integrated power-loss protection which StorPool uses, so for these types of devices StorPool doesnt require external write buffering.
|
Flash Layer (PMEM/NVMe/SSD)
NEW
The flash devices are used for Read and Write caching. When enabling Storage Spaces Direct (S2D), the SSDs are bound to the HDDs in round robin fashion. If an SSD fails, the HDDs are bound to another SSD within the same node. The same applies to the combinations NVMe/SSD, PMEM/SSD and PMEM/NVMe.
The cache information is replicated accross the node in cache storage devices. If a node fails and is up again, the cache information are recovered from others nodes in the cluster.
The cache information stored in a flash device is replicated accross the nodes within the storage cluster to be able to sustain the loss of a flash device or an entire node. If a failed node is up again, the cache information is automatically recovered from the others nodes in the cluster.
|
|
Disk Failure Protection
Details
|
2-way and 3-way Mirroring (RAID-1) + opt. Hardware RAID
DataCore SANsymphony software primarily uses mirroring techniques (RAID-1) to protect data within the cluster. This effectively means the SANsymphony storage platform can withstand a failure of any two disks or any two nodes within the storage cluster. Optionally, hardware RAID can be implemented to enhance the robustness of individual nodes.
SANsymphony supports Dynamic Data Resilience. Data redundancy (none, 2-way or 3-way) can be added or removed on-the-fly at the vdisk level.
A 2-way mirror acts as active-active, where both copies are accessible to the host and written to. Updating of the mirror is synchronous and bi-directional.
A 3-way mirror acts as active-active-backup, where the active copies are accessible to the host and written to, and the backup copy is inaccessible to the host (paths not presented) and written to. Updating of the mirrors active copies is synchronous and bi-directional. Updating of the mirrors backup copy is synchronous and unidirectional (receive only).
In a 3-way mirror the backup copy should be independent of existing storage resources that are used for the active copies. Because of the synchronous updating all mirror copies should be equal in storage performance.
When in a 3-way mirror an active copy fails, the backup copy is promoted to active state. When the failed mirror copy is repaired, it automatically assumes a backup state. Roles can be changed manually on-the-fly by the end-user.
DataCore SANsymphony 10.0 PSP9 U1 introduced System Managed Mirroring (SMM). A multi-copy virtual disk is created from a storage source (disk pool or pass-through disk) from two or three DataCore Servers in the same server group. Data is synchronously mirrored between the servers to maintain redundancy and high availability of the data. System Managed Mirroring (SMM) addresses the complexity of managing multiple mirror paths for numerous virtual disks. This feature also addresses the 256 LUN limitation by allowing thousands of LUNs to be handled per network adapter. The software transports data in a round robin mode through available mirror ports to maximize throughput and can dynamically reroute mirror traffic in the event of lost ports or lost connections. Mirror paths are automatically and silently managed by the software.
The System Managed Mirroring (SMM) feature is disabled by default. This feature may be enabled or disabled for the server group.
With SANsymphony 10.0 PSP10 adds seamless transition when converting Mirrored Virtual Disks (MVD) to System Managed Mirroring (SMM). Seamless transition converts and replaces mirror paths on virtual disks in a manner in which there are no momentary breaks in mirror paths.
|
0-2 Replicas (1N-3N)
StorPool uses replicas to guarantee data redundancy.
StorPools implementation of replicas is called Copies:
- Maintaining 1 copy/replica (1N) means that data is kept only once and is not protected by another copy/replica.
- Maintaining 2 copies/replicas (2N) means that data is protected by writing 2 copies of the data to the StorPool cluster. Protection applies to both disk and node failures.
- Maintaining 3 copies/replicas (3N) means that data is protected by writing 3 copies of the data to the StorPool cluster. Protection applies to both disk and node failures.
StorPool recommends using 3 copies/replicas as a standard and using 2 copies/replicas for data that is less critical. Using the standard (3N) means that the StorPool Distributed Storage (StorPool) platform can withstand a failure of any two disks or any two nodes within the storage cluster.
Before any write is acknowledged to the host, it is synchronously replicated to the prescribed number of nodes. All nodes in the cluster participate in replication. This means that with 3N one instance of data that is written is stored on one node and other instances of that data are stored on two different nodes in the cluster. For all instances this happens in a fully distributed manner, in other words, there is no dedicated partner node. When a disk fails, it is marked offline and data is read from another instance instead. At the same time data re-replication of the associated copies/replicas is initiated in order to restore the desired number of copies/replicas.
|
2-way and 3-way Mirroring (RAID-1) (primary)
Erasure Coding (N+1/N+2) (secondary)
Nested Resiliency (4N; RAID 5+1) (primary; 2-node only)
NEW
On volume creation the resiliency choices are:
- 2 or 3 way mirroring (= 2 or 3 replicas)
- single or dual parity (= erasure coding)
- Mirror-Accelerated Parity (= mirroring + erasure coding)
- Nested Resiliency (2-node only)
Replicas:
When choosing mirroring, each replica is placed on a separate physical node within the storage cluster. This means that 2-way mirroring requires a minimum of 2 nodes and 3-way mirroring requires a minimum of 3 nodes. 2-way mirroring most closely resembles RAID-1.
Mirroring provides the fastest possible reads and writes, with the least complexity, meaning the least latency and compute overhead.
Erasure Coding:
Single parity keeps only one bitwise parity symbol, which provides protection against one failure at the same time. It most closely resembles RAID-5.
Dual parity implements Reed-Solomon error-correcting codes to keep two bitwise parity symbols, thereby providing protection against up to two failures at the same time. It most closely resembles RAID-6.
Parity encoding provides better storage efficiency than mirroring without compromising fault tolerance.
Mixed Resiliency:
A volume can be part mirror and part parity. Based on the read/write activity, the new Resilient File System (ReFS) intelligently moves data between the two resiliency types in real-time to keep the most active data in the mirror part and the least active data in the parity part.
Mixed resiliency can be considered when most of the data on the volume is 'cold' data, but some sustained write activity for some data is still expected.
Nested Resiliency (2-node only):
This resiliency enables to support two simultaneous failures. When using Nested two-way mirror, the data is copied 3 times across the cluster with 2 data instances per node as a result (equal to 4-copy mirror). Can be also used in Multi Tier with one tier using two-way mirroring and the other tier using RAID5 parity.
|
|
Node Failure Protection
Details
|
2-way and 3-way Mirroring (RAID-1)
DataCore SANsymphony software primarily uses mirroring techniques (RAID-1) to protect data within the cluster. This effectively means the SANsymphony storage platform can withstand a failure of any two disks or any two nodes within the storage cluster. Optionally, hardware RAID can be implemented to enhance the robustness of individual nodes.
SANsymphony supports Dynamic Data Resilience. Data redundancy (none, 2-way or 3-way) can be added or removed on-the-fly at the vdisk level.
A 2-way mirror acts as active-active, where both copies are accessible to the host and written to. Updating of the mirror is synchronous and bi-directional.
A 3-way mirror acts as active-active-backup, where the active copies are accessible to the host and written to, and the backup copy is inaccessible to the host (paths not presented) and written to. Updating of the mirrors active copies is synchronous and bi-directional. Updating of the mirrors backup copy is synchronous and unidirectional (receive only).
In a 3-way mirror the backup copy should be independent of existing storage resources that are used for the active copies. Because of the synchronous updating all mirror copies should be equal in storage performance.
When in a 3-way mirror an active copy fails, the backup copy is promoted to active state. When the failed mirror copy is repaired, it automatically assumes a backup state. Roles can be changed manually on-the-fly by the end-user.
DataCore SANsymphony 10.0 PSP9 U1 introduced System Managed Mirroring (SMM). A multi-copy virtual disk is created from a storage source (disk pool or pass-through disk) from two or three DataCore Servers in the same server group. Data is synchronously mirrored between the servers to maintain redundancy and high availability of the data. System Managed Mirroring (SMM) addresses the complexity of managing multiple mirror paths for numerous virtual disks. This feature also addresses the 256 LUN limitation by allowing thousands of LUNs to be handled per network adapter. The software transports data in a round robin mode through available mirror ports to maximize throughput and can dynamically reroute mirror traffic in the event of lost ports or lost connections. Mirror paths are automatically and silently managed by the software.
The System Managed Mirroring (SMM) feature is disabled by default. This feature may be enabled or disabled for the server group.
With SANsymphony 10.0 PSP10 adds seamless transition when converting Mirrored Virtual Disks (MVD) to System Managed Mirroring (SMM). Seamless transition converts and replaces mirror paths on virtual disks in a manner in which there are no momentary breaks in mirror paths.
|
0-2 Replicas (1N-3N)
Node failure is not a critical event in StorPool Distributed Storage (StorPool) when using multiple copies/replicas (3N or 2N) for data protection. A node failure does not cause downtime or even partial unavailability. The system is self-healing: the StorPool cluster rebuilds only the changed/missing data when the failed node returns or just creates a new copy of the missing data when the failed node is not back within a pre-set time (eg. 5 minutes as most failures are transient).
StorPool uses replicas to guarantee data redundancy.
StorPools implementation of replicas is called Copies:
- Maintaining 1 copy/replica (1N) means that data is kept only once and is not protected by another copy/replica.
- Maintaining 2 copies/replicas (2N) means that data is protected by writing 2 copies of the data to the StorPool cluster. Protection applies to both disk and node failures.
- Maintaining 3 copies/replicas (3N) means that data is protected by writing 3 copies of the data to the StorPool cluster. Protection applies to both disk and node failures.
StorPool recommends using 3 copies/replicas as a standard and using 2 copies/replicas for data that is less critical. Using the standard (3N) means that the StorPool Distributed Storage (StorPool) platform can withstand a failure of any two disks or any two nodes within the storage cluster.
Before any write is acknowledged to the host, it is synchronously replicated to the prescribed number of nodes. All nodes in the cluster participate in replication. This means that with 3N one instance of data that is written is stored on one node and other instances of that data are stored on two different nodes in the cluster. For all instances this happens in a fully distributed manner, in other words, there is no dedicated partner node. When a disk fails, it is marked offline and data is read from another instance instead. At the same time data re-replication of the associated copies/replicas is initiated in order to restore the desired number of copies/replicas.
|
1-2 Replicas (2N-3N)
Erasure Coding
Nested Resiliency (4N; RAID5+1) (primary; 2-node only)
NEW
Windows Server 2016 introduced a new feature called 'Fault Domain Awareness'. With Fault Domain Awareness the physical placement of devices on the node-, chassis- and rack level, can be properly defined. In the configuration a node can be assigned to a chassis and the chassis can be assigned to a rack. When Fault Domain Awareness is configured, S2D will spread the data intelligently across individual Fault Domains.
Effectively, when a node fails the data is already located on one or two other cluster nodes depending on the chosen protection level.
|
|
Block Failure Protection
Details
|
Not relevant (usually 1-node appliances)
Manual configuration (optional)
Manual designation per Virtual Disk is required to accomplish this. The end-user is able to define which node is paired to which node for that particular Virtual Disk. However, block failure protection is in most cases irrelevant as 1-node appliances are used as building blocks.
SANsymphony works on an N+1 redundancy design allowing any node to acquire any other node as a redundancy peer per virtual device. Peers are replacable/interchangable on a per Virtual Disk level.
|
Fault Sets
StorPool protects data by keeping number of copies (1, 2 or 3) in different servers or racks. The default is 3N. This means that for example in a 5-node cluster any 2 nodes can be lost without impacting availability.
In larger StorPool clusters (e.g. 12 nodes in 3 chassis), StorPool can be configured to store replicas (copies) in different racks or different chassis, tolerating entire chassis or rack failure.
Fault Sets: By default StorPool uses a placement policy that distributes user’s data on as many physical drives and servers as possible in order to increase performance and minimize the impact in case of a node failure. When some storage nodes are interrelated and there is a higher chance to fail simultaneously, the placement policy can be tuned by defining 'Fault Sets' - a set of nodes that have a higher probability to fail simultaneously. When fault sets are defined, StorPool will place data on different Fault Sets - in other words there is only one copy of the data in a particular Fault Set. By leveraging Fault Sets a storage cluster can be arranged for example in racks, where each rack represents a separate Fault Set. If an entire rack fails, the placement policy will guarantee there are at least two available copies of the data that reside on the remaining racks.
|
Fault Domain Awareness
Windows Server 2016 introduced a new feature called 'Fault Domain Awareness'. With Fault Domain Awareness the physical placement of devices on the node-, chassis- and rack level, can be properly defined. In the configuration a node can be assigned to a chassis and the chassis can be assigned to a rack. When Fault Domain Awareness is configured, S2D will spread the data intelligently across individual Fault Domains.
Effectively, when a node fails the data is already located on one or two other cluster nodes depending on the chosen protection level.
|
|
Rack Failure Protection
Details
|
Manual configuration
Manual designation per Virtual Disk is required to accomplish this. The end-user is able to define which node is paired to which node for that particular Virtual Disk.
|
Fault Sets
StorPool protects data by keeping number of copies (1, 2 or 3) in different servers or racks. The default is 3N. This means that for example in a 5-node cluster any 2 nodes can be lost without impacting availability.
In larger StorPool clusters (e.g. 12 nodes in 3 chassis), StorPool can be configured to store replicas (copies) in different racks or different chassis, tolerating entire chassis or rack failure.
Fault Sets: By default StorPool uses a placement policy that distributes user’s data on as many physical drives and servers as possible in order to increase performance and minimize the impact in case of a node failure. When some storage nodes are interrelated and there is a higher chance to fail simultaneously, the placement policy can be tuned by defining 'Fault Sets' - a set of nodes that have a higher probability to fail simultaneously. When fault sets are defined, StorPool will place data on different Fault Sets - in other words there is only one copy of the data in a particular Fault Set. By leveraging Fault Sets a storage cluster can be arranged for example in racks, where each rack represents a separate Fault Set. If an entire rack fails, the placement policy will guarantee there are at least two available copies of the data that reside on the remaining racks.
|
Fault Domain Awareness
Windows Server 2016 introduces a new feature called 'Fault Domain Awareness'. With Fault Domain Awareness the physical placement of devices on the node-, chassis- and rack level, can be properly defined. In the configuration a node can be assigned to a chassis and the chassis can be assigned to a rack. When Fault Domain Awareness is configured, S2D will spread the data intelligently across individual Fault Domains.
Effectively, when a rack fails the data is already located on one or two cluster nodes located in other racks depending the chosen protection level and physical deployment.
|
|
Protection Capacity Overhead
Details
|
Mirroring (2N) (primary): 100%
Mirroring (3N) (primary): 200%
+ Hardware RAID5/6 overhead (optional)
|
Mirroring (2N) (primary): 100%
Mirroring (3N) (primary): 200%
StorPool implements 3-way or 2-way synchronous replication, meaning multiple full copies/replicas of the data exist.
With 3N the raw storage capacity is approximately 300% of the stored data capacity, not accounting for space saving features that reduce space usage and not including overhead that increases space usage.
For each data copy/replica there is 10% capacity overhead that includes checksums (for end-to-end data integrity), metadata and copy-on-write/thin provisioning overheads and safety. The capacity overheads are taken into account when performing StorPool sizing exercises. When a StorPool quote states a solution supports 100TB of stored data, it is really able to store 100TB of data.
|
Mirroring (2N) (primary): 100%
Mirroring (3N) (primary): 200%
EC (N+2) (secondary): 50%-80%
Nested Resiliency (4N) (primary): 300%
Nested Resiliency (RAID5+1) (primary): 150%
NEW
Erasure Coding: Microsoft discourages using single parity because it can only safely tolerate one hardware failure at a time. If one server is being rebooted when suddenly another drive or server fails, there will be downtime. If there are only 3 S2D servers, Micosoft recommends using three-way mirroring.
The EC configuration depends on the storage setup (hybrid vs. all-flash) as well as the number of nodes in the S2D cluster.
EC in Hybrid configurations (SSD+HDD):
4-6 Nodes use RS 2+2
7-11 Nodes use RS 4+2
12-16 Nodes use LRC 8+2,1
EC in All-Flash configurations (All SSD):
4-6 Nodes use RS 2+2
7-9 Nodes use RS 4+2
9-15 Nodes use RS 6+2
16 Nodes uses LRC 12+2,1
EC = Erasure Coding
RS = Reed-Solomon
LRC = Local Reconstruction Codes
|
|
Data Corruption Detection
Details
|
N/A (hardware dependent)
SANsymphony fully relies on the hardware layer to protect data integrity. This means that the SANsymphony software itself does not perform Read integrity checks and/or Disk scrubbing to verify and maintain data integrity.
|
Read integrity checks (end-to-end checksums)
Disk scrubbing
StorPool has incorporated a checksum based end-to-end data integrity feature. StorPool Distributed Storage (StorPool) protects data and guarantees data integrity by leveraging a 64-bit checksum and a version number for each sector maintained by StorPool. The mechanism is more extensive than those used by (many) other platforms. It checksums data in the initiator, i.e. it protects against errors in both hardware and the full software stack, not just the storage system itself. The checksum based end-to-end data integrity feature has been designed not to impact storage performance.
If a corrupted copy of data is detected, the copy is invalidated and restored by an undamaged copy of the data.
Data at rest is regularly checked (scrubbed) for errors and recovered in case any corruption is detected.
|
Read integrity checks
Proactive file integrity scrubber (requires ReFS integrity streams; optional)
Automatic in-line corruption correction (requires ReFS integrity streams; optional)
NEW
During writing of the data checksums are created and stored. When read again, a new checksum is created and compared to the initial checksum. If incorrect, a checksum is created from another replica of the same data. After succesful comparison this replica is used to repair the corrupted replica in order to stay compliant with the configured protection level.
ReFS uses a background scrubber, which enables ReFS to validate infrequently accessed data. This scrubber periodically scans the volume, identifies latent corruptions, and proactively triggers a repair of any corrupt data. The data integrity scrubber can only validate file data for files where integrity streams is enabled. By default, the scrubber runs every four weeks, though this interval can be configured within Task Scheduler.
Integrity streams is an optional feature in ReFS that validates and maintains data integrity using checksums. Integrity streams can be enabled for individual files, directories, or the entire volume, and integrity stream settings can be toggled at any time. Additionally, integrity stream settings for files and directories are inherited from their parent directories. Once integrity streams is enabled, ReFS will create and maintain a checksum for the specified file(s) in that files metadata.
Though integrity streams provides greater data integrity for the system, it also incurs a performance cost.
|
|
|
|
Points-in-Time |
|
|
|
Built-in (native)
|
Built-in (native)
StorPool Distributed Storage (StorPool) supports instantaneous, copy-on-write (CoW) storage snapshots and clones. Creating snapshots can be performed on a per volume basis with deep chains (eg. 100+ snaps of an individual volume) without having a tangible impact on the performance.
|
N/A
Storage Spaces Direct (S2D) does not provide any snapshot capabilities of its own.
No specific integration exists between S2D and Microsoft VSS and/or Hyper-V Checkpoints.
However, when using ReFSv2 volumes (instead of NTFS volumes) in S2D configurations, ReFSv2 allows Hyper-V checkpointing to be both fast and very efficient.
|
|
|
Local + Remote
SANsymphony snapshots are always created on one side only. However, SANsymphony allows you to create a snapshot for the data on each side by configuring two snapshot schedules, one for the local volume and one for the remote volume. Both snapshot entities are independent and can be deleted independently allowing different retention times if needed.
There is also the capability to pair the snapshot feature along with asynchronous replication which provides you with the ability to have a third site long distance remote copy in place with its own retention time.
|
Local + Remote
StorPool snapshots can be replicated to a remote StorPool cluster over an encrypted site-to-site (internet) link. After the first sync, StorPool only copies new or changed data rather than the entire data set. There is no fixed primary-secondary relationship between clusters. Snapshots and volumes on individual clusters have independent lifecycles and can be created and deleted not affecting other clusters or data on them.
|
N/A
Storage Spaces Direct (S2D) does not provide any snapshot capabilities of its own.
No specific integration exists between S2D and Microsoft VSS and/or Hyper-V Checkpoints.
However, when using ReFSv2 volumes (instead of NTFS volumes) in S2D configurations, ReFSv2 allows Hyper-V checkpointing to be both fast and very efficient.
|
|
Snapshot Frequency
Details
|
1 Minute
The snapshot lifecycle can be automatically configured using the integrated Automation Scheduler.
|
Seconds (workload dependent)
Snapshots are created on request via CLI or API. There is no default frequency.
There is a separate service that can create regular snapshots and apply retention policies on the local or remote cluster. There is no default frequency, as is defined in the snapshot policy. While StorPool can create snapshots with no performance degradation, practical use cases are with hourly and daily snapshots.
|
N/A
Storage Spaces Direct (S2D) does not provide any snapshot capabilities of its own.
No specific integration exists between S2D and Microsoft VSS and/or Hyper-V Checkpoints.
However, when using ReFSv2 volumes (instead of NTFS volumes) in S2D configurations, ReFSv2 allows Hyper-V checkpointing to be both fast and very efficient.
|
|
Snapshot Granularity
Details
|
Per VM (Vvols) or Volume
With SANsymphony the rough hierarchy is: physical disk(s) or LUNs -> Disk Pool -> Virtual Disk (=logical volume).
Although DataCore SANsymphony uses block-storage, the platform is capable of attaining per VM-granularity if desired.
In Microsoft Hyper-V environments, when a VM with vdisks is created through SCVMM, DataCore can be instructed to automatically carve out a Virtual Disk (=storage volume) for every individual vdisk. This way there is a 1-to-1 alignment from end-to-end and snapshots can be created on the VM-level. The per-VM functionality is realized by installing the DataCore Storage Management Provider in SCVMM.
Because of the per-host storage limitations in VMware vSphere environments, VVols is leveraged to provide per VM-granularity. DataCore SANsymphony Provider v2.01 is certified for VMware ESXi 6.5 U2/U3, ESXi 6.7 GA/U1/U2/U3 and ESXi 7.0 GA/U1.
|
Per Volume (LUN)
Per VM/container (eg. OpenStack, Kubernetes)
StorPool supports per-volume (LUN) snapshots that are fine-grained (4KB) and crash-consistent by default. Higher levels of data consistency can be achieved by orchestration e.g. you can get application-consistent snapshots by first instructing the application to freeze, then taking the snapshot and unfreezing the application.
In many deployments where cloud orchestration platforms are used, there is 1-to-1 relationship between a virtual disk and a volume. In these cases snapshots are being created per virtual disk. Examples of relevant cloud orchestration platforms are OpenStack, CloudStack with KVM, OnApp, OpenNebula and Kubernetes (for persistent volumes).
StorPool also supports crash-consistent snapshots of multiple volumes (LUNs).
|
N/A
Storage Spaces Direct (S2D) does not provide any snapshot capabilities of its own.
No specific integration exists between S2D and Microsoft VSS and/or Hyper-V Checkpoints.
However, when using ReFSv2 volumes (instead of NTFS volumes) in S2D configurations, ReFSv2 allows Hyper-V checkpointing to be both fast and very efficient.
|
|
|
Built-in (native)
DataCore SANsymphony incorporates Continuous Data Protection (CDP) and leverages this as an advanced backup mechanism. As the term implies, CDP continuously logs and timestamps I/Os to designated virtual disks, allowing end-users to restore the environment to an arbitrary point-in-time within that log.
Similar to snapshot requests, one can generate a CDP Rollback Marker by scripting a call to a PowerShell cmdlet when an application has been quiesced and the caches have been flushed to storage. Several of these markers may be present throughout the 14-day rolling log. When rolling back a virtual disk image, one simply selects an application-consistent or crash-consistent restore point from just before the incident occurred.
|
Built-in (native)
StorPool Distributed Storage (StorPool) provides integrated backup/restore functionality controlled through REST-API or CLI.
For backup purposes commands in the API/CLI can be used to create a crash-consistent snapshot and send the snapshot to a remote site that is also running a StorPool cluster.
For restore purposes commands in the API/CLI can be used to create a volume in the local StorPool cluster based on the contents of a local or remote (backed up) snapshot.
Some of the end-user organizations that leverage StorPool rely entirely on maintaining local and remote snapshots for data protection purposes and thus do not use an external backup/restore application. They have built their own scripting or orchestration around the StorPool API. Other end-user organizations that leverage StorPool leverage an independent backup/restore solution fpr data protection purposes.
Remote snapshots are fully independent of local storage and snapshots stored on it. Snapshots on the remote site can have an independent retention polity. There is no need to keep any snapshot on the local site in order to have a backup (snapshot) on the remote site.
|
External
Storage Spaces Direct (S2D) does not provide any backup capabilities of its own.
Therefore it relies on existing data protection solutions like Microsofts free-of-charge Windows Server Backup (WSB) software, Microsoft Data Protection Manager (DPM) which is part of the System Center suite, or any Hyper-V compatible 3rd party backup application like Veeam, CommVault or NetBackup. Windows Server Backup is part of the Windows Server license.
No specific integration exists between Storage Spaces Direct (S2D) and Microsoft WSB.
|
|
|
Local or Remote
All available storage within the SANsymphony group can be configured as targets for back-up jobs.
|
Local or Remote
StorPool can create snapshots on a frequent basis and send these snapshots between sites securely and efficiently.
|
WSB:
Locally
To remote sites
NEW
Windows Server Backup (WSB) can store backups locally or send them to a remote location.
|
|
|
Continuously
As Continuous Data Protection (CDP) is being leveraged, I/Os are logged and timestamped in a continous fashion, so end-users can restore to virtually any-point-in-time.
|
Seconds (workload dependent)
Snapshots are created on request via CLI or API. There is no default frequency.
There is a separate service that can create regular snapshots and apply retention policies on the local or remote cluster. There is no default frequency, as is defined in the snapshot policy. While StorPool can create snapshots with no performance degradation, practical use cases are with hourly and daily snapshots.
|
WSB GUI: 30 minutes
Task Scheduler: 1 minute
The Windows Server Backup (WSB) GUI allows for backups to happen once a day or at multiple times a day that you select. Selectable times are at 30 minute increments.
|
|
Backup Consistency
Details
|
Crash Consistent
File System Consistent (Windows)
Application Consistent (MS Apps on Windows)
By default CDP creates crash consistent restore points. Similar to snapshot requests, one can generate a CDP Rollback Marker by scripting a call to a PowerShell cmdlet when an application has been quiesced and the caches have been flushed to storage.
Several CDP Rollback Markers may be present throughout the 14-day rolling log. When rolling back a virtual disk image, one simply selects an application-consistent, filesystem-consistent or crash-consistent restore point from (just) before the incident occurred.
In a VMware vSphere environment, the DataCore VMware vCenter plug-in can be used to create snapshot schedules for datastores and select the VMs that you want to enable VSS filesystem/application consistency for.
|
Crash Consistent (also Group Consistency)
All snapshots in StorPool are crash consistent. StorPool supports atomic snapshots of multiple volumes – e.g. all virtual disks of a VM can be snapshotted at a single point of time, providing consistent backup and restore for multi-disk systems.
The StorPool REST-API allows creating a snapshot of multiple volumes with a single call by specifying the names of the volumes. The snapshots created in this way store the respective volumes at exactly the same point in time thus preserving data consisteny across an application. There is no requirement to group volumes in advance.
|
WSB: File System Consistent (Windows)
WSB: Application Consistent (MS Apps on Windows)
|
|
Restore Granularity
Details
|
Entire VM or Volume
With SANsymphony the rough hierarchy is: physical disk(s) or LUNs -> Disk Pool -> Virtual Disk (=logical volume).
Although DataCore SANsymphony uses block-storage, the platform is capable of attaining per VM-granularity if desired.
In Microsoft Hyper-V environments, when a VM with vdisks is created through SCVMM, DataCore can be instructed to automatically carve out a Virtual Disk (=storage volume) for every individual vdisk. This way there is a 1-to-1 alignment from end-to-end and snapshots can be created on the VM-level. The per-VM functionality is realized by installing the DataCore Storage Management Provider in SCVMM.
Because of the per-host storage limitations in VMware vSphere environments, VVols is leveraged to provide per VM-granularity. DataCore SANsymphony Provider v2.01 is VMware certified for ESXi 6.5 U2/U3, ESXi 6.7 GA/U1/U2/U3 and ESXi 7.0 GA/U1.
When configuring the virtual environment as described above, effectively VM-restores are possible.
For file-level restores a Virtual Disk snapshot needs to be mounted so the file can be read from the mount. Many simultaneous rollback points for the same Virtual Disk can coexist at the same time, allowing end-users to compare data states. Mounting and changing rollback points does not alter the original Virtual Disk.
|
Entire Volume
Commands in the API/CLI can be used to create a volume in the local cluster that is based on the contents of a local or remote (backed up) snapshot.
In addition snapshots can be instantiated (copy-on-write cloned) as read-write volumes. When doing so an end-user gains file-level access to the backed-up filesystem of a specific volume.
|
WSB: Entire VM
Windows Server Backup (WSB) is capable of protecting and restoring a Hyper-V environment at the VM level.
|
|
Restore Ease-of-use
Details
|
Entire VM or Volume: GUI
Single File: Multi-step
Restoring VMs or single files from volume-based storage snapshots requires a multi-step approach.
For file-level restores a Virtual Disk snapshot needs to be mounted so the file can be read from the mount. Many simultaneous rollback points for the same Virtual Disk can coexist at the same time, allowing end-users to compare data states. Mounting and changing rollback points does not alter the original Virtual Disk.
|
Entire Volume: API or CLI
Single File: Multi-step
Backed up snapshots are read-only when accessed from the original site. Restoring a volume from a backup is a matter of instantiating (cloning) the snapshot in the original site. This is controlled through API or CLI.
Backed up snapshots can also be transferred to a remote site when needed. This is controlled through API or CLI as well.
|
WSB: Entire VM (GUI)
|
|
|
|
Disaster Recovery |
|
|
Remote Replication Type
Details
|
Built-in (native)
DataCore SANsymphonys remote replication function, Asynchronous Replication, is called upon when secondary copies will be housed beyond the reach of Synchronous Mirroring, as in distant Disaster Recovery (DR) sites. It relies on a basic IP connection between locations and works in both directions. That is, each site can act as the disaster recovery facility for the other. The software operates near-synchronously, meaning that it does not hold up the application waiting on confirmation from the remote end that the update has been stored remotely.
|
Built-in (native)
StorPool Distributed Storage (StorPool) provides a native remote replication capability for disaster recovery (DR) purposes. This capability uses the same snapshot and transfer techniques as the backup functionality, but differs in terms of what snapshots stored in the DR location are used for.
When a DR event occurs, snapshots are instantiated as volumes and compute workloads (VMs/containers) are started from those volumes. Fail-over is typically triggered manually and the exact DR procedure depends on the application landscape and cloud management platform (CMP) in use.
|
Built-in (native)
Storage Replica (SR): Windows Server 2016 introduced a new feature called 'Storage Replica'. This feature enables block-level replication of an active source volume to a passive destination volume located on another physical server. Source and destination volumes can reside within the same cluster or within separate clusters.
Because Storage Replica operates on the Operating System (OS) layer, it is storage-agnostic. This means that on one site you can have Hyper-V 2019 on SAN, whereas on the other site you can have Hyper-V 2019 on S2D.
Hyper-V Replica (HR): Hyper-V Replica is an integral part of the Hyper-V role. This feature enables block-level log-based replication of an active source VM to a passive destination VM located on another Hyper-V server or to Microsoft Azure (requires Azure Site Recovery, which is a paid external service, i.e. not part of Windows Server 2019).
Because Hyper-V Replica operates on the hypervisor layer, it is storage agnostic. This means that on one site you can have Hyper-V 2019 on SAN, whereas on the other site you can have Hyper-V 2019 on S2D.
|
|
Remote Replication Scope
Details
|
To remote sites
To MS Azure Cloud
On-premises deployments of DataCore SANsymphony can use Microsoft Azure cloud as an added replication location to safeguard highly available systems. For example, on-premises stretched clusters can replicate a third copy of the data to MS Azure to protect against data loss in the event of a major regional disaster. Critical data is continuously replicated asynchronously within the hybrid cloud configuration.
To allow quick and easy deployment a ready-to-go DataCore Cloud Replication instance can be acquired through the Azure Marketplace.
MS Azure can serve only as a data repository. This means that VMs cannot be restored and run in an Azure environment in case of a disaster recovery scenario.
|
To remote sites
Single Site DR = 1-to-1
Multiple Site DR = 1-to many, many-to 1
|
SR: To remote sites, to public clouds
HR: To remote sites, to Microsoft Azure (not part of Windows Server 2019)
Storage Replica (SR): Windows Server 2016 introduced a new feature called 'Storage Replica'. This feature enables block-level replication of an active source volume to a passive destination volume located on another physical server. Source and destination volumes can reside within the same cluster or within separate clusters.
Because Storage Replica operates on the Operating System (OS) layer, it is both location-agnostic and storage-agnostic:
- Location agnostic: this means that volume replication can go to any location where a Windows Server is running, be it another datacenter or IaaS (eg. VM on Azure, AWS, Google Cloud, IBM Cloud, etc).
- Storage agnostic: this means that on one site you can have Hyper-V 2019 on SAN, whereas on the other site you can have Hyper-V 2019 on S2D.
Hyper-V Replica (HR): Hyper-V Replica is an integral part of the Hyper-V role. This feature enables block-level log-based replication of an active source VM to a passive destination VM located on another Hyper-V server or to Microsoft Azure (requires Azure Site Recovery, which is a paid external service, i.e. not part of Windows Server 2019).
Because Hyper-V Replica operates on the hypervisor layer, it is storage agnostic. This means that on one site you can have Hyper-V 2019 on SAN, whereas on the other site you can have Hyper-V 2019 on S2D.
|
|
Remote Replication Cloud Function
Details
|
Data repository
All public clouds can only serve as data repository when hosting a DataCore instance. This means that VMs cannot be restored and run in the public cloud environment in case of a disaster recovery scenario.
In the Microsoft Azure Marketplace there is a pre-installed DataCore instance (BYOL) available named DataCore Cloude Replication.
BYOL = Bring Your Own License
|
DR-site (several cloud providers)
Several, mostly European, cloud providers such as MetaNet, CloudSigma, Amito and Dustin leverage StorPool. Therefore on-premises StorPool clusters operated by end-user organizations are able to replicate to the StorPool clusters operated by these public cloud providers. This allows for setting up Disaster Recovery scenarios.
|
SR: Data repository (Azure)
HR: DR-site (Azure)
|
|
Remote Replication Topologies
Details
|
Single-site and multi-site
Single Site DR = 1-to-1
Multiple Site DR = 1-to many, many-to 1
|
Single-site and multi-site
Single Site DR = 1-to-1
Multiple Site DR = 1-to many, many-to 1
|
SR: Single site
HR: Single-site and chained
Single Site DR = 1-to-1
Multiple Site DR = 1-to many, many-to 1
Storage Replica (SR): At this time Storage Replica only supports 1-to-1 replications. Between two sites remote replication can be setup bi-directionally, meaning that volume A in site A could be replicated to site B whereas volume B in site B could be replicated to site A at the same time.
Hyper-V Replica (HR): Besides 1-to-1 replications Hyper-V Replica allows for extended (chained) replication. A VM can be replicated from a primary host to a secondary host, and then be replicated from the secondary host to a third host. Please note that it is not possible to replicate from the primary host directly to the second and the third (1-to-many).
|
|
Remote Replication Frequency
Details
|
Continuous (near-synchronous)
SANsymphony Asynchronous Replication is not checkpoint-based but instead replicates continuously. This way data loss is kept to a minimum (seconds to minutes). End-users can inject custom consistency checkpoints based on CDP technology which has no minimum time slot/frequency.
|
Seconds (workload dependent)
There is no default frequency. For the minimum RPO on a particular data set a continuous remote snapshot can be created. This means that after the transfer of the last snapshot completes, the next snapshot is created immediately. Depending on the size of the cluster, size of the volumes, amount of write operations and bandwidth of the link to the remote cluster, the time between snapshots can be from several seconds to several minutes.
This Backup/DR process can be implemented by the customer with external automation tools leveraging the StorPool REST-API or configured in the included snapshot/remote backup scheduling and retention module.
|
SR: seconds (Near-sync), continous (Synchronous)
HR: 30 seconds (Asynchronous)
Storage Replica (SR): If the latency between volumes < 5ms, Storage Replica supports synchronous replication (no data loss).
Storage Replica supports asynchronous replication for longer ranges and higher latency networks. Storage Replica asynchronous replication is not checkpoint-based but instead replicates continuously. This way data loss is kept to a minimum (seconds to minutes).
Hyper-V Replica (HR): With Hyper-V Replica replication frequency can be set to 30 seconds, 5 minutes, or 15 minutes on a per-VM basis.
|
|
Remote Replication Granularity
Details
|
VM or Volume
With SANsymphony the rough hierarchy is: physical disk(s) or LUNs -> Disk Pool -> Virtual Disk (=logical volume).
Although DataCore SANsymphony uses block-storage, the platform is capable of attaining per VM-granularity if desired.
In Microsoft Hyper-V environments, when a VM with vdisks is created through SCVMM, DataCore can be instructed to automatically carve out a Virtual Disk (=storage volume) for every individual vdisk. This way there is a 1-to-1 alignment from end-to-end and snapshots can be created on the VM-level. The per-VM functionality is realized by installing the DataCore Storage Management Provider in SCVMM.
Because of the per-host storage limitations in VMware vSphere environments, VVols is leveraged to provide per VM-granularity. DataCore SANsymphony Provider v2.01 is VMware certified for ESXi 6.5 U2/U3, ESXi 6.7 GA/U1/U2/U3 and ESXi 7.0 GA/U1.
|
Per Volume (LUN)
Remote replication can be setup for an individual volume or a volume set containing multiple volumes.
StorPool detects and sends only the deltas, referring to the data that has been changed since the last succesful remote application run. Deltas are discovered by examining the metadata in RAM, so the remote replication mechanism is a very lightweight operation to the primary StorPool cluster.
|
SR: Volume
HR: VM
Storage Replica (SR): Storage Replica replicates an entire source volume to a destination volume. You cannot specify a particular data set located inside a source volume when configuring a replication plan.
Hyper-V Replica (HR): Hyper-V Replica operates on the VM level.
|
|
Consistency Groups
Details
|
Yes
SANsymphony provides the option to use Virtual Disk Grouping to enable end-users to restore multiple Virtual Disks to the exact same point-in-time.
With SANsymphony the rough hierarchy is: physical disk(s) or LUNs -> Disk Pool -> Virtual Disk (=logical volume).
|
Yes
All snapshots in StorPool are crash-consistent. StorPool supports atomic snapshots of multiple volumes – e.g. all virtual disk of a VM can be snapshotted at a single point of time, providing consistent backup and restore for multi-disk systems.
The StorPool REST-API allows creating a snapshot of multiple volumes with a single call by specifying the names of the volumes. The snapshots created in this way store the respective volumes at exactly the same point in time thus preserving data consisteny across an application. There is no requirement to group volumes in advance.
|
No
|
|
|
VMware SRM (certified)
DataCore provides a certified Storage Replication Adapter (SRA) for VMware Site Recovery Manager (SRM). DataCore SRA 2.0 (SANsymphony 10.0 FC/iSCSI) shows official support for SRM 6.5 only. It does not support SRM 8.2 or 8.1.
There is no integration with Microsoft Azure Site Recovery (ASR). However, SANsymphony can be used with the control and automation options provided by Microsoft System Center (e.g. Operations Manager combined with Virtual Machine Manager and Orchestrator) to build a DR orchestration solution.
|
N/A
StorPool does not provide any native DR orchestration tooling and is not supported by VMware Site Recovery Manager (SRM).
|
Azure Site Recovery
Azure Site Recovery (ASR) can be leveraged for DR orchestration of physical and virtual workloads.
ASR support on-premises to on-premises scenarios as well as on-premises to public cloud scenarios.
ASR is licensed separately from Windows Server 2019 Datacenter edition.
|
|
Stretched Cluster (SC)
Details
|
VMware vSphere: Yes (certified)
DataCore SANsymphony is certified by VMware as a VMware Metro Storage Cluster (vMSC) solution. For more information, please view https://kb.vmware.com/kb/2149740.
|
Linux KVM: Yes
Stretched StorPool clusters are possible in both single-layer (compute+storage) deployments and dual-layer (storage-only) deployments.
Stretched clusters have very strict requirements with regard to latency and reliability of the network between cluster nodes. Stretched clusters are created on a case-by-case basis after examining the exact network properties.
|
N/A
At this time Microsoft does not support S2D clusters that are stretched across data centers.
|
|
|
2+sites = two or more active sites, 0/1 or more tie-breakers
Theoretically up to 64 sites are supported.
SANsymphony does not require a quorum or tie-breaker in stretched cluster configurations, but can be used as an optional component. The Virtual Disk Witness can provide a tie-breaker role if for instance redundant inter site paths are not implemented. The tie-breaker node (server or device) must be other than the two nodes presenting a virtual disk. Access to the Virtual Disk Witness is leading for storage node behavior.
There are 3 ways to configure the stretched cluster without any tie-breakers:
1. Default: in a split-brain scenario both sides stay active allowing upper infrastructure layers (OS/database/application) to make a decision (eg. clustering principles). In any case SANsymphony prevents a merge when there is a risk to data integrity, and the end-user has to make the choice on how to proceed next (which side is true)
2. Select one side to go inaccessible
3. Select both sides to go inaccessible.
|
2+sites = two or more active sites
A single StorPool cluster can be stretched to more than one physical location, provided there is high-bandwidth, low-latency connectivity between the nodes. Two, three, or more sites are possible. When a stretched cluster is designed, maintaining the cluster quorum in case of site or network failure is considered. This means that more than 50% of the storage nodes have to be available when such a failure occurs.
|
N/A
At this time Microsoft does not support S2D clusters that are stretched across data centers.
|
|
|
<=5ms RTT (targeted, not required)
RTT = Round Trip Time
In truth the user/app with the least tolerated write latency defines the acceptable RTT or distance. In practice
|
<=1ms RTT (targeted, not required)
Typical use cases for StorPool are where high-performance storage with minimal latency is required. While StorPool can tolerate higher network latency this will inevitably impact the performance of the storage system with the added latency. In the typical use cases, latency between nodes is kept below 100 microseconds round-trip-time.
|
N/A
At this time Microsoft does not support S2D clusters that are stretched across data centers.
|
|
|
<=32 hosts at each active site (per cluster)
The maximum is per cluster. The SANsymphony solution can consist of multiple stretched clusters with a maximum of 64 nodes each.
|
<=32 nodes in each site part of a synchronous stretched cluster configuration
Maximum number of nodes per cluster is 63, max 64 clusters in federation.
Two different technologies can be used to deploy a storage system over multiple sites.
The first is a simple stretched cluster where nodes of one cluster are installed at different sites. This requires persistent reliable low-latency connectivity between all nodes. This is used in small deployments, typically with 3 sites with 3, 6, or 9 nodes.
When a larger storage system is needed a 'federated' deployment is used. This is a federation of multiple storage clusters that can operate independently, but with a common namespace. This allows all clusters to operate like one large cluster. This mode allows up to 64 clusters with 63 nodes each. (The supported maximum is 4032 nodes = 64 clusters by 63 nodes). Depending on the specific requirement a single cluster or a federation of multiple clusters can be better.
|
N/A
At this time Microsoft does not support S2D clusters that are stretched across data centers.
|
|
SC Data Redundancy
Details
|
Replicas: 1N-2N at each active site
DataCore SANsymphony provides enhanced stretched cluster availability by offering local fault protection with In Pool Mirroring. With In Pool Mirroring you can choose to mirror the data inside the local Disk Pool as well as mirror the data across sites to a remote Disk Pool. In the remote Disk Pool data is then also mirrored. All mirroring happens synchronously.
1N-2N: With SANsymphony Stretched Clustering, there can be either 1 instance of the data at each site (no In Pool Mirroring) or 2 instances of the data a each site (In Pool RAID-1 Mirroring).
|
Replicas: 1N-2N at each active site
Although two-way replication (2N) is supported, it is recommended only in limited use cases due to the lower data protection level.
Stretched clusters behave exactly the same as non-stretched clusters. Replication policies and data locality can be managed using Fault Sets and Placement Groups. Fault Sets can be defined to store copies of the data on nodes in different sites.
|
N/A
At this time Microsoft does not support S2D clusters that are stretched across data centers.
|
|
|
Data Services
|
|
|
|
|
|
|
Efficiency |
|
|
Dedup/Compr. Engine
Details
|
Software (integration)
NEW
SANsymphony provides integrated and individually selectable inline deduplication and compression. In addition, SANsymphony is able to leverage post-processing deduplication and compression options available in Windows 2016/2019 as an alternative approach.
|
N/A
StorPool Distributed Storage (StorPool) does not have any native deduplication and/or compression capabilities. StorPool has implemented only those space saving features that do not compromise storage performance or take significant amounts of RAM/CPU. This means performance is the primary consideration.
StorPool provides the following space saving features:
- thin provisioning;
- TRIM/discard;
- zeroes detection.
The measured level of space saving delivered by these features is up to 6 times (minimum measured gain is 2 times) for virtualized public/private environments.
|
Software
NEW
Windows Server 2019 introduces support for data deduplication on Resilient File System (ReFS) volumes.
|
|
Dedup/Compr. Function
Details
|
Efficiency (space savings)
Deduplication and compression can provide two main advantages:
1. Efficiency (space savings)
2. Performance (speed)
Most of the time deduplication/compression is primarily focussed on efficiency.
|
N/A
StorPool Distributed Storage (StorPool) does not have any native deduplication and/or compression capabilities.
|
Efficiency (space savings)
NEW
Deduplication and compression can provide two main advantages:
1. Efficiency (space savings)
2. Performance (speed)
Most storage solutions place emphasis on efficiency.
|
|
Dedup/Compr. Process
Details
|
Deduplication: Inline (post-ack)
Compression: Inline (post-ack)
Deduplication/Compression: Post-Processing (post process)
NEW
Deduplication can be performed in 4 ways:
1. Immediately when the write is processed (inline) and before the write is ackowledged back to the originator of the write (pre-ack).
2. Immediately when the write is processed (inline) and in parallel to the write being acknowledged back to the originator of the write (on-ack).
3. A short time after the write is processed (inline) so after the write is acknowleged back to the originator of the write - eg. when flushing the write buffer to persistent storage (post-ack)
4. After the write has been committed to the persistent storage layer (post-process).
The first and second methods, when properly integrated into the solution, are most likely to offer both performance and capacity benefits. The third and fourth methods are primarily used for capacity benefits only.
DataCore SANSymphony 10 PSP12 and above leverage both inline deduplication and compression, as well as post process deduplication and compression techniques.
With inline deduplication incoming writes first hit the memory cache of the primary host and are replicated to the cache of a secondary host in an un-deduplicated state. After the blocks have been written to both memory caches, the primary host acknowledges the writes back to the originator. Each host then destages the written blocks to the persistent storage layer. During destaging, written blocks are deduplicates and/or compressed.
Windows Server 2019 deduplication is performed outside of IO path (post-processing) and is multi-threaded to speed up processing and keep performance impact minimal.
|
N/A
StorPool provides the following space saving features:
- thin provisioning;
- TRIM/discard;
- zeroes detection.
Discard commands are initated by the user of the storage system.
Write operations containing zeroes are detected as early as possible and converted to a metadata-only write operation.
Thin provisioning is on all the time.
|
Post-Process
NEW
Deduplication can be performed in 4 ways:
1. Immediately when the write is processed (inline) and before the write is ackowledged back to the originator of the write (pre-ack).
2. Immediately when the write is processed (inline) and in parallel to the write being acknowledged back to the originator of the write (on-ack).
3. A short time after the write is processed (inline) so after the write is acknowleged back to the originator of the write - eg. when flushing the write buffer to persistent storage (post-ack)
4. After the write has been committed to the persistent storage layer (post-process).
The first and second methods, when properly integrated into the solution, are most likely to offer both performance and capacity benefits. The third and fourth methods are primarily used for capacity benefits only.
Windows Server 2019 deduplication is performed outside of IO path (post-processing) and is multi-threaded to speed up processing and keep performance impact minimal.
|
|
Dedup/Compr. Type
Details
|
Optional
NEW
By default, deduplication and compression are turned off. For both inline and post-process, deduplication and compression can be enabled.
For inline deduplication and compression the feature can be turned on per node. The entire node represents a global deduplication domain. Deduplication and compression work across pools and across vDisks. Individual pools can be selected to participate in capacity optimization. Either deduplication or compression or both can be selected per individual vDisk. Pools can host both capacity optimized and non-capacity optimized vDisks at the same time. The optional capacity optimization settings can be added/changed/removed during operation for each vDisk.
For post-processing the feature can be enabled per pool. All vDisks in that pool would be deduplicated and compressed. Each pool is an independent deduplication domain. This means only data in the pool is capacity optimized, but not across pools. Additionally, for post-processing capacity optimization can be scheduled so admins can decide when deduplication should run.
With SANsymphony the rough hierarchy is: physical disk(s) or LUNs -> Disk Pool -> Virtual Disk (=logical volume).
|
N/A
Data reduction features don’t have negative performance impact.
|
Optional
NEW
By default deduplication and compression are turned off. Deduplication and compression can be enabled for selected volumes.
|
|
Dedup/Compr. Scope
Details
|
Persistent data layer
|
N/A
StorPool Distributed Storage (StorPool) does not have any native deduplication and/or compression capabilities.
|
Persistent data layer
NEW
Windows Server 2019 Deduplication only happens in the persistent data layer and not in the cache. The cache is not accessible from the file system and so deduplication cannot be applied to it.
|
|
Dedup/Compr. Radius
Details
|
Pool (post-processing deduplication domain)
Node (inline deduplication domain)
NEW
With SANsymphony the rough hierarchy is: physical disk(s) or LUNs -> Disk Pool -> Virtual Disk (=logical volume).
For inline deduplication and compression raw physical disks are added to a capacity optimization pool. The entire node represents a global deduplication domain. Deduplication and compression work across pools and across vDisks. Individual pools can be selected to participate in capacity optimization.
The post-processing capability provided through Windows Server 2016/2019 is highly scalable and can be used with volumes up to 64 TB and files up to 1 TB in size. Data deduplication identifies repeated patterns across files on that volume.
|
N/A
StorPool Distributed Storage (StorPool) does not have any native deduplication and/or compression capabilities.
|
Volume
NEW
Windows Server 2019 deduplication is highly scalable and can be used with volumes up to 64TB and files up to 4TB in size. Data deduplication identifies repeated patterns across files on that volume.
In Windows Server 2019 Datacenter there is a maximum of 64 volumes per S2D cluster.
|
|
Dedup/Compr. Granularity
Details
|
4-128 KB variable block size (inline)
32-128 KB variable block size (post-processing)
NEW
With inline deduplication and compression, the data is organized in 128 KB segments. Depending on the optimization setting, a write into such a segment first gets compressed (when compression is selected) and then a hash is generated. If the hash is unique, the 128 KB segment is written back and the hash is added to the deduplication hash-table. If the hash is not unique, the segment is referenced in the deduplication hash table and discarded. The smallest chunk in the segment can be 4 KB.
For post-processing the system leverages deduplication in Windows Server 2016/2019, files within a deduplication-enabled volume are segmented into small variable-sized chunks (32–128 KB), duplicate chunks are identified, and only a single copy of each chunk is physically stored.
|
N/A
StorPool Distributed Storage (StorPool) does not have any native deduplication and/or compression capabilities.
|
32-128 KB variable block size
NEW
By leveraging deduplication in Windows Server 2019, files within a deduplication-enabled volume are segmented into small variable-sized chunks (32–128 KB), duplicate chunks are identified, and only a single copy of each chunk is physically stored.
|
|
Dedup/Compr. Guarantee
Details
|
N/A
Microsoft provides the Deduplication Evaluation Tool (DDPEVAL) to assess the data in a particular volume and predict the dedup ratio.
|
N/A
StorPool Distributed Storage (StorPool) does not have any native deduplication and/or compression capabilities.
|
N/A
|
|
|
Full (optional)
Data rebalancing needs to be initiated manually by the end-user. It depends on the specific use case and end-user environment if this makes sense. When end-users want to isolate new workloads and corresponding data on new nodes, data rebalancing is not used.
|
Full
When one or more nodes or drives are added or removed from the cluster, data is automatically redistributed evenly across all available nodes and drives.
|
Full
Storage Spaces Direct (S2D) automatically rebalances data across nodes when a node is either added or removed. There is no user-intervention required for these redistribution activities.
Also you can execute a rebalance operation manually with the PowerShell 'Optimize-StoragePool' cmdlet.
|
|
|
Yes
DataCore SANsymphonys Auto-Tiering is a real-time intelligent mechanism that continuously positions data on the appropriate class of storage based on how frequently the data is accessed. Auto-Tiering leverages any combination of Flash and traditional disk technologies, whether it is internal or array based, with up to 15 different storage tiers that can be defined.
As more advanced storage technologies become available, existing tiers can be modified as necessary and additional tiers can be added to further diversify the tiering architecture.
|
Yes
Volumes can be moved online (no service interruption) between storage tiers and disk pools.
|
Yes
Microsoft S2D is able to leverage data tiering in a configuration where 3 distinct storage types are being used (NVMe + SSD + HDD). In this configuration the fastest storage devices, NVMe, become part of the caching tier, whilst SSD devices and HDD devices automatically become part of the persistent storage tier. Within the persistent storage tier, the SSD devices are part of the performance sub-tier and the HDD devices are part of the capacity sub-tier. The performance sub-tier is optimized for I/O (hot data) while the capacity sub-tier is optimized for Storage Efficiency (cold data).
|
|
|
|
Performance |
|
|
|
vSphere: VMware VAAI-Block (full)
Hyper-V: Microsoft ODX; Space Reclamation (T10 SCSI UNMAP)
DataCore SANsymphony iSCSI and FC are fully qualified for all VMware vSphere VAAI-Block capabilities that include: Thin Provisioning, HW Assisted Locking, Full Copy, Block Zero
Note: DataCore SANsymphony does not support Thick LUNs.
DataCore SANsymphony is also fully qualified for Microsoft Hyper-V 2012 R2 and 2016/2019 ODX and UNMAP/TRIM.
Note: ODX is not used for files smaller than 256KB.
VAAI = VMware vSphere APIs for Array Integration
ODX = Offloaded Data Transfers
UNMAP/TRIM support allows the Windows operating system to communicate the inactive block IDs to the storage system. The storage system can wipe these unused blocks internally.
|
OpenNebula, OnApp, OpenStack, CloudStack
StorPool has deep integrations with OpenNebula, OnApp, OpenStack, CloudStack and other cloud orchestration platforms. Cloning and snapshotting are performed in the StorPool storage system and offloaded from the cloud orchestration platform.
SCSI UNMAP is supported for block device driver and iSCSI.
|
RDMA
ReFSv2
Two mechanisms enable offloading storage processes from the server CPU:
- RDMA (network protocol);
- ReFSv2 (accelerated VHDX operations).
RDMA (Read Direct Memory Access) is strongly recommended when implementing S2D solution. It enables reading the hosts memory thus bypassing the OS. The result is a reduction of CPU usage, a decrease of network latency and an increase in throughput.
ReFSv2 in Windows Server 2019 allows for accelerated VHDX operations. ReFSv2 works with metadata to maintain integrity. ReFSv2 also works with metadata when creating or extending virtual disks. Due to accelerated VHDX operations, ReFSv2 writes metadata instead of writing zeros as new blocks on disk. This results in an accelerated creation of a fixed VHDX and accelerated merging of checkpoints during data protection maintenance.
|
|
|
IOPs and/or MBps Limits
QoS is a means to ensure specific performance levels for applications and workloads. There are two ways to accomplish this:
1. Ability to set limitations to avoid unwanted behavior from non-critical clients/hosts.
2. Ability to set guarantees to ensure service levels for mission-critical clients/hosts.
SANsymphony currently supports only the first method. Although SANsymphony does not provide support for the second method, the platform does offer some options for optimizing performance for selected workloads.
For streaming applications which burst data, it’s best to regulate the data transfer rate (MBps) to minimize their impact. For transaction-oriented applications (OLTP), limiting the IOPs makes most sense. Both parameters may be used simultaneously.
DataCore SANsymphony ensures that high-priority workloads competing for access to storage can meet their service level agreements (SLAs) with predictable I/O performance. QoS Controls regulate the resources consumed by workloads of lower priority. Without QoS Controls, I/O traffic generated by less important applications could monopolize I/O ports and bandwidth, adversely affecting the response and throughput experienced by more critical applications. To minimize contention in multi-tenant environments, the data transfer rate (MBps) and IOPs for less important applications are capped to limits set by the system administrator. QoS Controls enable IT organizations to efficiently manage their shared storage infrastructure using a private cloud model.
More information can be found here: https://docs.datacore.com/SSV-WebHelp/quality_of_service.htm
In order to achieve consistent performance for a workload, a separate Pool can be created where selected vDisks are placed. Alternatively 'Performance Classes' can be assigned to differentiate between data placement of multiple workloads.
|
IOPs and/or MBps Limits
Fair-sharing (built-in)
QoS is a means to ensure specific performance levels for applications and workloads. There are two ways to accomplish this:
1. Ability to set limitations to avoid unwanted behavior from non-critical VMs.
2. Ability to set guarantees to ensure service levels for mission-critical VMs.
StorPool supports only the first method currently and focusses on setting IOPS and MB/s limits per volume. It is not possible to guarantee a certain amount of IOPS for any given volume, unless all volumes in the system are IOPS-limited.
Furthermore, in StorPool there is built-in fairness between volumes. There are no privileged volumes and all IOPS operations are completed as fast as possible.
The QoS in StorPool is achieved by templates by which it is possible to set various limitations (IOPS and MB/s) for volumes.
StorPool Distributed Storage can apply hard limits on IOPS and bandwidth (MB/s) per volume. For example, if there are 10 virtual machines (VMs) connected to 10 virtual disks, you can configure IOPS and MB/s QoS limits for all 10 virtual disks. As long as there is sufficient storage/network capacity to handle the total IOPS and MB/s set for all the virtual disks, StorPool Distributed Storage fairly shares the available storage/network resources between the volumes. However, if components of the network equipment or underlying hardware used for storage fail, StorPool cannot guarantee that these limits will be kept.
Next to IOPS and MB/s StorPool provides volume-based QoS settings for Size, # of replicas and data placement policy.
|
IOPs/MBps Limits (maximums)
IOPs Guarantees (minimums)
QoS is a means to ensure specific performance levels for applications and workloads. There are two ways to accomplish this:
1. Ability to set limitations to avoid unwanted behavior from non-critical VMs.
2. Ability to set guarantees to ensure service levels for mission-critical VMs.
Windows 2019 Failover Clustering includes Storage QoS for use in scenarios where S2D is used in conjunction with Hyper-V. Storage QoS supports both methods (maximums as well as minimums) and mostly focusses on IOPs. A Storage QoS policy can be tied to an individual virtual disk.
Two kind of QoS policies can be used:
1. Aggregated policies apply maximums and minimum for the combined set of VHD/VHDX files and virtual machines where they apply.
2. Dedicated policies apply the minimum and maximum values for each VHD/VHDx, separately.
A single policy can be tied to one or more virtual disks.
Storage QoS can only be used when all servers (storage clients and storage servers) are running Windows Server 2019.
|
|
|
Virtual Disk Groups and/or Host Groups
SANsymphony QoS parameters can be set for individual hosts or groups of hosts as well as for groups of Virtual Disks for fine grained control.
In a VMware VVols (=Virtual Volumes) environment a vDisk corresponds 1-to-1 to a virtual disk (.vmdk). Thus virtual disks can be placed in a Disk Group and a QoS Limit can then be assigned it. DataCore SANsymphony Provider v2.01 has VVols certification for VMware ESXi 6.5 U2/U3, ESXi 6.7 GA/U1/U2/U3 and ESXi 7.0 GA/U1.
In Microsoft Hyper-V environments, when a VM with vdisks is created through SCVMM, DataCore can be instructed to automatically carve out a Virtual Disk (=storage volume) for every individual vdisk. This way there is a 1-to-1 alignment from end-to-end and QoS Limits can be applied on the virtual disk level. The 1-to-1 allignment is realized by installing the DataCore Storage Management Provider in SCVMM.
|
Per volume
Per vdisk (CMPs)
Because StorPool presents block-based storage volumes, QoS Policies can be applied to VMware datastores as well as Raw Device Mappings (RDMs). This also extends to individual vdisks when Cloud Management Platforms (eg. OpenNebula, OpenStack, CloudStack, and OnApp) are leveraged. For a demonstration of this please view: https://www.youtube.com/watch?v=WZ6UggyVEfg
|
Per Virtual Disk
Quality of service (QoS) for S2D is normalized to an 8KB block size, and treats reads the same as writes. Normalization is configurable and can be set between 8KB and 4GB.
|
|
|
Per VM/Virtual Disk/Volume
With SANsymphony the rough hierarchy is: physical disk(s) or LUNs -> Disk Pool -> Virtual Disk (=logical volume).
In SANsymphony 'Flash Pinning' can be achieved using one of the following methods:
Method #1: Create a flash-only pool and migrate the individual vDisks that require flash pinning to the flash-only pool. When using a VVOL configuration in a VMware environment, each vDisk represents a virtual disk (.vmdk). This method guarantees all application data will be stored in flash.
Method #2: Create auto-tiering pools with at least 1 flash tier. Assign the Performance Class “Critical” to the vDisks that require flash pinning and place them in the auto-tiering pool. This will effectively and intelligently put as much of the data that resides in the vDisk in the flash tier as long that the flash tier has enough space available. Therefore this method is on a best-effort basis and dependent on correct sizing of the flash tier(s).
Methods #1 and #2 can be uses side-by-side in the same DataCore environment.
|
Yes
Every volume(LUN) can be dynamically re-assigned to different performance tiers.
Every volume in StorPool is associated to a 'template'. The template specifies the replication level, which drive pools (aka placement groups) and default IOPS and MB/s limits. Multiple templates can be configured in a StorPool storage system. For example one template could be created for a NVMe storage pool, another template could be for a SSD-HDD hybrid pool (with 1-2 copies on SSDs and 1-2 copies on HDDs) and yet another template could be for HDD-only storage.
A volume can be moved between templates online, without interrupting the storage service. In most cases a volume (LUN) in StorPool corresponds to one virtual disk of a VM or one persistent volume of a container/pod.
Drive pools (placement groups) can be changed online, without interrupting the service, for example to add or remove storage nodes and individual drives (SSDs, HDDs) from them. Templates can also be changed to refer to different drive pools. For example if the user decides that a large group of volumes needs to be moved to different media.
|
Not relevant (Cache architecture)
When deploying an S2D solution, a ratio can be configured between the number of cache devices and the number of capacity devices (1:2, 1:3, 1:4, 1:5, etc). This enables bonding a specific number of capacity devices to a cache device to ensure performance for the working set (=the data that is actively being used).
When designing a S2D cluster it must be ensured that the capacity of cache is at least 10% of raw data storage. This ensures that there is enough cache capacity to avoid read misses.
Because the cache data are replicated across nodes, even if a cache fails, the cache is not lost. Microsoft leverages RDMA to improve throughput between nodes. In case a cache device does fail, the related capacity devices are bound to another cache device in the same host. This is why Microsoft recommends at least two cache devices per node.
|
|
|
|
Security |
|
|
Data Encryption Type
Details
|
Built-in (native)
SANsymphony 10.0 PSP9 introduced native encryption when running on Windows Server 2016/2019.
|
N/A
StorPool does not have native data encryption capabilities. Adding data encryption capabilities requires encryption storage hardware.
|
Built-in (native)
|
|
Data Encryption Options
Details
|
Hardware: Self-encrypting drives (SEDs)
Software: SANsymphony Encryption
Hardware: In SANsymphony deployments the encryption data service capabilities can be offloaded to hardware-based SED offerings available in server- and storage solutions.
Software: SANsymphony provides software-based data-at-rest encryption that is XTS-AES 256bit compliant.
|
Hardware: Self-encrypting drives (SEDs)
Software: N/A
Hardware: In StorPool deployments the encryption data service capabilities can be offloaded to hardware-based SED offerings available in server- and storage solutions.
|
Hardware: N/A
Software: Microsoft BitLocker Drive Encryption; SMB encryption
Hardware: N/A
Software: Microsoft Bitlocker provides software encryption on standalone and cluster based NTFS or ReFS(v2) volumes. Cluster volumes (CSV) encryption support was added in Windows 2012 Server.
Microsoft BitLocker uses the Advanced Encryption Standard (AES) encryption algorithm with either 128-bit or 256-bit keys. It is generally recommended to use 256-bit keys because of their superior strength.
|
|
Data Encryption Scope
Details
|
Hardware: Data-at-rest
Software: Data-at-rest
Hardware: SEDs provide encryption for data-at-rest; SEDs do not provide encryption for data-in-transit.
Software: SANsymphony provides encryption for data-at-rest; it does not provide encryption for data-in-transit. Encryption can be enabled per individual virtual disk.
|
Hardware: Data-at-rest
Software: N/A
Hardware: SEDs provide encryption for data-at-rest; SEDs do not provide encryption for data-in-transit.
|
Hardware: N/A
Software: Data-at-rest (BitLocker); Data-in-transit (SMB Encryption)
Hardware: N/A
Software: Microsoft BitLocker provides encryption for data-at-rest as well as data-in-transit during live migration of a VM; Microsof SMB encyrption provides encryption for data-in-transit.
|
|
Data Encryption Compliance
Details
|
Hardware: FIPS 140-2 Level 2 (SEDs)
Software: FIPS 140-2 Level 1 (SANsymphony)
FIPS = Federal Information Processing Standard
FIPS 140-2 defines four levels of security:
Level 1 > Basic security requirements are specified for a cryptographic module (eg. at least one Approved algorithm or Approved security function shall be used).
Level 2 > Also has features that show evidence of tampering.
Level 3 > Also prevents the intruder from gaining access to critical security parameters (CSPs) held within the cryptographic module.
Level 4 > Provides a complete envelope of protection around the cryptographic module with the intent of detecting and responding to all unauthorized attempts at physical access.
|
Hardware: FIPS 140-2 Level 2 (SEDs)
Software: N/A
FIPS = Federal Information Processing Standard
FIPS 140-2 defines four levels of security:
Level 1 > Basic security requirements are specified for a cryptographic module (eg. at least one Approved algorithm or Approved security function shall be used).
Level 2 > Also has features that show evidence of tampering.
Level 3 > Also prevents the intruder from gaining access to critical security parameters (CSPs) held within the cryptographic module.
Level 4 > Provides a complete envelope of protection around the cryptographic module with the intent of detecting and responding to all unauthorized attempts at physical access.
|
Hardware: N/A
Software: FIPS 140-2 Level 1 (Bitlocker)
Microsoft BitLocker has been validated for Federal Information Processing Standard (FIPS) 140-2 in March 2018.
FIPS 140-2 defines four levels of security:
Level 1 > Basic security requirements are specified for a cryptographic module (eg. at least one Approved algorithm or Approved security function shall be used).
Level 2 > Also has features that show evidence of tampering.
Level 3 > Also prevents the intruder from gaining access to critical security parameters (CSPs) held within the cryptographic module.
Level 4 > Provides a complete envelope of protection around the cryptographic module with the intent of detecting and responding to all unauthorized attempts at physical access.
|
|
Data Encryption Efficiency Impact
Details
|
Hardware: No
Software: No
Hardware: Because data encryption is performed at the end of the write path, storage efficiency mechanisms are not impaired.
Software: Because data encryption is performed at the end of the write path, storage efficiency mechanisms are not impaired.
|
Hardware: No
Software: N/A
Hardware: Because data encryption is performed at the end of the write path, storage efficiency mechanisms are not impaired.
|
Hardware: N/A
Software: No
Hardware: N/A
Software: Microsoft BitLocker can be used to provide whole-disk encryption on a deduplicated disk since BitLocker sits beneath the deduplication software ie. at the end of the write path.
|
|
|
|
Test/Dev |
|
|
|
Yes
Support for fast VM cloning via VMware VAAI and Microsoft ODX.
|
Yes
|
No
|
|
|
|
Portability |
|
|
Hypervisor Migration
Details
|
Hyper-V to ESXi (external)
ESXi to Hyper-V (external)
VMware Converter 6.2 supports the following Guest Operating Systems for VM conversion from Hyper-V to vSphere:
- Windows 7, 8, 8.1, 10
- Windows 2008/R2, 2012/R2 and 2016
- RHEL 4.x, 5.x, 6.x, 7.x
- SUSE 10.x, 11.x
- Ubuntu 12.04 LTS, 14.04 LTS, 16.04 LTS
- CentOS 6.x, 7.0
The VMs have to be in a powered-off state in order to be migrated across hypervisor platforms.
Microsoft Virtual Machine Converter (MVMC) supports conversion of VMware VMs and vdisks to Hyper-V VMs and vdisks. It is also possible to convert physical machines and disks to Hyper-V VMs and vdisks.
MVMC has been offcially retired and can only be used for converting VMs up to version 6.0.
Microsoft System Center Virtual Machine Manager (SCVMM) 2016 also supports conversion of VMs up to version 6.0 only.
|
Hyper-V/ESXi/XenServer to KVM (external)
Migration between hypervisors depends on the cloud orchestration platform or external tools.
StorPool provides free tools for migrating VMs with minimal downtime from Hyper-V, VMWare ESXi and XenServer to KVM.
|
ESXi to Hyper-V/Azure (external)
Microsoft provides tools to convert VMs from one hypervisor (mostly VMware vSphere) to another. Microsoft recommends Azure Site Recovery when performing a large-scale conversions.
Microsoft Virtual Machine Converter (MVMC) is a stand-alone tool that can be used to:
- convert virtual machines and disks from VMware hosts to Hyper-V hosts and Microsoft Azure;
- convert physical machines and disks to Hyper-V hosts.
MVMC has been offcially retired and can only be used for converting VMs up to version 6.0.
Microsoft System Center Virtual Machine Manager (SCVMM) 2016 also supports conversion of VMs up to version 6.0 only.
Azure Site Recovery is a DR orchestration solution for Hyper-V or VMware (as well as physical servers). When a physical server or a VMware vSphere VM is replicated to Azure, the disks are also converted in VHD format. Next you can download the VHD to run the VM in your on premises datacenter.
|
|
|
|
File Services |
|
|
|
Built-in (native)
SANsymphony delivers out-of-box (OOB) file services by leveraging Windows native SMB/NFS and Scale-out File Services capabilities. SANsymphony is capable of simultaneously handling highly-available block and file level services.
Raw storage is provisioned from within the SANsymphony GUI to the Microsoft file services layer, similar to provisioning Storage Spaces Volumes to the file services layer. This means any file services configuration is performed from within the respective Windows service consoles e.g. quotas.
More information can be found under: https://www.datacore.com/products/features/high-availability-nas-cluster-file-sharing.aspx
|
N/A
StorPool does not provide any file serving capabilities of its own.
Inside a Guest VM all native file service features of the Microsoft Windows and/or Linux operating system can be leveraged to host network shares.
Linux requires Samba Server components to provide SMB file shares.
Depending on the OS of the Guest VM providing file services, quotas can been set on the share or the filesystem level.
|
Built-in (native;limited)
Although Storage Spaces Direct (S2D) supports Scale-out File Server, it is primarily meant to be used in Hyper-V and MS SQL use cases. In cases where standard file services (eg. home folders or shared departmental folders) are needed, Microsoft recommends to virtualize a Windows file server in Hyper-V.
Storing generic data on Scale-Out File Server is possible but not recommended by Microsoft. It is not recommended because Scale-out file Server does not provide some of the common file services features such as quotas and DFS.
For these use cases Microsoft recommends to rely on Windows guest VMs (SMB) and/or Linux guest VMs (NFS) to provide file services on top of S2D. These file services can be made highly available by using clustering techniques.
|
|
Fileserver Compatibility
Details
|
Windows clients
Linux clients
Because SANsymphony leverages Windows Server native CIFS/NFS and Scale-out File services, most Windows and Linux clients are able to connect.
|
N/A
StorPool does not provide any file serving capabilities of its own.
Inside a Guest VM all native file service features of the Microsoft Windows and/or Linux operating system can be leveraged to host network shares.
Linux requires Samba Server components to provide SMB file shares.
Depending on the OS of the Guest VM providing file services, quotas can been set on the share or the filesystem level.
|
Windows clients
Although Storage Spaces Direct (S2D) supports Scale-out File Server, it is primarily meant to be used in Hyper-V and MS SQL use cases. In cases where standard file services (eg. home folders or shared departmental folders) are needed, Microsoft recommends to virtualize a Windows file server in Hyper-V.
Storing generic data on Scale-Out File Server is possible but not recommended by Microsoft. It is not recommended because Scale-out file Server does not provide some of the common file services features such as quotas and DFS.
For these use cases Microsoft recommends to rely on Windows guest VMs (SMB) and/or Linux guest VMs (NFS) to provide file services on top of S2D. These file services can be made highly available by using clustering techniques.
|
|
Fileserver Interconnect
Details
|
SMB
NFS
Because SANsymphony leverages Windows Server native CIFS/NFS and Scale-out File services, Windows Server platform compatibility applies:
SMB versions1,2 and 3 are supported, as are NFS versions 2, 3 and 4.1.
|
N/A
StorPool does not provide any file serving capabilities of its own.
Inside a Guest VM all native file service features of the Microsoft Windows and/or Linux operating system can be leveraged to host network shares.
Linux requires Samba Server components to provide SMB file shares.
Depending on the OS of the Guest VM providing file services, quotas can been set on the share or the filesystem level.
|
SMB
NFS is not supported for file services deployed on S2D.
Although Storage Spaces Direct (S2D) supports Scale-out File Server, it is primarily meant to be used in Hyper-V and MS SQL use cases. In cases where standard file services (eg. home folders or shared departmental folders) are needed, Microsoft recommends to virtualize a Windows file server in Hyper-V.
Storing generic data on Scale-Out File Server is possible but not recommended by Microsoft. It is not recommended because Scale-out file Server does not provide some of the common file services features such as quotas and DFS.
For these use cases Microsoft recommends to rely on Windows guest VMs (SMB) and/or Linux guest VMs (NFS) to provide file services on top of S2D. These file services can be made highly available by using clustering techniques.
|
|
Fileserver Quotas
Details
|
Share Quotas, User Quotas
Because SANsymphony leverages Windows Server native CIFS/NFS and Scale-out File services, all Quota features available in Windows Server can be used.
|
N/A
StorPool does not provide any file serving capabilities of its own.
Inside a Guest VM all native file service features of the Microsoft Windows and/or Linux operating system can be leveraged to host network shares.
Linux requires Samba Server components to provide SMB file shares.
Depending on the OS of the Guest VM providing file services, quotas can been set on the share or the filesystem level.
|
N/A
Microsoft S2D Scale-out File Server does not provide any quota capabilities.
Inside a Guest VM all native file service features of the Microsoft Windows and/or Linux operating system can be leveraged to host network shares.
Linux requires Samba Server components to provide SMB file shares.
Depending on the OS of the Guest VM providing file services, quotas can been set on the share or the filesystem level.
|
|
Fileserver Analytics
Details
|
Partial
Because SANsymphony leverages Windows Server native CIFS/NFS, Windows Server built-in auditing capabilities can be used.
|
N/A
StorPool does not provide any file serving capabilities of its own.
Inside a Guest VM all native file service features of the Microsoft Windows and/or Linux operating system can be leveraged to host network shares.
Linux requires Samba Server components to provide SMB file shares.
Depending on the OS of the Guest VM providing file services, quotas can been set on the share or the filesystem level.
|
N/A
Microsoft S2D Scale-out File Server currently does not have advanced file analytics capabilities.
|
|
|
|
Object Services |
|
|
Object Storage Type
Details
|
N/A
DataCore SANsymphony does not provide any object storage serving capabilities of its own.
|
N/A
StorPool does not provide any object storage serving capabilities of its own.
Inside a Guest VM an object storage service could be leveraged to provide these services to the clients.
|
N/A
Microsoft S2D does not provide any object storage serving capabilities of its own.
|
|
Object Storage Protection
Details
|
N/A
DataCore SANsymphony does not provide any object storage serving capabilities of its own.
|
N/A
StorPool does not provide any object storage serving capabilities of its own.
Inside a Guest VM an object storage service could be leveraged to provide these services to the clients.
|
N/A
Microsoft S2D does not provide any object storage serving capabilities of its own.
|
|
Object Storage LT Retention
Details
|
N/A
DataCore SANsymphony does not provide any object storage serving capabilities of its own.
|
N/A
StorPool does not provide any object storage serving capabilities of its own.
Inside a Guest VM an object storage service could be leveraged to provide these services to the clients.
|
N/A
Microsoft S2D does not provide any object storage serving capabilities of its own.
|
|
|
Management
|
|
|
|
|
|
|
Interfaces |
|
|
GUI Functionality
Details
|
Centralized
SANsymphonys graphical user interface (GUI) is highly configurable to accommodate individual preferences and includes guided wizards and workflows to simplify administration. All actions available from the GUI may also be scripted with PowerShell Commandlets to orchestrate workflows with other tools and applications.
|
Centralized
StorPool provides a dashboard with a high-level view of the cluster status, real time statistics as well as information about the components, services and resources.
For all counters both real time data and historic data is captured; data is stored with up to 1 second granularity.
The information is provided through StorPools REST-API and short historical data is captured in the GUI.
The following information can be found in the StorePool Management GUI:
- Real-time at-a-glance status
- Detailed status, list/filter volumes, snapshots, etc.
- Performance Statistics
|
Centralized
The Failover Clustering Manager has been enhanced in Windows Server 2016 to incorporate Storage Spaces Direct (S2D). However, not all features are accessible by GUI. For some actions you rely quite heavily on PowerShell.
System Center Virtual Machine Manager (SCVMM) also provides a GUI to manage the storage besides the VM. SCVMM enables managing Storage QoS, the automation of deployment , VM placement and Storage Spaces Direct (S2D) deployment.
Windows Admin Center provides centralized management for S2D clusters including provisioning as well as real-time monitoring and alerting.
|
|
|
Single-site and Multi-site
|
Single-site and Multi-site (read-only)
The GUI is capable of displaying data from different StorPool clusters. The data is read-only as the GUI is currently not for management purposes.
|
Single-site and Multi-site
From a single Failover Clustering console, you can connect to several clusters by typing the name of each cluster in the connection window.
From SCVMM you can connect to several Failover Clusters. You can manage every cluster resource (compute, network, storage) from a single-pane-of-glass.
Windows Admin Center provides centralized management for S2D clusters including provisioning as well as real-time monitoring and alerting.
|
|
GUI Perf. Monitoring
Details
|
Advanced
SANsymphony has visibility into the performance of all connected devices including front-end channels, back-end channels, cache, physical disks, and virtual disks. Metrics include Read/write IOPs, Read/write MBps and Read/Write Latency at all levels. These metrics can be exported to the Windows Performance Monitoring (Perfmon) utility where other server parameters are being tracked.
The frequency at which performance metrics can be captured and reported on is configurable, real-time down to 1 second intervals and long term recording at 2 minutes granularity.
When a trend analysis is required, an end-user can simply enable a recording session to capture metrics over a longer period of time.
|
Advanced
Real-time as well as historical data are available graphically, in a table format and through the REST-API interface. Data is available at different levels – aggregated for the storage cluster, per node, per client, per volume, per drive, per CPU. User defined queries and reports can be generated.
Some of the most important metrics are:
- CPU and memory - usage per service, node
- Per drive statstics - drive utilization, IOPS, bandwidth, busy/free time, ops latency, request size
- Per volume statistics - IOPS, bandwidth, latency, request size, queue size
- Network utilization - per node and per interface
- Per client load - CPU, memory, requests, latency, requests in flight, IOPS, bytes/sec
- Aggregated cluster metrics - IOPS, BW, latency, request in flight, used and available space
|
Advanced
NEW
Both the Failover Clustering GUI as well as the SCVMM GUI show capacity, usage, volume state (degraded, recovering or OK), and which physical disks are used for what volume.
The GUI is limited in displaying performance related information and you need to use PowerShell for detailed information (eg. on IOPS).
Windows Admin Center provides centralized management for S2D clusters including provisioning as well as real-time monitoring and alerting.
Admin Center shows current performance statistics and introduces historical data capture for S2D clusters in Windows Server 2019. Performance history is collected automatically and stored on the cluster for up to one year.
Cluster storage performance metrics that can be viewed are: IOPS, Throughput (MBps) and Latency (ms). The metrics do not differentiate between Reads and Writes.
Volume storage performance metrics that can be viewed are: Read/Write IOPS IOPS, Read/Write Throughput (MBps) and Read/Write Latency (ms).
Physical Drive storage performance metrics that can be viewed are: Read/Write IOPS, Read/Write Throughput (MBps) and Average Latency (ms).
Virtual Drive storage performance metrics that can be viewed are: Read/Write IOPS, Read/Write Throughput (MBps) and Read/Write Latency (ms).
Virtual Machine storage performance metrics that can be viewed are: IOPS and Throughput (MBps). There is no differentation for Reads/Writes (yet).
Server (Physical Host) storage performance metrics are not available as of yet.
Read Cache storage performance metrics that can be viewed are: Read hits, Read misses, Hit rate.
Write Cache storage performance metrics that can be viewed are: New writes, Cache size, % Full.
Windows Admin Center is complementary to Windows Server 2019 and Windows 10 and as such does not require separate licenses.
Windows Server 2019 introduces drive built-in outlier detection for Storage Spaces Direct, inspired by Microsoft Azure. Drives with abnormal behavior, whether it’s their average or 99th percentile latency that stands out, are automatically detected and marked in PowerShell and Windows Admin Center with an “Abnormal Latency” status.
|
|
|
VMware vSphere Web Client (plugin)
VMware vCenter plug-in for SANsymphony
SCVMM DataCore Storage Management Provider
Microsoft System Center Monitoring Pack
DataCore offers deep integration with VMware vSphere and Microsoft Hyper-V, as well as their respective systems management tools, vCenter and System Center.
SCVMM = Microsoft System Center Virtual Machine Manager
|
OpenStack
CloudStack
OnApp
OpenNebula
Kubernetes
StorPool integrates with a number of private cloud platform interfaces.
StorPool does not integrate with the GUI of hypervisor platforms such as VMware and Hyper-V.
|
SCVMM 2016
Windows Admin Center (HCI only)
SCVMM 2016 provides wizards that allows you to configure and deploy both single-layer and dual-layer S2D clusters for use with Hyper-V.
The Create Hyper-V wizard allows deployment of S2D on hosts that already have Windows Server 2016 Datacenter installed as well as hosts that do not have an OS installed yet.
Also, from SCVMM S2D Storage QoS Policies can be configured.
Windows Admin Center provides centralized management for S2D clusters including provisioning as well as real-time monitoring and alerting.
Windows Admin Center is complementary to Windows Server and Windows 10 and as such does not require separate licenses.
|
|
|
|
Programmability |
|
|
|
Full
Using DataCores native management console, Virtual Disk Templates can be leveraged to populate storage policies. Available configuration items: Storage profile, Virtual disk size, Sector size, Reserved space, Write-trough enabled/disabled, Storage sources, Preferred snapshot pool, Accelerator enabled/disabled, CDP enabled/disabled.
Virtual Disk Templates integrate with System Center Virtual Machine Manager (SCVMM), VMware Virtual Volumes (VVol) and OpenStack. Virtual Disk Templates are also fully supported by the REST-API allowing any third-party integration.
Using Virtual Volumes (VVols) defined through DataCore’s VASA provider, VMware administrators can self-provision datastores for virtual machines (VMs) directly from their familiar hypervisor interface. This is possible even for devices in the DataCore pool that don’t natively support VVols and never will, as SANsymphony can be used as a storage-virtualization layer for these devices/solutions. DataCore SANsymphony Provider v2.01 has VVols certification for VMware ESXi 6.5 U2/U3, ESXi 6.7 GA/U1/U2/U3 and ESXi 7.0 GA/U1.
Using Classifications and StoragePools defined through DataCore’s Storage Management Provider, Hyper-V administrators can self-provision virtual disks and pass-through LUNS for virtual machines (VMs) directly from their familiar SCVMM interface.
|
Partial
StorPool does not provide a policy-based experience for every storage-related function, but offers an extensive REST-API/CLI instead.
|
Partial (Storage QoS)
From SCVMM S2D Storage QoS Policies can be configured.
Also you can either define or skip Storage Spaces configuration when creating the Storage Pool. If no configuration is specified during the Storage Spaces creation, it will take the default configuration that has been defined at the Storage Pool layer.
|
|
|
REST-APIs
PowerShell
The SANsymphony REST-APIs library includes more than 200 new representational state transfer (REST) operations, so automation can be leveraged more extensively. RESTful interfaces are used by products such as Lenovo XClarity, Cisco Embedded Resource Manager and Dell OpenManage to manage infrastructure in the enterprise.
SANsymphony provides its own Powershell cmdlets.
|
REST-API
CLI
All StorPool Distributed Storage (StorPool) features are exposed through the JSON API and end-user organizations usually leverage bash/shell/other scripts to automate operational workflows.
|
PowerShell
WMI
Public SDK (WAC)
Several PowerShell cmdlets has been developped to manage Storage Spaces Direct (S2D). These PowerShell cmdlets are extensive and provide you with a powerful tool to automate and troubleshoot an S2D solution.
WAC = Windows Admin Center
|
|
|
OpenStack
OpenStack: The SANsymphony storage solution includes a Cinder driver, which interfaces between SANsymphony and OpenStack, and presents volumes to OpenStack as block devices which are available for block storage.
Datacore SANsymphony programmability in VMware vRealize Automation and Microsoft System Center can be achieved by leveraging PowerShell and the SANsymphony specific cmdlets.
|
OpenStack
CloudStack
OnApp
OpenNebula
Kubernetes
OpenStack: StorPool storage solution provides Cinder block storage component to use the StorPool distributed storage as a backend for volumes of OpenStack.
CloudStack: StorPool deeply integrates with CloudStack and has a native driver in the host OS which provides block devices as raw disk images for qemu/KVM.
OnApp: StorPool provides and maintains integration with OnApp; each VM disk becomes a separate volume in the StorPool storage system. The integration replaces the traditional LVM layer in OnApp.
OpenNebula: StorPool enables OpenNebula to use a StorPool storage system for storing disk images by leveraging its native datastore driver.
Kubernetes - StorPool provides persistent volumes for bare-metal Kubernetes clusters through its CSI driver.
|
Azure Automation
System Center Orchestrator
System Center Orchestrator allows the orchestration of S2D management automation tasks. However, note that this product is to be deprecated in the near future. As an alternative, Azure Automation can be used to create S2D management workflows and automate tasks.
|
|
|
Full
The DataCore SANsymphony GUI offers delegated administration to secondary users through fine-grained Role-based Access Control (RBAC). The administrator is able to define Virtual Disk ownership as well as privileges associated with that particular ownership. Owners must have Virtual Disk privileges in an assigned role in order to perform operations on the virtual disk. Access can be very refined. For example, one owner may have the privilege to create a snapshot of a virtual disk, but not have the ability to serve or unserve the same virtual disk. Privilege sets define the operations that can be performed. For instance, in order for an owner to perform snapshot, rollback, or replication operations, they would require those privilege sets in an assigned role.
|
N/A
StorPool Distributed Storage (StorPool) does not provide any end-user self service capabilities of its own.
A self service portal enables end-users to access a portal where they can provision and manage VMs from templates, eliminating administrator requests or activity.
Self-Service functionality can be enabled by leveraging a Cloud Management Platform (CMP). When not using an open-source CMP, this requires separate licenses.
|
N/A (not part of S2D license)
A self service portal enables end-users to access a portal where they can provision and manage VMs from templates, eliminating administrator requests or activity.
Microsoft Storage Spaces Direct (S2D) does not provide any end-user self service capabilities of its own.
Self-Service functionality however can be enabled by leveraging Windows Azure Pack (WAP) and Microsoft Azure Stack. These solutions require separate licenses.
If you are using Windows Azure Pack (WAP) and SCVMM, you can deploy the solution on top of an S2D cluster. WAP and SCVMM are based on storage classification that can be defined from SCVMM.
|
|
|
|
Maintenance |
|
|
|
Unified
All storage related features and functionality are built into the DataCore SANsymphony platform. The consolidation means, that only one product needs to be installed and upgraded and minimal dependencies exist with other software.
Integration with 3rd party systems (e.g. OpenStack, vSphere, System Center) are delivered seperately but are free-of-charge.
|
Unified
All storage related features and functionality are built into the StorPool platform. The consolidation means, that only one product needs to be installed and upgraded and minimal dependencies exist with other software.
|
Partially Distributed
For a number of features and functions Storage Spaces Direct (S2D) relies on other components that need to be installed and upgraded next to the core Windows platform. Examples are backup/restore and advanced management software. As a result some dependencies exist with other software.
Windows Admin Center is starting to close the gap where day-to-day administration is concerned.
|
|
SW Upgrade Execution
Details
|
Rolling Upgrade (1-by-1)
Each SANsymphony update is packaged in an installation Wizard which contains a fully guided upgrade process. The upgrade process checks all system requirements and performs a system health before starting the upgrade process and before moving from one node to the next.
The user can also decide to upgrade a SANsymphony cluster manually and follow all steps that are outlined in the Release Notes.
|
Rolling Upgrade (1-by-1)
StorPool does in-service rolling upgrades: StorPool performs upgrades node-by-node while the workloads maintain accessible and storage operations keep on running. Usually the software upgrade does not impact performance noticeably.
|
Rolling Upgrade (1-by-1)
The recommended way to upgrade a Storage Spaces Direct (S2D) cluster is Cluster Aware Updating (CAU). CAU orchestrates the restart of nodes and cares about the volume state (degraded or not) before upgrading a node. For the operating system upgrade, Microsoft has developped Rolling Cluster Upgrade (RCU) that enables adding nodes with a different OS version inside the same cluster.
|
|
FW Upgrade Execution
Details
|
Hardware dependent
Some server hardware vendors offer rolling upgrade options with their base software or with a premium software suite. With some other server vendors, BIOS and Baseboard Management Controller (BMC) updated have to be performed manually and 1-by-1.
DataCore provides integrated firmware-control for FC-cards. This means the driver automatically loads the required firmware on demand.
|
Hardware dependent
Some server hardware vendors offer rolling upgrade options with their base software or with a premium software suite. With some other server vendors, BIOS and Baseboard Management Controller (BMC) updated have to be performed manually and 1-by-1.
|
Hardware dependent
Some server hardware vendors offer rolling upgrade options with their base software or with a premium software suite. With some other server vendors, BIOS and Baseboard Management Controller (BMC) updated have to be performed manually and 1-by-1.
|
|
|
|
Support |
|
|
Single HW/SW Support
Details
|
No
With regard to DataCore SANsymphony as a software-only offering (SDS), DataCore does not offer unified support for the entire solution. This means storage software support (SANsymphony) and server hardware support are separate.
|
Yes (limited)
There are bundles available at selected channel partners where the end-user organization can procure a complete hardware/software solution, eg.: https://s3s.eu/solutions/storpool
|
No (Yes for some Tier-1 server hardware vendors)
With regard to Microsoft Storage Spaces Direct (S2D) as a software-only offering, Microsoft does not offer unified support for the entire solution. This means storage software support (Microsoft Storage Spaces Direct) and server hardware support are separate.
Some Tier-1 server hardware vendors like Dell EMC or DataOn do offer hardware+software support in case of S2D Ready-Nodes.
S2D in Windows Server 2019 will be fully supported in mid-January 2019 when hardware will be validated and officially added to the Windows Server Software-Defined (WSSD) Solution list.
|
|
Call-Home Function
Details
|
Partial (HW dependent)
With regard to DataCore SANsymphony as a software-only offering (SDS), DataCore does not offer call-home for the entire solution. This means storage software support (SANsymphony) and server hardware support are separate.
|
Yes
StorPool has live monitoring enabled on StorPool Distributed Storage (StorPool) production clusters. StorPool reacts proactively on incidents to prevent issues. For example, if StorPool detects a drive failure or latency peaks, the impacted end-user organization is alerted or StorPool can step in to tackle the issue before it escalates. For end-user organizations that do not want StorPool to have full access to their clusters, StorPool aligns with these organizations and schedules updates and troubleshoots when there is an open support ticket.
|
Partial (HW dependent)
With regard to Storage Spaces Direct (S2D) as a software-only offering (SDS), Microsoft does not offer call-home for the entire solution. This means storage software support (Microsoft Storage Spaces Direct) and server hardware support are separate.
|
|
Predictive Analytics
Details
|
Partial
Capacity Management: DataCore SANsymphony Analysis and Reporting supports depletion monitoring of the capacity, complements pool space threshold warnings by regularly evaluating the rate of capacity consumption and estimating when space will be depleted. The regularly updated projections give you a chance to add more storage to the pool before you run out of storage. It also helps you do a better job of capacity planning with fewer surprises. To help allocate costs, especially in private cloud and hosted cloud services, SANsymphony generates reports quantifying the storage resources consumed by specific hosts or groups of hosts. The reports tally several parameters.
Health Monitoring: A combination of system health checks and access to device S.M.A.R.T. (Self-Monitoring, Analysis and Reporting Technology) alerts help to isolate performance and disk problems before they become serious.
DataCore Insight Services (DIS) offers additional capabilites including log-analytics for predictive failure analysis and actionable insights - including hardware.
DIS also provides predictive capacity trend analysis in order to pro-actively warn about licensing limitations being reached within x days and/or disk pools running out of capacity.
|
Partial
As part of the the real-time monitoring system, automatic notifications are generated based on metrics that can predict hardware failures such as the increase of the read/write error rate or increased disk latency over time. Automatic notifications are also generated on storage depletion which covers almost-full states for individual disks.
|
Full
NEW
System Insights is a new predictive analytics feature in Windows Server 2019.
System Insights introduces four default capabilities focussed on capacity forecasting:
- CPU capacity forecasting: Forecasts CPU usage.
- Networking capacity forecasting: Forecasts network usage for each network adapter.
- Total storage consumption forecasting: Forecasts total storage consumption across all local drives.
- Volume consumption forecasting: Forecasts storage consumption for each volume.
Each capability analyzes past historical data to predict future usage, and all of the forecasting capabilities are designed to forecast long-term trends rather than short-term behavior.
Other templates will be available over the time.
Windows Server version 1903 introduced the capability 'disk anomaly detection'. Disk anomaly detection highlights when disks are behaving differently than usual. While different isnt necessarily a bad thing, seeing these anomalous moments can be helpful when troubleshooting issues on your systems.
|
|