Step 1: Scale Vertically
Increase cores and RAM on existing tenant nodes up to the cluster maximum. This is the simplest path with zero disruption.
Every VergeOS tenant runs on one or more tenant nodes — virtual servers that simulate physical VergeOS hosts. Each tenant node provides dedicated compute (CPU cores), memory (RAM), and networking to the tenant’s workloads, while maintaining full isolation through the tenant’s encapsulated network.
Understanding how tenant nodes work is the key to right-sizing tenant deployments and scaling them over time.
| Characteristic | Description |
|---|---|
| Simulated hosts | Tenant nodes replicate the functionality of physical VergeOS nodes inside the tenant’s Virtual Data Center |
| Secure inter-host communication | Tenant nodes communicate over the tenant’s protected encapsulated network, even when running on different physical hosts |
| Mobility | Tenant nodes live-migrate between physical hosts for maintenance, load balancing, and automatic failover |
| Matched resource allocation | Tenant nodes can target different clusters with different hardware profiles (standard, vGPU, high-memory) |
| Non-disruptive scaling | Cores and RAM can be increased or decreased on a running tenant node without restarting it |
Unlike VMware or Nutanix, where you must account for hypervisor overhead, CVM memory, and management plane reservations, VergeOS automatically handles all overhead internally. The memory you assign to a tenant node is fully available to that tenant for distributing among its own workloads.
The first planning decision is whether a tenant needs one node or several.
A single tenant node is the simplest and most common configuration. It is the recommended starting point whenever a tenant’s compute and memory requirements fit within a single node.
Single-node tenants still provide redundancy through VergeOS’s built-in watchdog mechanism:
Multiple tenant nodes become necessary in specific scenarios:
Compute exceeds cluster maximums — The amount of cores and RAM assignable to a single tenant node is limited by cluster settings (Max RAM per machine and Max cores per machine). When a tenant needs more than one node’s worth, add additional nodes.
Clustered applications — Web farms, Hadoop clusters, database primary/replica pairs, and other distributed applications that require workloads to run on different physical hosts for HA, load balancing, or parallel processing.
Mixed hardware capabilities — When a tenant needs both standard compute and specialized hardware (vGPU, PCI passthrough, USB devices), deploy tenant nodes on different clusters with the appropriate hardware.
Regulatory separation — Compliance requirements may mandate that certain workloads run on physically separate hosts.
VergeOS tenants support disturbance-free resource scaling — you can add cores, RAM, nodes, and storage to a running tenant without affecting workloads. This means you should:
The following examples illustrate real-world tenant node planning decisions.
Scenario: 3 VMs, no special requirements. Host cluster allows Max RAM 64 GB, Max Cores 16.
| Setting | Value |
|---|---|
| Tenant Nodes | 1 |
| Cores | 8 |
| RAM | 16 GB |
| Scaling Path | Add cores/RAM up to 64 GB / 16 cores, then add a second node |
Rationale: A single node provides sufficient resources. Watchdog failover ensures redundancy without additional complexity.
Scenario: Customer-facing web apps requiring multi-instance HA. Host cluster allows Max RAM 128 GB, Max Cores 16.
| Setting | Value |
|---|---|
| Tenant Nodes | 2 |
| Node 1 | 64 GB RAM, 12 cores (2 web servers + DB primary) |
| Node 2 | 64 GB RAM, 12 cores (2 web servers + DB replica) |
| HA Groups | Anti-affinity rules ensure web/DB instances stay on separate physical hosts |
Rationale: Although one node could hold all the resources, two nodes ensure web servers and database components run on different physical hosts for application-level HA.
Scenario: Standard compute, high-performance video rendering, and GPU-accelerated processing. Three host clusters available: Standard (64 GB max), vGPU (64 GB max), High-Performance (128 GB max).
| Setting | Value |
|---|---|
| Tenant Nodes | 4 |
| Node 1 | 64 GB, 8 cores — Standard Cluster (file servers) |
| Node 2 | 64 GB, 8 cores — Standard Cluster (management tools) |
| Node 3 | 64 GB, 16 cores — vGPU Cluster (video rendering) |
| Node 4 | 48 GB, 8 cores — High-Performance Cluster (editing workstations) |
Rationale: Multiple nodes allow placement on clusters with matching hardware capabilities. Each tenant node targets the cluster that best fits its workload.
Scenario: Distributed analytics platform requiring multi-host deployment for load balancing and redundancy. Host cluster allows Max RAM 96 GB, Max Cores 16.
| Setting | Value |
|---|---|
| Tenant Nodes | 4 |
| Nodes 1–3 | 64 GB, 12 cores each (1 app server + 1 DB server per node) |
| Node 4 | 32 GB, 8 cores (2 data processing servers) |
| HA Groups | Anti-affinity ensures application instances span physical hosts |
Rationale: Four tenant nodes guarantee application instances run across multiple physical hosts while maintaining the ability to run all services within the tenant.
VergeOS provides three non-disruptive methods for adding resources to a running tenant.
Changes take effect immediately on the tenant node — no restart required.
New storage tier:
Expand existing tier:
Cores and RAM can be reduced on a running tenant node without powering it off. However, if those resources are currently in use by tenant VMs, the actual reclaim is deferred until the VMs are shut down.
Example: You reduce a tenant node’s RAM from 32 GB to 28 GB, but VMs are currently using all 32 GB. The setting changes immediately, but the 4 GB difference is not reclaimed until VMs release that memory.
The recommended scaling strategy for tenants follows a clear progression:
Step 1: Scale Vertically
Increase cores and RAM on existing tenant nodes up to the cluster maximum. This is the simplest path with zero disruption.
Step 2: Scale Horizontally
When existing nodes are maxed out, add new tenant nodes. Place them on the same cluster for general expansion or on different clusters for specialized hardware.
Step 3: Add Storage
Expand provisioned storage independently of compute. Add capacity to an existing tier or provision a new storage tier.
Step 4: Rebalance
If resource distribution becomes uneven across nodes, balance RAM/cores between nodes rather than maxing one and minimally provisioning another.
| Practice | Guidance |
|---|---|
| Start with one node | Use single-node tenants by default; add nodes only when required |
| Right-size for now | Provision for current/near-term needs, not speculative future growth |
| Max out before adding | Increase existing node resources before adding new nodes (unless workload balance requires otherwise) |
| Balance resources | When two nodes are needed, distribute resources evenly rather than maxing one and minimizing the other |
| Use HA Groups | For multi-node tenants with HA requirements, configure anti-affinity rules so VMs distribute across physical hosts |
| Match clusters to workloads | Place tenant nodes on clusters with hardware that matches the workload (GPU, high-memory, standard) |
| Monitor and adjust | Use tenant dashboards and usage reports to identify when scaling is needed |