# Hardware and Infrastructure Requirements for CubeCOS Deployment

> Learn about key deployment considerations for CubeCOS, including hardware specifications for CPU, memory, storage, and networking across node roles.

This section outlines the key hardware and network requirements for deploying CubeCOS across various cluster configurations. Each component is critical in ensuring a stable, performant, and scalable platform, from CPU and memory planning to storage media selection and network architecture.

<!--

-->

## Processor (CPU) requirements {#processor-cpu-requirements}

Processor selection for CubeCOS nodes should align with each node's computing role and workload demands.

To ensure instance high availability (HA) migrations work correctly, all compute nodes must use the same CPU architecture.

Refer to the [Hardware Requirements](../installation/hardware-requirements.md) section for minimum requirements, and size compute nodes based on the specific performance needs of your intended workloads.

## Memory planning and allocation {#memory-planning-and-allocation}

The minimum memory ensures stable operation of the CubeCOS cluster services, with additional memory required based on workload demands. To calculate total memory required by the host use the following formula:

```bash
Minimum memory for the node role + memory required for workloads = Total memory of the node
```

### Memory reservation for Software-Defined Storage (SDS) {#memory-reservation-for-software-defined-storage-sds}

CubeCOS uses Ceph, a software-defined storage (SDS) solution, to provide a scalable, distributed, and highly available storage backend. To support in-memory data caching, reserve at least 4 GB of RAM per storage device on each node. This ensures optimal performance for the Ceph OSD (Object Storage Daemon) subsystem.

:::warning

Intel Optane Memory modules are not supported.

:::

## Storage architecture and compatibility {#storage-architecture-and-compatibility}

CubeCOS requires two types of disk configurations within each node:

- Mirrored boot disks for storing the CubeCOS installation.
- HBA-backed or non-RAID data disks dedicated to Ceph storage operations.

### Boot media requirements {#boot-media-requirements}

For redundant and reliable boot configurations, use vendor-supported RAID 1 solutions, such as:

- Dell BOSS cards (RAID-1)
- HPE NVMe Hot-plug boot solutions (RAID-1)
- Any other vendor provided redundant (RAID-1) or boot-optimized storage media.

These options help ensure high availability for boot operations in both production and edge environments.

### Supported Storage Controllers and Interfaces {#supported-storage-controllers-and-interfaces}

The type and configuration of storage controllers directly affect cluster stability and Ceph performance. Follow these guidelines:

- Use Host Bus Adapters (HBA) or RAID controllers in IT mode to allow Ceph direct access to physical disks.
- For NVMe storage, CubeCOS supports direct device access without requiring additional controllers.

:::warning

Avoid using mixed-mode storage controllers that support both RAID and passthrough modes. These configurations can reduce storage reliability and degrade performance.

:::

#### Supported storage media {#supported-storage-media}

- NVMe
- NL-SAS
- SAS SSD/HDD
- SATA SSD/HDD

### Hybrid storage deployment model {#hybrid-storage-deployment-model}

Hybrid storage configurations combine high-speed flash media for caching with HDDs for bulk storage capacity.

To maintain optimal performance and avoid bottlenecks, allocate flash cache at a 1:10 raw capacity ratio relative to the total HDD storage.

## Network design and bandwidth planning {#network-design-and-bandwidth-planning}

CubeCOS relies on software-defined services that require stable, high-availability network connectivity to maintain cluster health, data consistency, and service synchronization.

### Baseline infrastructure requirements {#baseline-infrastructure-requirements}

To ensure reliable operation and performance, implement the following network design practices:

- Use LACP bonding (Protocol: 802.3ad, Rate: Fast, Xmit Policy: Layer 3+4) for link aggregation and redundancy.
- Deploy highly available switching architectures to provide failover resilience and minimize downtime.
- When using flash or NVMe media, increase network interface speeds to meet high storage throughput requirements.

:::info[Info 💡]

When using high-performance storage such as NVMe, ensure that network throughput matches storage speed to prevent replication or synchronization bottlenecks.

:::

### Traffic segmentation and network role separation {#traffic-segmentation-and-network-role-separation}

CubeCOS supports flexible network segmentation and flow control to meet diverse deployment architectures and performance requirements.

- In low-throughput environments, a dual-port 10 GbE NIC can handle both user and internal cluster traffic.
- For production or high-performance deployments, it is recommended to separate traffic across the following logical networks:
  - Management and Provider networks
  - Overlay and storage networks

You can implement traffic separation using one of the following methods:

- **VLAN-based trunking**: Use tagged traffic over a single physical uplink to segment traffic logically.
- **Dedicated physical interfaces**: Use separate interfaces for each traffic type when required by compliance standards or performance guarantees.

### High-speed networking and NVMe storage considerations {#high-speed-networking-and-nvme-storage-considerations}

When deploying NVMe storage, ensure the network can sustain the high IOPS and bandwidth demands of replication and orchestration.

- Minimum recommended network speed: 25 GbE
- Preferred network speed: 100 GbE and higher
