.. _automate-system-hardware-specification:

VOSS Product suite hardware specifications 
------------------------------------------

.. _21.1|VOSS-794|EKB-1173:
.. _24.1|VOSS-1187:
.. _25.4|VOSS-1470:



Overview 
............

.. note::

   * For details around the open source software components used, see the *Open Source License Usage Guide*. 
   * From release 25.4 onwards, if the PowerShell service will be used with UC Automation for Microsoft Teams
     and Microsoft Exchange, an additional 8GB RAM should be
     allocated and reserved on application nodes.


Virtualized hardware and resource oversubscription
'''''''''''''''''''''''''''''''''''''''''''''''''''''

It is recommended that no more than two Unified nodes and one Web Proxy
node be run on a physical server (VM server) and that the disk
subsystems are unique for each Unified node.

Virtual machines should maintain a 1:1 ratio between virtual
RAM and Disk hardware and physical hardware, in other words:

* 1 GB of virtual RAM (vRAM) must map to 1 GB of physical RAM
* 1 GB of virtual Disk (vDisk) storage must map to 1 GB of physical storage

For virtual CPU (vCPU), hyper-threading is supported.



Unified node hardware specifications 
........................................


.. _standalone-system-hardware-specification:

Single-node cluster (cluster-of-one) hardware specification
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

This section provides the virtual machine specification for a single node cluster deployment topology.

* For details on supported virtual machine platforms:  

  .. raw:: html

     <p>See: <a href="virtualization-platforms.html">Supported virtualization and hypervisor platforms</a>.</p>

  .. raw:: latex

     See: *Supported virtualization and hypervisor platforms*

* For supported virtual machine platform versions, refer to the `Compatibility Matrix <https://documentation.voss-solutions.com/compatibility-matrix/Compatibility-Matrix.pdf>`__


Virtual machine requirements are specified in the table below.

.. tabularcolumns:: |p{1.5cm}|p{1.5cm}|p{3cm}|p{2.5cm}|p{5.5cm}|p{1.5cm}|

+---------------------+----------+------------------------------+----------------+-----------------------------------+------------------+
| Node type           | Quantity | Memory                       | CPU            | Disk                              | Network          |
+=====================+==========+==============================+================+===================================+==================+
|                     |          |                              |                | Total: 440 GB as allocated below. |                  |
|                     |          |                              |                |                                   |                  |
| Single node cluster | 1        | 32 GB with 32 GB reservation | 4 vCPU @ 2 GHz | 370 GB partitioned:               | 1 Gbit/s minimum |
|                     |          |                              | with 4000 MHz  |                                   |                  |
|                     |          |                              | reservation    | * 20 GB for OS                    |                  |
|                     |          | Add 8GB with 8GB             |                | * 50 GB for application:          |                  |
|                     |          | reservation if PowerShell    |                |                                   |                  |
|                     |          | service will be used         |                |   * 10 GB for logs                |                  |
|                     |          | with UC Automation for       |                |   * 40 GB for our apps            |                  |
|                     |          | Microsoft Teams and          |                | * 50 GB for compressed backups    |                  |
|                     |          | Microsoft Exchange           |                | * 250 GB for database             |                  |
|                     |          |                              |                |                                   |                  |
|                     |          |                              |                | 70 GB database disk to be         |                  |
|                     |          |                              |                | added after upgrade or            |                  |
|                     |          |                              |                | installation. Refer to the        |                  |
|                     |          |                              |                | Upgrade Guide with ISO and        |                  |
|                     |          |                              |                | Template or Installation Guide.   |                  |
|                     |          |                              |                |                                   |                  |
+---------------------+----------+------------------------------+----------------+-----------------------------------+------------------+

.. note::

   * From release 24.1, allowance should be made for an additional 70GB database disk to be added
     after upgrade or installation. This disk will be used for Insights sync. 
     
     Refer to the Upgrade Guide with ISO and Template or Installation Guide and :ref:`add-insights-disk-cloud`.
   * If memory allocations are customized, ensure that the memory reservation remains
     equal to the allocated memory in order to prevent possible negative side-effects
     due to memory reclamation.


The maximum number of users for a single node cluster is 50,000.



.. _multinode_cluster_hardware_specification:

Multinode cluster hardware specification
''''''''''''''''''''''''''''''''''''''''''''



.. index:: voss;voss db_collection_cap


* For details on supported virtual machine platforms: 

  .. raw:: html

     <p>See: <a href="virtualization-platforms.html">Supported virtualization and hypervisor platforms</a>.</p>

  .. raw:: latex

     See: *Supported virtualization and hypervisor platforms*

* For supported virtual machine platform versions, refer to the `Compatibility Matrix <https://documentation.voss-solutions.com/compatibility-matrix/Compatibility-Matrix.pdf>`__


Virtual machine requirements are specified in the table below.


.. tabularcolumns:: |p{1.5cm}|p{1.5cm}|p{3cm}|p{2.5cm}|p{5.5cm}|p{1.5cm}|

+-----------+----------+------------------------------+---------------------+-----------------------------------+------------------+
| Node type | Quantity | Memory                       | CPU                 | Disk                              | Network          |
+===========+==========+==============================+=====================+===================================+==================+
|           |          |                              |                     | Total: 440 GB as allocated below. |                  |
|           |          |                              |                     |                                   |                  |
| Unified   | 4 or 6   | 32 GB with 32 GB reservation | 4 vCPU @ 2 GHz      | 370 GB partitioned:               | 1 Gbit/s minimum |
|           |          |                              | with 4000 MHz       |                                   |                  |
|           |          | Add 8GB with 8GB             | reservation         | * 20 GB for OS                    |                  |
|           |          | reservation if PowerShell    |                     | * 50 GB for application:          |                  |
|           |          | service will be used         |                     |                                   |                  |
|           |          | with UC Automation for       |                     |   * 10 GB for logs                |                  |
|           |          | Microsoft Teams and          |                     |   * 40 GB for our apps            |                  |
|           |          | Microsoft Exchange           |                     | * 50 GB for compressed backups    |                  |
|           |          |                              |                     | * 250 GB for database             |                  |
|           |          |                              |                     |                                   |                  |
|           |          |                              |                     |                                   |                  |
|           |          |                              |                     | 70 GB database disk to be         |                  |
|           |          |                              |                     | added after upgrade or            |                  |
|           |          |                              |                     | installation. Refer to the        |                  |
|           |          |                              |                     | Upgrade Guide with ISO and        |                  |
|           |          |                              |                     | Template or Installation Guide.   |                  |
|           |          |                              |                     |                                   |                  |
+-----------+----------+------------------------------+---------------------+-----------------------------------+------------------+
|           |          |                              |                     |                                   |                  |
| WebProxy  | 2        | 4 GB with 4 GB reservation   | 2 vCPU @ 2 GHz      | 70 GB partitioned:                | 1 Gbit/s minimum |
|           |          |                              | with no reservation |                                   |                  |
|           |          |                              |                     | * 20 GB for OS                    |                  |
|           |          |                              |                     | * 50 GB for application           |                  |
|           |          |                              |                     |                                   |                  |
+-----------+----------+------------------------------+---------------------+-----------------------------------+------------------+

.. note::

   * From release 24.1, allowance should be made for an additional 70GB database disk to be added
     after upgrade or installation. This disk will be used for Insights sync. 
     
     Refer to the Upgrade Guide with ISO and Template or Installation Guide and :ref:`add-insights-disk-cloud`.
   * If memory allocations are customized, ensure that the memory reservation remains
     equal to the allocated memory in order to prevent possible negative side-effects
     due to memory reclamation.


The OS disk requirement is fixed and logs are rotated to ensure that 10 GB is sufficient. 
40 GB for applications is a generous allocation and does not scale with the number of users. 

The Database storage partition is sized to support 250 K users. 
Database backups are compressed and the partition is sized to ensure that sufficient 
space available to support backup of 250 GB database.

.. note::

   To change the TRANSACTION_LOG cap size to greater than 10GB at larger providers for operational reasons,
   for example for diagnostics and a longer transaction replay window, the 
   ``voss db_collection_cap TRANSACTION_LOG <10-50GB>`` command can be used
   from the command line. 

   
   .. raw:: html

      <p>Refer to <a href="../platform/reference-voss-commands-db.html">Database Commands</a> for more details.</p>

   .. raw:: latex

      Refer to Database Commands in the Platform Guide for more details.

   The resize operation will impact the usage on the disk size allocated for the
   database (typically, 250GB is reserved upon installation). Consider a larger
   database disk size allocation upon installation if a larger cap size is set.


The backup disk should be Thick Provisioned and Eager Zeroed for better performance immediately after installation.

Web Proxies are optional, but if Web Proxies are used, then they form part of the cluster to allow sharing of 
static data and other content as needed (for example, themes). 


.. _two_node_cluster_hardware_spec:

2 Node cluster hardware specification
'''''''''''''''''''''''''''''''''''''''

