What is the recommended drive configurations for Virtuozzo storage?
Is there any criteria for setting up disks with RAID controllers which do not support JBOD mode?
If the servers you plan to include in a Virtuozzo storage cluster have several disk drives, you can choose one of the following configurations for the cluster:
1. (Recommended with SSDs) No local RAIDs
A chunk server is set up per each hard drive and each data chunk has two or more replicas. This configuration provides independence of disk failures, and the cluster replication adds reliability close to RAID 1 (mirroring without parity or striping). Solid-state drives are highly recommended for CS journaling, improving write commit latency (e.g., for databases).
2. (Recommended) Passthrough individual drives attached to a hardware RAID controller (without RAID levels 0/1/10/5/6), with or without SSDs
This highly recommended configuration is similar to the previous but is much faster. It features individual disks attached to a hardware RAID controller with a memory cache and a backup battery unit (BBU). RAID's write-back cache greatly improves random I/O write operations as well as database performance. The use of solid-state drives will further optimize random I/O, especially read operations.
3. (Not recommended) Local striping RAID 0, data chunks with two or more replicas, with or without SSDs
This configuration offers lower cluster reliability, because a single drive failure will cause the entire RAID 0 to fail, forcing the cluster to replicate more data each time such a failure occurs. Yet this can be considered a minor issue as Parallels Cloud Storage clusters perform parallel recovery from multiple servers, which is much faster than rebuilding a traditional RAID 1.
The use of solid-state drives for caching and journaling will further improve overall cluster performance and provide data checksumming and scrubbing to improve cluster reliability.
4. (Not recommended) Local mirror RAID 1, data chunks with one or more replicas
When deployed with one replica per each data chunk, this configuration does not provide high availability for your cluster if some of your servers fail. Besides, such configurations do no bring any disk space savings as they are equivalent to cluster mirroring, and a local RAID just doubles the data replication factor and saves cluster network traffic.
5. (Highly not recommended) Local RAID 1, 5, or 6, data chunks with two or more replicas
Avoid running Virtuozzo storage on redundant types of RAID like 1, 5, or 6 over local storage. In this case, a single write operation may affect a significant number of HDDs resulting in very poor performance. For example, for 3 Virtuozzo storage replicas and RAID5 on servers with 5 HDDs each, a single write operation may result in 15 I/O operations.