Local Storage
Local Storage Installation Requirements
The local-storage scenario is divided into four deployment profiles: Proof of Concept, Sandbox, Production, and High-Performance Production. Production installations can be planned either for higher availability by increasing the number of user hosts, or for higher per-host capacity by using more powerful servers.
Platform Types
Server Requirements
The platform uses two server classes:
- Infrastructure hosts: run the internal platform services.
- User hosts: run customer applications and environments.
Infrastructure Hosts
High availability is required. Plan at least two infrastructure hosts, or three when a Galera-based database cluster is used. A single-host start is possible for PoC or Sandbox environments when total CPU, memory, and storage are doubled, or temporarily when a second host will be added before commercial launch.
CPU
- x86-64 with Intel VT-x or AMD-V support.
- Avoid low-voltage processors such as Intel Atom.
- Minimum clock: 2.0 GHz for bare metal or 2.4 GHz for VM-based hosts.
| Profile | CPU per Infrastructure Host | RAM per Infrastructure Host | External / Internal Network |
|---|---|---|---|
| PoC | 8 cores / 16 threads | 32 GB | 100 Mbit / 1 Gbit |
| Sandbox | 10 cores / 20 threads | 48 GB | 1 Gbit / 1 Gbit |
| Production | 12 cores / 24 threads | 64 GB | 1 Gbit / 10 Gbit |
| High-Performance Production | 16 cores / 32 threads | 96 GB | 10 Gbit / 25 Gbit |
Memory Guidance
- Dual-channel or quad-channel memory is recommended.
- Avoid low-voltage, high-latency memory.
- Low-end and mid-range DDR3 is unsuitable.
Storage
- Desktop-grade SSDs are acceptable only for PoC.
- Datacenter-grade SSDs are recommended for Sandbox and Production.
- NVMe is recommended for High-Performance Production.
- Local or SAN disks are supported, but each disk must belong to only one infrastructure host.
- Use multipathing for SAN storage.
- Hardware RAID1 is preferred; software RAID mirroring is also supported.
- LVM is not recommended for storage larger than 2 TB.
- Recommended minimum performance: about 4,000 IOPS.
/vzsustained performance: 500 MB/s read, 150 MB/s write, 16 MB/s random read, and 4 MB/s random write.- Use 6 Gbit/s throughput for SATA or SAS devices.
- Reserve 100–150 GB usable mirrored storage for the operating system.
- Reserve another 400–1,000 GB usable storage for
/vz.
User Hosts
- PoC and Sandbox: at least one user host.
- Production HA: at least six lower-performance servers.
- Production Capacity: at least three higher-performance servers.
- High-Performance Production HA: at least six high-performance servers.
- High-Performance Production Capacity: at least three top-performance servers.
| Profile | CPU per User Host | RAM per User Host | External / Internal Network |
|---|---|---|---|
| PoC | 12 cores / 24 threads | 48 GB | 100 Mbit / 1 Gbit |
| Sandbox | 16 cores / 32 threads | 64 GB | 1 Gbit / 1 Gbit |
| Production (HA) | 16 cores / 32 threads | 64 GB | 1 Gbit / 10 Gbit |
| Production (Capacity) | 24 cores / 48 threads | 128 GB | 1 Gbit / 10 Gbit |
| High-Performance Production (HA) | 24 cores / 48 threads | 128 GB | 10 Gbit / 25 Gbit |
| High-Performance Production (Capacity) | 40 cores / 80 threads | 256 GB | 10 Gbit / 25 Gbit |
User Host Storage
- Use datacenter-grade SSDs for Sandbox and Production, and NVMe for High-Performance Production.
- Local or SAN disks are supported, but each disk must be assigned to one user host only.
- Use multipathing for SAN.
- Hardware RAID1 is preferred; software RAID may be used as an alternative.
- LVM is not recommended when storage exceeds 2 TB.
- Recommended minimum performance: about 8,000 IOPS.
/vzsustained performance: 600 MB/s read, 250 MB/s write, 24 MB/s random read, and 8 MB/s random write.- Reserve 100–150 GB usable mirrored storage for the operating system.
- Reserve 800–4,000 GB usable storage for
/vz.
A single user container typically uses about 1.5–2.2 GB. Around 1,000 containers therefore require roughly 2 TB, plus an additional 1–2 TB for application data. A typical recommendation is 1.5–3 TB or more usable storage per user host. A gradual “grow /vz as you grow” plan can start from 1,000 GB, subject to review by the Operations Team.
Running Platform on Virtual Machines
Infrastructure and user hosts can run on virtual machines. Supported virtualization technologies include:
- KVM
- VMware ESXi
- Virtuozzo VM
- Microsoft Hyper-V
Operating System Requirements
Common Requirements
Install CentOS 7, RHEL 7, or Virtuozzo 7 on all infrastructure and user hosts. During deployment, the hosts are redeployed to Virtuozzo 7 while mandatory system configuration files are preserved. The partitions associated with /boot, /rootfs, and /vz are formatted, so all existing data on them is lost.
Partitioning
| Mount Point | Recommended Size | File System |
|---|---|---|
/boot | 2 GB | ext4 |
/ | 70–100 GB; 70 GB minimum, 100 GB recommended | ext4 |
| swap | 4–8 GB RAM: equal to RAM; 8–64 GB RAM: half of RAM; 64+ GB RAM: 32 GB | swap |
/vz | All remaining storage after creating /, /boot, and swap | single ext4 file system |
The server timezone must be set to UTC during installation and must remain unchanged afterward.
Additional Recommendations
Network
- Provide at least two network interfaces per server: WAN with a public IP and LAN connected to a managed switch.
- Internal LAN speed should be at least 1 Gbit/s.
- Use at least a
/20internal subnet;/8or/16is preferred. - Default region: at least
/20, including/26for infrastructure and hosts. - Remote regions: at least
/22, including/29for infrastructure and/28for hosts. - Do not use
10.0.0.0/24; it is reserved for NGINX HA applications. - External WAN speed should be at least 100 Mbit/s; 1 Gbit/s is recommended.
- Each infrastructure and user host requires a public IP on the WAN connection.
- Provide at least two public IPs for Shared Load Balancers.
- Provide one public IP for the Patcher sub-platform.
- Optionally provide two or more public IPs for the SSH Gate.
- Provide additional public IPs for end-user containers as needed.
- Allow all outbound traffic and configure firewall rules with the Operations Team.
DNS
Delegate both the infrastructure and user domains to the platform Shared Load Balancers. A typical setup uses the following name servers and glue records:
infra-domain.hosterdomain.com IN NS ns1.infra-domain.hosterdomain.com infra-domain.hosterdomain.com IN NS ns2.infra-domain.hosterdomain.com ns1.infra-domain.hosterdomain.com IN A 1.1.1.1 ns2.infra-domain.hosterdomain.com IN A 2.2.2.2 user-domain.hosterdomain.com IN NS ns1.user-domain.hosterdomain.com user-domain.hosterdomain.com IN NS ns2.user-domain.hosterdomain.com ns1.user-domain.hosterdomain.com IN A 1.1.1.1 ns2.user-domain.hosterdomain.com IN A 2.2.2.2
SSL
Provide wildcard certificates covering both domains and all subdomains:
infra-domain.hosterdomain.com*.infra-domain.hosterdomain.comuser-domain.hosterdomain.com*.user-domain.hosterdomain.com
Uploader Storage
Uploader storage can be mounted over NFS or provided as a SCSI LUN such as iSCSI with ext4. External shared storage is recommended. A local disk on an infrastructure host is possible but not recommended. In some deployments, uploader storage can be shared with the Docker template cache.
Docker Templates Cache Storage
Use a SCSI LUN such as iSCSI with ext4. External shared storage is recommended. Local infrastructure-host storage is possible but not recommended. Cache data is temporary, so redundancy and backups are not required; however, cluster-wide Docker environment creation becomes unavailable if this storage fails.
Operating System Settings
Virtuozzo Application Management requires a root account with user ID and group ID 0 on VZ-based hosts. Password authentication must be enabled for this account on all VZ-based host nodes.