.. _19.1.1|VOSS-475:


* For details on supported virtual machine platforms: 

  .. raw:: html

     <p>See: <a href="virtualization-platforms.html">Supported virtualization and hypervisor platforms</a>.</p>

  .. raw:: latex

     See: *Supported virtualization and hypervisor platforms*

* For supported virtual machine platform versions, refer to the `Compatibility Matrix <https://documentation.voss-solutions.com/compatibility-matrix/Compatibility-Matrix.pdf>`__


Virtual machine requirements are specified in the table below.


.. tabularcolumns:: |p{1.5cm}|p{1.5cm}|p{3cm}|p{2.5cm}|p{5.5cm}|p{1.5cm}|

+-----------+----------+------------------------------+---------------------+-----------------------------------+------------------+
| Node type | Quantity | Memory                       | CPU                 | Disk                              | Network          |
+===========+==========+==============================+=====================+===================================+==================+
|           |          |                              |                     | Total: 440 GB as allocated below. |                  |
|           |          |                              |                     |                                   |                  |
| Unified   |  = 2     | 32 GB with 32 GB reservation | 4 vCPU @ 2 GHz      | 370 GB partitioned:               | 1 Gbit/s minimum |
|           |          |                              | with 4000 MHz       |                                   |                  |
|           |          | Add 8GB with 8GB             | reservation         | * 20 GB for OS                    |                  |
|           |          | reservation if PowerShell    |                     | * 50 GB for application:          |                  |
|           |          | service will be used         |                     |                                   |                  |
|           |          | with UC Automation for       |                     |   * 10 GB for logs                |                  |
|           |          | Microsoft Teams and          |                     |   * 40 GB for our apps            |                  |
|           |          | Microsoft Exchange           |                     | * 50 GB for compressed backups    |                  |
|           |          |                              |                     | * 250 GB for database             |                  |
|           |          |                              |                     |                                   |                  |
|           |          |                              |                     |                                   |                  |
|           |          |                              |                     | 70 GB database disk to be         |                  |
|           |          |                              |                     | added after upgrade or            |                  |
|           |          |                              |                     | installation. Refer to the        |                  |
|           |          |                              |                     | Upgrade Guide with ISO and        |                  |
|           |          |                              |                     | Template or Installation Guide.   |                  |
|           |          |                              |                     |                                   |                  |
+-----------+----------+------------------------------+---------------------+-----------------------------------+------------------+
|           |          |                              |                     |                                   |                  |
| WebProxy  | >= 0     | 4 GB with 4 GB reservation   | 2 vCPU @ 2 GHz      | 70 GB partitioned:                | 1 Gbit/s minimum |
|           |          |                              | with no reservation |                                   |                  |
|           |          |                              |                     | * 20 GB for OS                    |                  |
|           |          |                              |                     | * 50 GB for application           |                  |
|           |          |                              |                     |                                   |                  |
+-----------+----------+------------------------------+---------------------+-----------------------------------+------------------+

