This submodule is intended to provide general guidance in planning appropriate RAM design in physical VergeIO nodes. The multiple factors to be considered (collectively) in order to accurately determine sufficient RAM are explained, followed by specific case study examples.
Additionally, the VergeIO Reference Architecture module provides examples of specific hardware configurations certified for various uses, such as:
There may be many different variables pertinent to the design of a new system, so always consult with your VergeIO implementation specialists before acquiring hardware or installing a production VergeIO system.
Physical memory is needed to support vSAN operation; As a minimum, 1GB RAM is needed per 1TB of storage. Additional RAM provides caching and buffering to support higher performance. The following general guidelines can be used to determine vSAN RAM requirements:
E.G. Dev-test or archive only
Storage RAM Requirement: 1GB RAM per 1TB of storage
Example: 2 Node cluster used only for backup storage
Storage RAM Requirement: 1GB RAM per 1TB of storage
Example: 4 Node cluster purposed for standard-use storage
Storage RAM requirement: 2GB RAM per 1TB of storage
Example: 2 Node cluster purposed for high-performance storage
Nodes containing 60TB raw storage used for high performance (e.g.): plan for at least 120GB RAM to support the vSAN storage in that node.
RAM requirements for Compute will include what is needed for:
The amount of RAM needed for tenants is the total that will be allocated for tenant consumption, with an extra 2GB RAM for each tenant.
Total Amount of RAM to be allocated to tenants + Number of tenants * 2
Example:
10 tenants * average 32GB to allocate per tenant = 320GB
Add 10 * 2GB for tenant overhead = 20GB
320 +20 = 340GB to support tenants
Note: VMS contained within the tenants will already be accounted for in the tenant RAM consumption calculation above. Because RAM is thick provisioned tenants will own the RAM they have been allocated for their own workloads.
Beyond the RAM requirements already involved for the storage (covered above), there are typically only modest additional RAM needs for running a NAS service in VergeIO.
Each NAS Service requires a minimum of 4GB of RAM.
VM failover/migration allows for continuous uptime during a hardware failure, update, or other maintenance operation. This is only possible when adequate RAM is available on nodes in order to receive migrated workloads (VMs, Tenant Nodes, NAS Services)
To ensure all workloads can failover properly and continue running during a maintenance/upgrade operation, or node failure, n-1 (compute node count, subtracting one) must contain the total amount of RAM needed for tenant and VM and NAS workloads.
Example Scenario:
A 4 node cluster containing 128GB (4x32GB) of workload RAM suffers a failure effectively taking usable RAM to 96GB. All 128GB of RAM was in use during the failure leaving workloads from the failed node in a no start situation. If only 75% of the usable RAM was used during normal operations the workloads would have the option to restart on running nodes due to the N-1 rule.
Enough free RAM must be available on each node to accommodate the largest RAM workload to ensure it’s successful failover during a node-down situation. Determine the largest RAM consumer (tenant node or single VM) that will be supported. If there is not sufficient RAM on a single node, a VM/tenant node will not migrate; a single workload’s RAM cannot be split across nodes.
RAM function is optimized (in nearly any system - including VergeIO) when memory stores do not run at full or near full capacity during normal runtime. It is best to keep RAM utilization to a portion of the total available RAM, avoiding any continual near-full utilization.
As a general rule of thumb, RAM should be sized such that normal runtime RAM usage remains under 80%. This does not mean that RAM usage should never go above this point: but rather, during typical circumstances (all nodes running and not including occasional spikes in usage). Using 80% as a threshold is a starting guide point, with optimal normal run percentage depending on the system’s amount of I/O activity and performance requirements; for example: it can be fine to run an archive-only environment at a higher percentage on a regular basis, whereas, an ultra-performance environment (with highly, data-active research applications, for instance) would get better RAM utilization if normal usage is around 60%.
Need more Help? Email support@verge.io or call us at (855) 855-8300