Object storage requirements
General requirements are listed in General requirements.
Note the additional requirements for object storage:
- To be able to deploy and work with object storage, run Virtuozzo Hybrid Infrastructure on physical servers.
- Keep in mind that object storage uses more space than is occupied by all S3 objects. This happens because the S3 service also stores internal metadata about objects and their distribution across object servers. This metadata usually requires 0.5–11 percent of the space used by S3 data. Moreover, since version 4.6, Virtuozzo Hybrid Infrastructure provides backups for object metadata, which increase the metadata size by additional 0.5 percent. The backups have automatic retention and do not require any assistance from a system administrator. The metadata and backups use the same redundancy scheme that is configured for the S3 cluster.
-
Objects storage reserves RAM and CPU cores depending on the number of S3 nodes and taking into account a possible node failure. Each S3 node runs the
hostd
daemon, an S3 gateway, up to 10 object services (OS), and up to 10 name services (NS). However, the entire S3 cluster cannot host more than 24 OS and 16 NS services.The reserved RAM size on an S3 node is calculated by using the following formula:
HOSTD * 256 MB + S3GW * 256 MB + (total_OS * 256 MB + total_NS * 512 MB) / (S3_nodes_number - nodes_that_can_fail_number)
The reserved CPU cores on an S3 node are calculated by using the following formula:
S3GW * 1 core + (total_OS * 0.1 cores + total_NS * 0.2 cores) / (S3_nodes_number - nodes_that_can_fail_number)
For example, the S3 cluster of five nodes runs 24 object services, 16 name services, and may lose one node without data loss. In this case, the reserved RAM size on each S3 node will be calculated as 256 MB + 256 MB + (24 * 256 MB + 16 * 512 MB) / (5 - 1), that is 4096 MB or 4 GB. Also, the reserved CPU cores will be calculated as 1 core + (24 * 0.1 cores + 16 * 0.2 cores) / (5 - 1), that is 2.4 cores.
To better understand how to calculate the hardware configuration for object storage, consider the following examples with RAM and CPU reservations.
Example 1. If you have 3 nodes (1 system+metadata disk and 5 storage disks) and want to use 3 replicas redundancy mode with the host failure domain, refer to the table below for the calculations. Note that three nodes are used for the management node high availability, and each of them meets the requirements for the management node.
Service | Management nodes | |
---|---|---|
System | 4.5 GB, 1 core | |
Storage services |
5 storage disks, 1 metadata on system disk (each takes 0.5 GB and 0.2 cores), that is 3 GB and 1.2 cores in total |
|
S3 | 7.7 GB, 3.8 cores | |
Service reservations | 15.2 GB of RAM and 6 cores | |
Minimum hardware configuration | 16 GB of RAM and 8 cores | |
Recommended hardware configuration | 32 GB of RAM and 16 cores |
Example 2. If you have 5 nodes (1 system+metadata disk, 1 SSD cache disk, 10 storage disks) and want to use them for the S3 cluster, refer to the table below for the calculations. Note that three nodes are used for the management node high availability, and each of them meets the requirements for the management node.
Service | Management nodes (nodes 1-3) | Secondary nodes (4-5) | |
---|---|---|---|
System | 4.5 GB, 1 core | 1.5 GB, 1 core | |
Storage services | 10 storage disks, 1 metadata on system disk, 1 cache disk (each takes 0.5 GB and 0.2 cores), that is 6 GB and 2.4 cores in total | 10 storage disks, 1 metadata on system disk, 1 cache disk (each takes 0.5 GB and 0.2 cores), that is 6 GB and 2.4 cores in total | |
S3 | 4 GB, 2.4 cores | 4 GB, 2.4 cores | |
Service reservations | 12.6 GB of RAM and 5.8 cores | 9.6 GB of RAM and 5.8 cores | |
Minimum hardware configuration | 16 GB of RAM and 8 cores | 12 GB of RAM and 6 cores | |
Recommended hardware configuration | 48 GB of RAM and 16 cores | 48 GB of RAM and 16 cores |