|
| 1 | +# System requirements and recommendations |
| 2 | + |
| 3 | +This section provides recommendations for deploying {{ ydb-short-name }}. |
| 4 | + |
| 5 | +## Hardware configuration {#hardware} |
| 6 | + |
| 7 | +* **CPU** |
| 8 | + |
| 9 | + {{ ydb-short-name }} server can be run only on x86-64 CPU with AVX2 instructions support (Intel Haswell (4th generation) and later, AMD EPYC and later). |
| 10 | + |
| 11 | + ARM processors are not supported now. |
| 12 | + |
| 13 | +* **Memory** |
| 14 | + |
| 15 | + It is recommended to use error-correcting code (ECC) memory for data consistency. |
| 16 | + |
| 17 | +* **Storage** |
| 18 | + |
| 19 | + {{ ydb-short-name }} server can be run on servers with any storage types (HDD/SSD/NVMe/RAM). It is recommended to use SSD/NVMe drives for better performance. |
| 20 | + |
| 21 | + Minimal disk capacity must be at least 80GB. It is recommended to use such disks only for testing, proper functioning is not guaranteed. It is recommended to use disks as block devices with more than 800GB capacity for efficiency. |
| 22 | + |
| 23 | + {{ ydb-short-name }} does not use any filesystems to store data and works directly with disk. Don't create or mount filesystems on disks which are used in {{ ydb-short-name }} . Also it is not recommended to share block devices with other processes as this can lead to a significant performance degradation. |
| 24 | + |
| 25 | +## Software configuration {#software} |
| 26 | + |
| 27 | +{{ ydb-short-name }} server can be run on OS Linux with kernel 4.4 or later. MacOS and Windows are not supported now. |
| 28 | + |
| 29 | +## Topology {#topology} |
| 30 | + |
| 31 | +When planning a deployment, it's important to choose the right [Blob Storage configuration](./configuration/config.md#domains-blob) based on the required fault tolerance: |
| 32 | + |
| 33 | + * Mode None - This mode requires 1 server without fault tolerance. It is recommended only for functional testing. |
| 34 | + |
| 35 | + * block-4-2: This mode requires at least 8 servers in one datacenter. To ensure maximum fault tolerance, servers must be located in 8 independent racks. In this mode cluster remains operational if 1 rack fails completely and 1 node in another rack fails. |
| 36 | + |
| 37 | + * Mode mirror-3dc - This mode requires at least 9 servers. To ensure maximum fault tolerance, servers must be located in three independent data centers and different server racks in each of them. In this mode cluster remains operational if 1 datacenter fails completely and 1 node fails in another datacenter. |
| 38 | + |
| 39 | + * Mode mirror-3dc - This mode requires at least 9 servers. To ensure maximum fault tolerance, servers must be located in three independent data centers and different server racks in each of them. In this mode cluster remains operational if 1 datacenter fails completely and 1 node fails in another datacenter. |
| 40 | + |
| 41 | + * Mode mirror-3dc-3-nodes - The simple variant of mirror-3dc mode. This mode requires at least 3 servers with 3 disks in each. To ensure maximum fault tolerance, each server must be located in an independent datacenter. In this mode cluster keeps running if no more than 1 node fails. It is recommended only for testing. |
| 42 | + |
| 43 | +The failure of the node means that the server is out of service completely or one of the disks in it fails. |
| 44 | + |
| 45 | +Read more about storage groups in [Terms and definitions](../concepts/databases.md#storage-groups). |
0 commit comments