For Memory and CPU, the Resource Allocation Reservation on VMware should correspond
with these requirements.

.. note::

   * From release 24.1, allowance should be made for an additional 70GB database disk to be added
     after upgrade or installation. This disk will be used for Insights sync. 
     
     Refer to the Upgrade Guide with ISO and Template or Installation Guide and :ref:`add-insights-disk-cloud`.
   * If memory allocations are customized, ensure that the memory reservation remains
     equal to the allocated memory in order to prevent possible negative side-effects
     due to memory reclamation.


Modular cluster hardware specifications
............................................


.. _multinode-modular-cluster-hardware-specification:

Multinode modular cluster hardware specification
'''''''''''''''''''''''''''''''''''''''''''''''''''

* For details on supported virtual machine platforms: 

  .. raw:: html

     <p>See: <a href="virtualization-platforms.html">Supported virtualization and hypervisor platforms</a>.</p>

  .. raw:: latex

     See: *Supported virtualization and hypervisor platforms*

* For supported virtual machine platform versions, refer to the `Compatibility Matrix <https://documentation.voss-solutions.com/compatibility-matrix/Compatibility-Matrix.pdf>`__

Virtual machine requirements are specified in the table below.


.. tabularcolumns:: |p{1.5cm}|p{1.5cm}|p{3cm}|p{2.5cm}|p{5.5cm}|p{1.5cm}|

+-------------+----------+------------------------------+---------------------+-----------------------------------+------------------+
| Node type   | Quantity | Memory                       | CPU                 | Disk                              | Network          |
+=============+==========+==============================+=====================+===================================+==================+
|             |          |                              |                     |                                   |                  |
| Application | 3        | 32 GB with 32 GB reservation | 4 vCPU @ 2 GHz      | 70 GB partitioned:                | 1 Gbit/s minimum |
|             |          |                              | with 4000 MHz       |                                   |                  |
|             |          | Add 8GB with 8GB             | reservation         | * 20 GB for OS                    |                  |
|             |          | reservation if PowerShell    |                     | * 50 GB for application:          |                  |
|             |          | service will be used         |                     |                                   |                  |
|             |          | with UC Automation for       |                     |   * 10 GB for logs                |                  |
|             |          | Microsoft Teams and          |                     |   * 40 GB for our apps            |                  |
|             |          | Microsoft Exchange           |                     |                                   |                  |
+-------------+----------+------------------------------+---------------------+-----------------------------------+------------------+
|             |          |                              |                     | Total: 440 GB as allocated below. |                  |
|             |          |                              |                     |                                   |                  |
| Database    | 3        | 32 GB with 32 GB reservation | 4 vCPU @ 2 GHz      | 370 GB partitioned:               | 1 Gbit/s minimum |
|             |          |                              | with 4000 MHz       |                                   |                  |
|             |          |                              | reservation         | * 20 GB for OS                    |                  |
|             |          |                              |                     | * 50 GB for compressed backups    |                  |
|             |          |                              |                     | * 50 GB for application:          |                  |
|             |          |                              |                     |                                   |                  |
|             |          |                              |                     |   * 10 GB for logs                |                  |
|             |          |                              |                     |   * 40 GB for our apps            |                  |
|             |          |                              |                     | * 250 GB for database             |                  |
|             |          |                              |                     |                                   |                  |
|             |          |                              |                     | 70 GB database disk to be         |                  |
|             |          |                              |                     | added after upgrade or            |                  |
|             |          |                              |                     | installation. Refer to the        |                  |
|             |          |                              |                     | Upgrade Guide with ISO and        |                  |
|             |          |                              |                     | Template or Installation Guide.   |                  |
|             |          |                              |                     |                                   |                  |
+-------------+----------+------------------------------+---------------------+-----------------------------------+------------------+
|             |          |                              |                     |                                   |                  |
| WebProxy    | 2        | 4 GB with 4 GB reservation   | 2 vCPU @ 2 GHz      | 70 GB partitioned:                | 1 Gbit/s minimum |
|             |          |                              | with no reservation |                                   |                  |
|             |          |                              |                     | * 20 GB for OS                    |                  |
|             |          |                              |                     | * 50 GB for application           |                  |
|             |          |                              |                     |                                   |                  |
+-------------+----------+------------------------------+---------------------+-----------------------------------+------------------+


.. note::

   * From release 24.1, allowance should be made for an additional 250GB database disk to be added
     after upgrade or installation. This disk will be used for Insights sync. 
     
     Refer to the Upgrade Guide with ISO and Template or Installation Guide and :ref:`add-insights-disk-cloud`.
   * If memory allocations are customized, ensure that the memory reservation remains
     equal to the allocated memory in order to prevent possible negative side-effects
     due to memory reclamation.


The OS disk requirement is fixed and logs are rotated to ensure that 10 GB is sufficient. 
40 GB for an applications role node is a generous allocation and the size will not have to be
increased with the number of users.

The Database storage partition is sized to support 250 K users. 
Database backups are compressed and the partition is sized to ensure that sufficient 
space is available to support backup of 250 GB database.

.. note::

   To change the TRANSACTION_LOG cap size to greater than 10GB at larger providers for operational reasons,
   for example for diagnostics, the **voss db_collection_cap TRANSACTION_LOG <10-50GB>** command can be used
   from the command line. 

   
   .. raw:: html

      <p>Refer to <a href="../platform/reference-voss-commands-db.html">Database Commands</a> for more details.</p>

   .. raw:: latex

      Refer to Database Commands in the Platform Guide for more details.

   The resize operation will impact the usage on the size of the disk allocated for the
   database (typically, 250GB is reserved upon installation). Consider a larger
   database disk size allocation upon installation if a larger cap size is set.

The backup disk should be Thick Provisioned and Eager Zeroed for better performance immediately after installation.

Web Proxies are optional, but if Web Proxies are used, then they form part of the cluster to allow sharing of 
static data and other content as needed (for example, themes). 

.. _add-insights-disk-cloud:

Add disks in the AWS or MS Azure cloud hosted platform
...............................................................

The steps below are required to add a disk that provides for
the Insights database in release 24.1 - that should then be assigned to the ``insights-voss-sync:database``
mount point (refer to the final step in the *Upgrade Guide with ISO and Template* for your topology).

AWS
''''''

1. Create the EBS Volumes for each DB node in the Amazon EC2 console.

   Go to **EC2 > Volumes > Create volume**

   For **Volume settings**, enter:

   * Volume type: Provisioned IOPS SSD (io2)
   * Size (GiB): 70GB
   * IOPS: 750

   For **Availability Zone**:

   * Create 3 volumes in each of the zones (for example: us-east-1a, us-east-1b, us-east-1c)

2. Attach the newly created volumes to each of the database nodes.

   Go to **EC2 > Volumes > volume_id > Attach volume**

   * **Instance**: Select the database instance within the same corresponding az
   * **Device Name**: ``/dev/sde`` (This will display as ``xvde`` in drives list)


Microsoft Azure
'''''''''''''''''''

1. In the Microsoft Azure portal, search for Virtual Machines

   * Select each of the database nodes
   * Select **Disk** under **Properties**

2. Click **Create and attach a new disk**.

   * **LUN**: Next available
   * **Disk Name**: Label according to your recommended naming convention
   * **Storage Type**: Premium SSD LRS
   * **Size**: 70GB
   * **Encryption**: Set according to your requirements
   * **Host Caching**: Read/Write


