Difference between revisions of "Recommended hardware"

From Kolmisoft Wiki
Jump to navigationJump to search
(27 intermediate revisions by 3 users not shown)
Line 1: Line 1:
== Specifications ==
== Specifications ==


Main principle - as powerful as possible. For single server solution we recommend:
Main principle - as powerful as possible.  
 
It is required to have a clean server without any additional packets installed.
 
Default Centos kernel is required for all functionality to work correctly.
 
For single server solution we recommend:


{| border="1" cellpadding="5" cellspacing="0"  
{| border="1" cellpadding="5" cellspacing="0"  
| '''Component''' || '''Minimum requirement''' || '''Recommended''' || ''' We provide as Hosted Solution''' || '''Comment'''
| '''Component''' || '''Minimum requirement''' || '''Recommended''' || ''' We provide as Hosted Solution''' || '''Comment'''
|-
|-
| CPU || 4c/8t Xeon || any higher CPU || '''Germany''': Intel(R) Xeon(R) CPU E3-1245-1270v6 <br> '''USA''': Single Quad, E3-1220/E3-1240  ||  
| CPU || 4c/8t Xeon || any higher CPU, at least 8 cores || Intel(R) Xeon(R) CPU E3-1245-1270v6 / AMD Ryzen™ 5 3600  ||  
|-
|-
| RAM || 8 Gb || 32 GB || '''Germany''': 32 GB <br>'''USA''': 16/32 GB||
| RAM || 8 GB || 32 GB || 32/64 GB ||
|-
|-
| HDD || 100 Gb SDD (Solid State Drives) all space must be assigned to / partition; ext3 file system; 400 GB for M2 systems || 400 Gb, SDD (Solid State Drives), [http://en.wikipedia.org/wiki/RAID#RAID_1 RAID Type 1] all space must be assigned to / partition; ext3 file system || '''Germany''': 2 x 240 GB SSD RAID 1 <br> '''USA''': 120/128 GB SSD ||  
| HDD || 100 Gb SSD (Solid State Drives) all space must be assigned to / partition; ext3 file system; 500+ GB for M2 systems || 500+ Gb, SSD (Solid State Drives)/m2 nvme, [http://en.wikipedia.org/wiki/RAID#RAID_1 RAID Type 1] all space must be assigned to / partition; ext3 file system || 2 x 240/512 GB SSD RAID 1 ||  
|-
|-
| OS || [[Centos_installation | Linux Centos 6]] || '''MOR''': minimal Centos 6.x/7.x x86_64  <br> '''M2''':  minimal Centos 6.x x86_64 <br> '''Cloud PBX''': minimal Centos 7.x x86_64 || '''MOR''': minimal Centos 6.x/7.x x86_64  <br> '''M2''':  minimal Centos 6/7 x86_64 <br> '''Cloud PBX''': minimal Centos 7.x x86_64 || OS timezone must be set to UTC or at least to Timezone which does not have daylight saving
| OS || [[Centos7_installation |Centos 7 x86_64]] || [[Centos7_installation |Centos 7 x86_64]] ||[[Centos7_installation |Centos 7 x86_64]] || OS timezone must be set to UTC or at least to Timezone which does not have daylight saving  
|-
|-
| NIC|| Any || Intel I210, I350 || Intel I210 || Realtek RTL8111/8168/8411, Intel 82574L are weak NICs, not recommended
| NIC|| Any || '''M2/M4''': Intel I210, I350, X550T (if you need over 700 concurrent calls) || '''M2/M4''': Intel I210, I350  || Realtek RTL8111/8168/8411, Intel 82574L are weak NICs, not recommended  
|-
|-
| Brand|| Any || Intel, DELL, HP, Fujitsu || Intel ||
| Brand|| Any || Intel, DELL, HP, Fujitsu || Intel/AMD ||  
|}
|}
It is required to have clean server without any additional packets installed.
Default Centos kernel is required for all functionality to work correctly.


<br><br>
<br><br>


== Requirements for multi-server deployment ==
== Requirements for specific elements in a multi-server deployment ==


'''Asterisk or Freeswitch server:''' same requirements as above, except SSD would not increase performance so it is not needed and 4 GB of RAM is sufficient. CPU is most important component here. If Proxy solution is in use, Asterisks cannot be under NAT, it must have Public IP for SIP and RTP traffic. Must be located as close as possible to Database server to avoid problems caused by latency.
'''Asterisk/Core server:''' same requirements as above, except SSD would not increase performance so it is not needed and 4 GB of RAM is sufficient. CPU is most important component here. If Proxy solution is in use, Asterisks cannot be under NAT, it must have Public IP for SIP and RTP traffic. Must be located as close as possible to Database server to avoid problems caused by latency.


'''Database server:''' same requirements as above and SSD is highly recommended here. SSD is must if system has more than one Asterisk server. There should be 100GB or more space as database grows fast on high traffic. It is recommended to start with at least 400GB on M2 systems. Fast data storage device and CPU are most important here. If more than one Database server is in use, UPS (Uninterruptible Power Supply) devices must be used for these servers, otherwise power outage would cause broken replication. 8Gb RAM minimum. Must be located as close as possible to Asterisk server to avoid problems caused by latency.
'''Database server:''' same requirements as above and SSD is highly recommended here. SSD is must if system has more than one Asterisk server. There should be 100GB or more space as database grows fast on high traffic. It is recommended to start with at least 400GB on M2 systems. Fast data storage device and CPU are most important here. If more than one Database server is in use, UPS (Uninterruptible Power Supply) devices must be used for these servers, otherwise power outage would cause broken replication. 8Gb RAM minimum. Must be located as close as possible to Asterisk server to avoid problems caused by latency.
Line 35: Line 36:


'''Proxy server:''' same requirements as above, except 4 GB of RAM and 40 GB on HDD will be enough here. SSD would not increase performance. Proxy server cannot be under NAT, it must have Public IP for SIP traffic.
'''Proxy server:''' same requirements as above, except 4 GB of RAM and 40 GB on HDD will be enough here. SSD would not increase performance. Proxy server cannot be under NAT, it must have Public IP for SIP traffic.
 
<br><br>
'''Redundant servers:''' there are no special requirements on server hardware if server is part of redundant system. However, there are requirements for network to which servers are connected:
== Requirements for redundant deployment ==
 
Requirements for network to which servers are connected:
* Both servers should be within same subnet.
* Both servers should be within same subnet.
* Both servers should be able to ''broadcast'' packets to UDP 694 port.
* Both servers should be able to ''broadcast'' packets to UDP 694 port.
Line 44: Line 45:
* Both servers should be able to work with that Virtual IP (only one server at same time).
* Both servers should be able to work with that Virtual IP (only one server at same time).


If any of requirements above are not met, in some cases it is possible to adapt different network configurations or services (like "IP Failover"). However, management/configuration/development of third party software (like special scripts) needed to adapt special solution should be performed by servers owner.
If any of requirements above are not met, in some cases it is possible to adapt different network configurations or services (like "IP Failover").
 
In this case, you need to develop and manage special scripts or third-party software to achieve this (Kolmisoft does not provide this service).


<br><br>
<br><br>
Line 50: Line 53:
== Virtualization ==
== Virtualization ==


MOR system was tested and working (with low call capacity) on following Virtualization technologies:
MOR system was tested and working (with low call capacity) on the following Virtualization technologies:
* VMware
* VMware
* VirtualBox
* VirtualBox
* XEN
* XEN
* AWS
* Azure


In general we do not recommend to use Virtual machines for multi-server solutions, especially when those Virtual machines are running on same host. Best multi-server system performance is achieved when running on Dedicated servers. If multi-server system is chosen to get better calls capacity, then Dedicated servers must be used too.
In general, we do not recommend using Virtual machines for multi-server solutions, especially when those Virtual machines are running on the same host. Best multi-server system performance is achieved when running on Dedicated servers. If a multi-server system is chosen to get better calls capacity, then Dedicated servers must be used too.


Only GUI server on VM is acceptable.
Only GUI server on VM is acceptable.

Revision as of 07:28, 2 September 2021

Specifications

Main principle - as powerful as possible.

It is required to have a clean server without any additional packets installed.

Default Centos kernel is required for all functionality to work correctly.

For single server solution we recommend:

Component Minimum requirement Recommended We provide as Hosted Solution Comment
CPU 4c/8t Xeon any higher CPU, at least 8 cores Intel(R) Xeon(R) CPU E3-1245-1270v6 / AMD Ryzen™ 5 3600
RAM 8 GB 32 GB 32/64 GB
HDD 100 Gb SSD (Solid State Drives) all space must be assigned to / partition; ext3 file system; 500+ GB for M2 systems 500+ Gb, SSD (Solid State Drives)/m2 nvme, RAID Type 1 all space must be assigned to / partition; ext3 file system 2 x 240/512 GB SSD RAID 1
OS Centos 7 x86_64 Centos 7 x86_64 Centos 7 x86_64 OS timezone must be set to UTC or at least to Timezone which does not have daylight saving
NIC Any M2/M4: Intel I210, I350, X550T (if you need over 700 concurrent calls) M2/M4: Intel I210, I350 Realtek RTL8111/8168/8411, Intel 82574L are weak NICs, not recommended
Brand Any Intel, DELL, HP, Fujitsu Intel/AMD



Requirements for specific elements in a multi-server deployment

Asterisk/Core server: same requirements as above, except SSD would not increase performance so it is not needed and 4 GB of RAM is sufficient. CPU is most important component here. If Proxy solution is in use, Asterisks cannot be under NAT, it must have Public IP for SIP and RTP traffic. Must be located as close as possible to Database server to avoid problems caused by latency.

Database server: same requirements as above and SSD is highly recommended here. SSD is must if system has more than one Asterisk server. There should be 100GB or more space as database grows fast on high traffic. It is recommended to start with at least 400GB on M2 systems. Fast data storage device and CPU are most important here. If more than one Database server is in use, UPS (Uninterruptible Power Supply) devices must be used for these servers, otherwise power outage would cause broken replication. 8Gb RAM minimum. Must be located as close as possible to Asterisk server to avoid problems caused by latency.

GUI server: same requirements as above, except SSD would not increase performance a lot. HDD with more space is recommended here.

Proxy server: same requirements as above, except 4 GB of RAM and 40 GB on HDD will be enough here. SSD would not increase performance. Proxy server cannot be under NAT, it must have Public IP for SIP traffic.

Requirements for redundant deployment

Requirements for network to which servers are connected:

  • Both servers should be within same subnet.
  • Both servers should be able to broadcast packets to UDP 694 port.
  • Both servers should be able to receive packets broadcasted by other server.
  • There should be Virtual IP reserved in Subnet.
  • Both servers should be able to work with that Virtual IP (only one server at same time).

If any of requirements above are not met, in some cases it is possible to adapt different network configurations or services (like "IP Failover").

In this case, you need to develop and manage special scripts or third-party software to achieve this (Kolmisoft does not provide this service).



Virtualization

MOR system was tested and working (with low call capacity) on the following Virtualization technologies:

  • VMware
  • VirtualBox
  • XEN
  • AWS
  • Azure

In general, we do not recommend using Virtual machines for multi-server solutions, especially when those Virtual machines are running on the same host. Best multi-server system performance is achieved when running on Dedicated servers. If a multi-server system is chosen to get better calls capacity, then Dedicated servers must be used too.

Only GUI server on VM is acceptable.



FAQ

  • Do you have the provision of STUN and TURN servers on your end?

No, we do not provide STUN servers. MOR should receive Public IPs on SIP headers. NAT traversal should be done on customer's side.



See also