Difference between revisions of "QuantaStor Internal Architecture"

From OSNEXUS Online Documentation Site
Jump to: navigation, search
m (Hardware RAID Support)
m (Filesystem Support)
(4 intermediate revisions by the same user not shown)
Line 5: Line 5:
 
== Filesystem Support ==
 
== Filesystem Support ==
  
QuantaStor storage pools can be created on top of three different filesystem types, XFS, BTRFS, and ZFS.   
+
QuantaStor storage pools can be created on top of two filesystem types, ZFS and XFS, where ZFS is the default.  Almost all production deployments as of mid-2014 are using ZFS which is a fast mature enterprise filesystem that is used broadly across the Fortune 500.  BTRFS was introduced as an experimental storage pool type into QuantaStor v1 in 2010 but to date it has not matured enough for production deployments.  ZFS in QuantaStor is based on the [http://zfsonlinux.org/ ZFS on Linux (ZoL)] port of the enterprise filesystem which OSNEXUS is a contributor to.
Almost all production deployments as of mid-2013 are using XFS which is a fast mature filesystem that is used broadly in the enterprise.  BTRFS was introduced into QuantaStor in 2010 but as only matured recently but it's adoption is increasing due to it's advanced feature set which includes snapshots and compression.  ZFS in QuantaStor is based on the ZFS on Linux (ZoL) port of the filesystem and will be introduced into QuantaStor v3.6 in June/2013. ZFS is similar to BTRFS but is more mature than BTRFS and has some advanced features (like deduplication) which BTRFS currently lacks.
+
  
 
== Hardware RAID Support ==
 
== Hardware RAID Support ==
Line 12: Line 11:
 
[[File:qs_hwarch.png]]
 
[[File:qs_hwarch.png]]
  
Hardware RAID controllers generally far outperform software RAID for write performance when combined with a battery backup unit because the RAID controller can safely complete a write once it has been stored in the battery backed write cache. Most modern RAID controllers have at least 1GB of DDR3 protected cache so for most workloads it provides a significant performance boost.  QuantaStor has deep integration with all major RAID controllers (LSI, Adaptec, HP, etc) so that it can configure and monitor the health of your system from top to bottom without having to resort to BIOS configuration or command line configuration utilities.  To configure the hardware RAID layer of your system simply choose the 'Hardware Controllers & Enclosures' section of the web management interface.  Internally QuantaStor integrates with the hardware controllers by calling APIs or communicating with the hardware via CLI utilities to monitor and manage the hardware.  You can use RAID controllers which we do not have an integration module for but the various hardware specific objects shown above in blue will not be discovered and displayed in the web management interface.
+
Hardware RAID controllers generally far outperform software RAID5/RAID6 for write performance when combined with NVRAM cache in the controller because of the high performance of the hardware RAID's resilient write back cache. Most modern RAID controllers have at least 1GB of DDR3 protected cache so for most workloads it this provides a significant performance boost for sequential workloads like media playback, archive, and other large scale big data deployements.  QuantaStor has deep integration with all major HBAs and RAID controllers (LSI, Adaptec, HP, etc) so that you can pick software RAID, hardware RAID or a hybrid of the two to match the storage appliance architecture with the needs of you applications.  QuantaStor's HBA and RAID hardware integration modules allow you to configure, maintain, and monitor the health of your system from top to bottom without having to resort to BIOS configuration or command line configuration utilities.   
  
== Storage Pool Replication ==
+
To configure the hardware controller layer of your system simply choose the 'Hardware Controllers & Enclosures' section of the web management interface.  Internally QuantaStor integrates with the hardware controllers by calling APIs or communicating with the hardware via drivers or utilities to monitor and manage the hardware.
 
+
QuantaStor utilizes the DRBD driver to provide storage pool level replication between hosts.  This makes it so that you can failover to another remote system in the event of a site or hardware outage at your primary site.  When replicating a storage pool from one system to another you must first create a 'grid' and add the remote storage appliance to the grid to which you want to replicate.  There must also be a target storage pool that is at least as big as the source storage pool in order for the pool replication to work. 
+
Creating a storage pool replication link is a straight forward process, you simply right-click on the primary Storage Pool to be replicated in the web management interface and choose 'Create Pool Replication Link..'All the internal configuration details and considerations for proper DRBD setup are all handled internally to the system.  For the curious, the DRBD resource configuration files are all stored in the standard location within the appliance at /etc/drbd.d/.
+
  
 
== Performance Tuning ==
 
== Performance Tuning ==
  
 
QuantaStor allocates and configures the various layers of a storage pool to optimize for performance. In some cases tuning for one type of application may not be as ideal for another so our default configuration is tuned to deliver good performance for a broad set of workloads.  In some cases though it may be beneficial to select one of our preset IO profiles for your storage pool to match your application type.  IO profiles determine factors such as read-ahead and stripe size and can be changed via the 'Modify Storage Pool..' dialog in the web management interface.  Custom IO profiles can also be developed by adding new entries to /etc/qs_io_profiles.conf and restarting the QuantaStor core service (service quantastor restart).
 
QuantaStor allocates and configures the various layers of a storage pool to optimize for performance. In some cases tuning for one type of application may not be as ideal for another so our default configuration is tuned to deliver good performance for a broad set of workloads.  In some cases though it may be beneficial to select one of our preset IO profiles for your storage pool to match your application type.  IO profiles determine factors such as read-ahead and stripe size and can be changed via the 'Modify Storage Pool..' dialog in the web management interface.  Custom IO profiles can also be developed by adding new entries to /etc/qs_io_profiles.conf and restarting the QuantaStor core service (service quantastor restart).

Revision as of 15:45, 23 March 2015

The QuantaStor Software Defined Storage platform implements a layered architecture for IO which leverages many storage components you would typically find in an enterprise Linux server deployment. The following diagram illustrates the key layers in some detail to give you a better understanding of how the system is designed.

Qs ioarch.png

Filesystem Support

QuantaStor storage pools can be created on top of two filesystem types, ZFS and XFS, where ZFS is the default. Almost all production deployments as of mid-2014 are using ZFS which is a fast mature enterprise filesystem that is used broadly across the Fortune 500. BTRFS was introduced as an experimental storage pool type into QuantaStor v1 in 2010 but to date it has not matured enough for production deployments. ZFS in QuantaStor is based on the ZFS on Linux (ZoL) port of the enterprise filesystem which OSNEXUS is a contributor to.

Hardware RAID Support

Qs hwarch.png

Hardware RAID controllers generally far outperform software RAID5/RAID6 for write performance when combined with NVRAM cache in the controller because of the high performance of the hardware RAID's resilient write back cache. Most modern RAID controllers have at least 1GB of DDR3 protected cache so for most workloads it this provides a significant performance boost for sequential workloads like media playback, archive, and other large scale big data deployements. QuantaStor has deep integration with all major HBAs and RAID controllers (LSI, Adaptec, HP, etc) so that you can pick software RAID, hardware RAID or a hybrid of the two to match the storage appliance architecture with the needs of you applications. QuantaStor's HBA and RAID hardware integration modules allow you to configure, maintain, and monitor the health of your system from top to bottom without having to resort to BIOS configuration or command line configuration utilities.

To configure the hardware controller layer of your system simply choose the 'Hardware Controllers & Enclosures' section of the web management interface. Internally QuantaStor integrates with the hardware controllers by calling APIs or communicating with the hardware via drivers or utilities to monitor and manage the hardware.

Performance Tuning

QuantaStor allocates and configures the various layers of a storage pool to optimize for performance. In some cases tuning for one type of application may not be as ideal for another so our default configuration is tuned to deliver good performance for a broad set of workloads. In some cases though it may be beneficial to select one of our preset IO profiles for your storage pool to match your application type. IO profiles determine factors such as read-ahead and stripe size and can be changed via the 'Modify Storage Pool..' dialog in the web management interface. Custom IO profiles can also be developed by adding new entries to /etc/qs_io_profiles.conf and restarting the QuantaStor core service (service quantastor restart).