=====================
System requirements
=====================

This document lists system requirements for management servers, aggregators,
bonders, and private WAN routers.

Management server
------------------

-  Environment: bare metal (recommended for performance), ESX, Xen (PV-GRUB or
   HVM), KVM, etc.
-  CPU: minimum 4 cores, Xeon CPU Ivy Bridge (2013)
-  RAM: minimum 8 GB
-  Disk:

   -  minimum 100 GB, SSD, 1000 IOPS
   -  100 GB supports metric collection for 30 bonds at default resolutions

-  Network:

   -  Ethernet: One 100 Mbps or 1 Gbps interface
   -  IP address: One static public IP

-  Recommended - remote KVM ability such as IPMI or ILO

Time series database server (recommended > 250 nodes)
-------------------------------------------------------

Disk IO is a priority. Disks should be directly attached have good performance.
You can see massive performance penalties when the disk writes cannot keep up.

From https://docs.influxdata.com/influxdb/v1.2/guides/hardware_sizing/#general-hardware-guidelines-for-a-single-node

-  Environment: bare metal (recommended for performance), ESX, Xen (PV-GRUB or
   HVM), KVM, etc.
-  CPU: 8 or more core Xeon CPU Ivy Bridge (2013) or newer
-  RAM: minimum 16 GB
-  Disks:

   -  1000 IOPS minimum for influx disks; the wal disk is more important for
      IOPS
   -  250 GB SSD mounted at /var/lib/influxdb/wal
   -  250 GB SSD mounted at /var/lib/influxdb/data
   -  separate mechanical disk or SSD for Debian OS

-  Network:

   -  Ethernet: 1 Gbps interface on same LAN as management application server
   -  IP address: One static IP reachable from the management application server

-  Recommended - remote KVM ability such as IPMI or ILO

For >1000 nodes, system requirements need to be increased further:

-  Environment: bare metal (recommended for performance), ESX, Xen (PV-GRUB or
   HVM), KVM, etc.
-  CPU: 16 or more core Xeon CPU Ivy Bridge (2013) or newer
-  RAM: minimum 32 GB
-  Disks:

   -  1000 IOPS minimum for influx disks; the wal disk is more important for
      IOPS
   -  500 GB SSD mounted at /var/lib/influxdb/wal
   -  500 GB SSD mounted at /var/lib/influxdb/data
   -  separate mechanical disk for Debian OS

-  Network:

   -  Ethernet: 1 Gbps interface on same LAN as management application server
   -  IP address: One static IP reachable from the management application server

-  Recommended - remote KVM ability such as IPMI or ILO

.. _aggregator requirements:

Aggregators
-------------
-  Environment:

   -  bare metal (strongly recommended for performance), ESX, Xen (PV-GRUB or
      HVM), or KVM
   -  see virtualization considerations on `provisioning aggregators <../aggregators/provisioning-aggregators.html>`__.

-  CPU:

   -  Intel Xeon CPU Ivy Bridge (2013) or newer with at least 4 cores
   -  if encryption is enabled for the tunnel or private WAN, AES acceleration
      instruction set is recommended for faster speeds

-  RAM:

   -  minimum 2 GB (supports 50 bonds/1 GB memory)
   -  add 50 MB for every bond running TCP proxy (when TCP proxy is enabled on
      at least 1 bond, aggregator needs more memory and this can vary depending
      on the speeds set on the bond)

-  Disk: minimum 16 GB
-  Network:

   -  Ethernet: One gigabit interface
   -  IP address: One static public IP
   -  Internet uplink: Sufficient bandwidth for all bonds assigned to the
      aggregator, considering oversubscription ratio if applicable. For example
      with two bonds, each with two 10/10 Mbps legs, the aggregator would need
      40/40 Mbps bandwidth to Internet, assuming no oversubscription. Using an
      oversubscription ratio of 4:1, the aggregator could be given 10/10 Mbps
      bandwidth.

-  Recommended - remote KVM ability such as IPMI or ILO

Bonders
--------

-  Environment: bare metal, ESX, Xen
-  Throughput and required CPU is listed in the performance ratings document:

   -  If tunnel encryption is enabled, AES acceleration instruction set is
      recommended for faster speeds

-  RAM: 256 MB minimum, 1 GB recommended
-  Disk: minimum 4 GB. For highest reliability, use hard disks, solid state
   disks, or flash storage with good wear-leveling algorithms. Flash storage
   without good wear-leveling algorithms tend to fail sooner than other types
   of storage.

Private WAN routers
--------------------

-  Environment:

   - bare metal, ESX, Xen, or KVM
   - see virtualization considerations on `provisioning private WAN routers <../private-wan/private-wan-with-private-wan-routers/provisioning-routers.html>`__.

-  CPU:

   -  Intel Xeon CPU Ivy Bridge (2013) or newer with at least 4 cores
   -  if private WAN encryption is enabled, then AES acceleration instruction
      set is recommended for faster speeds

-  RAM: minimum 4 GB, add 50 MB/private WAN space and can use more depending on
   the number of routes the space has.
-  Disk: minimum 4 GB. For highest reliability, use hard disks, solid state
   disks, or flash storage with good wear-leveling algorithms. Flash storage
   without good wear-leveling algorithms tend to fail sooner than other types
   of storage.
-  Network:

   -  Ethernet: One gigabit interface
   -  IP address: One static public IP
   -  Bandwidth: Sufficient bandwidth for all bonds assigned to private WAN in
      this routing group, considering your oversubscription ratio if applicable.

