diff options
author | bazeltsev <bazeltsev@ydb.tech> | 2022-07-20 18:03:01 +0300 |
---|---|---|
committer | bazeltsev <bazeltsev@ydb.tech> | 2022-07-20 18:03:01 +0300 |
commit | 831cae3e90b34598cb55c0465207ed086bd292a2 (patch) | |
tree | 900d7207810f49a0074bfa5e76992269efaef20f | |
parent | a0e7ac0b914070c9f6f89a9d6c6ec43724ef70dc (diff) | |
download | ydb-831cae3e90b34598cb55c0465207ed086bd292a2.tar.gz |
Add system requirements tail
Add system requirements
-rw-r--r-- | ydb/docs/en/core/cluster/system-requirements.md | 45 | ||||
-rw-r--r-- | ydb/docs/en/core/deploy/production_checklist.md | 26 | ||||
-rw-r--r-- | ydb/docs/en/core/deploy/system-requirements.md | 45 | ||||
-rw-r--r-- | ydb/docs/en/core/deploy/toc_i.yaml | 4 | ||||
-rw-r--r-- | ydb/docs/ru/core/cluster/system-requirements.md | 31 | ||||
-rw-r--r-- | ydb/docs/ru/core/cluster/topology.md | 20 | ||||
-rw-r--r-- | ydb/docs/ru/core/deploy/_includes/index.md | 8 | ||||
-rw-r--r-- | ydb/docs/ru/core/deploy/configuration/config.md | 17 | ||||
-rw-r--r-- | ydb/docs/ru/core/deploy/production_checklist.md | 20 | ||||
-rw-r--r-- | ydb/docs/ru/core/deploy/toc_i.yaml | 3 | ||||
-rw-r--r-- | ydb/docs/ru/core/deploy/toc_p.yaml | 4 | ||||
-rw-r--r-- | ydb/docs/ru/core/getting_started/self_hosted/_includes/index.md | 2 |
12 files changed, 163 insertions, 62 deletions
diff --git a/ydb/docs/en/core/cluster/system-requirements.md b/ydb/docs/en/core/cluster/system-requirements.md new file mode 100644 index 00000000000..372bb86c0e4 --- /dev/null +++ b/ydb/docs/en/core/cluster/system-requirements.md @@ -0,0 +1,45 @@ +# System requirements and recommendations + +This section provides recommendations for deploying {{ ydb-short-name }}. + +## Hardware configuration {#hardware} + +* **CPU** + + {{ 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). + + ARM processors are not supported now. + +* **Memory** + + It is recommended to use error-correcting code (ECC) memory for data consistency. + +* **Storage** + + {{ 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. + + 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. + + {{ 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. + +## Software configuration {#software} + +{{ ydb-short-name }} server can be run on OS Linux with kernel 4.4 or later. MacOS and Windows are not supported now. + +## Topology {#topology} + +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: + + * Mode None - This mode requires 1 server without fault tolerance. It is recommended only for functional testing. + + * 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. + + * 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. + + * 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. + + * 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. + +The failure of the node means that the server is out of service completely or one of the disks in it fails. + +Read more about storage groups in [Terms and definitions](../concepts/databases.md#storage-groups).
\ No newline at end of file diff --git a/ydb/docs/en/core/deploy/production_checklist.md b/ydb/docs/en/core/deploy/production_checklist.md deleted file mode 100644 index 47b8fa6e2a6..00000000000 --- a/ydb/docs/en/core/deploy/production_checklist.md +++ /dev/null @@ -1,26 +0,0 @@ -## Checklist for deploying your product environment - -This section provides recommendations for deploying {{ ydb-short-name }} in product environments. - -## Topology - -When planning a deployment, it's important to choose the right cluster topology based on the required fault tolerance: - -* Mirror-3dc-3-nodes: 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, a cluster keeps running if no more than 1 server fails. -* 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, a cluster remains operational if 1 datacenter fails completely and 1 server crashes in another datacenter. -* 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. - -TBD. mirror-3dc vs block-4-2: Whether we want the following in the doc: - -- Much more network traffic -- Higher storage overhead - -## Hardware configuration - -For correct operation, we recommend using the x86_64 CPU architecture with support for the following instructions: - -- SSE -- ??? - -## Software configuration - diff --git a/ydb/docs/en/core/deploy/system-requirements.md b/ydb/docs/en/core/deploy/system-requirements.md new file mode 100644 index 00000000000..1e562059e8e --- /dev/null +++ b/ydb/docs/en/core/deploy/system-requirements.md @@ -0,0 +1,45 @@ +# System requirements and recommendations + +This section provides recommendations for deploying {{ ydb-short-name }}. + +## Hardware configuration {#hardware} + +* **CPU** + + {{ 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). + ARM processors are not supported now. + +* **Memory** + + It is recommended to use error-correcting code (ECC) memory for data consistency. + +* **Storage** + + {{ 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. + + 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. + + {{ 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. + + +## Software configuration {#software} + +{{ ydb-short-name }} server can be run on OS Linux with kernel 4.4 or later. MacOS and Windows are not supported now. + +## Topology {#topology} + +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: + + * Mode None - This mode requires 1 server without fault tolerance. It is recommended only for functional testing. + + * 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. + + * 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. + + * 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. + + * 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. + +The failure of the node means that the server is out of service completely or one of the disks in it fails. + +Read more about storage groups in [Terms and definitions](../concepts/databases.md#storage-groups).
\ No newline at end of file diff --git a/ydb/docs/en/core/deploy/toc_i.yaml b/ydb/docs/en/core/deploy/toc_i.yaml index ee23f8c396f..6fa970fa253 100644 --- a/ydb/docs/en/core/deploy/toc_i.yaml +++ b/ydb/docs/en/core/deploy/toc_i.yaml @@ -1,9 +1,9 @@ items: +# - name: Requirements and recommendations +# href: ../deploy/system-requirements.md - name: Kubernetes include: { mode: link, path: orchestrated/toc_p.yaml } - name: VM / Baremetal href: manual/deploy-ydb-on-premises.md - name: Configuration href: configuration/config.md - # - name: Production checklist - # href: ../deploy/production_checklist.md diff --git a/ydb/docs/ru/core/cluster/system-requirements.md b/ydb/docs/ru/core/cluster/system-requirements.md new file mode 100644 index 00000000000..a49e2534581 --- /dev/null +++ b/ydb/docs/ru/core/cluster/system-requirements.md @@ -0,0 +1,31 @@ +# Системные требования и рекомендации + +В данном разделе приводятся рекомендации для развертывания {{ ydb-short-name }}. + +## Аппаратная конфигурация {#hardware} + +Необходимое количество серверов и дисков определяется требованиями к отказоустойчивости. Подробнее читайте в разделе [{#T}](topology.md). + +* **Процессор** + + {{ ydb-short-name }} сервер может быть запущен только на процессорах с архитектурой x86-64 с поддержкой AVX2 инструкций (Intel Haswell (4 поколение) и более поздние, AMD EPYC и более поздние). + + ARM архитектура в настоящее время не поддерживается. + +* **Оперативная память** + + Рекомендуется использовать оперативную память с поддержкой коррекции ошибок (ECC) для защиты от аппаратных сбоев. + +* **Дисковая подсистема** + + {{ ydb-short-name }} сервер может быть запущен на серверах с дисками любого типа (HDD/SSD/NVMe). Однако мы рекомендуем использовать диски SSD/NVMe для большей производительности. + + Минимальный размер диска должен быть не менее 80 ГБ, при меньшем размере, узел не сможет использовать устройство. Корректная и бесперебойная работа с дисками минимального размера не гарантируется. Использовать такие диски рекомендуется исключительно в тестовых целях. Для эффективной работы YDB рекомендуется использовать диски размером более 800 ГБ как блочные устройства. + + {{ ydb-short-name }} не использует файловую систему для хранения данных и работает с диском напрямую. Поэтому не следует монтировать файловую систему или выполнять другие операции с разделом, который использует {{ ydb-short-name }}. Так же не рекомендуется делить блочное устройство с другими процессами - это может приводить к существенному ухудшению производительности. + +## Программная конфигурация {#software} + +{{ ydb-short-name }} сервер может быть запущен на серверах с операционной системой Linux с ядром 4.4 и выше. + +Операционные системы macOS и Windows в данный момент не поддерживаются. diff --git a/ydb/docs/ru/core/cluster/topology.md b/ydb/docs/ru/core/cluster/topology.md new file mode 100644 index 00000000000..98d60a526be --- /dev/null +++ b/ydb/docs/ru/core/cluster/topology.md @@ -0,0 +1,20 @@ +# Топология + +Топология кластера определяется требованиями к отказоустойчивости. Доступны следующие режимы работы: + +Режим | Множитель<br>объема хранения | Минимальное<br>количество<br>узлов | Описание +--- | --- | --- | --- +`none` | 1 | 1 | Избыточность отсутствует.<br>Любой сбой оборудования приводит к недоступности пула хранения.<br>Режим рекомендуется использовать только для функционального тестирования. +`block-4-2` | 1,5 | 8 | Применяется [Erasure coding](https://ru.wikipedia.org/wiki/Стирающий_код) с двумя блоками избыточности, добавляемыми к четырем блокам исходных данных. Узлы хранилища размещаются в не менее чем 8 доменах отказа (обычно стойках).<br>Пул хранения доступен при потере любых двух доменов, продолжая запись всех 6 частей данных в оставшихся доменах.<br>Режим рекомендуется для пулов хранения в пределах одной зоны доступности (обычно центра обработки данных). +`mirror-3-dc` | 3 | 9 | Данные реплицируются в 3 зоны доступности, использующие 3 домена отказа (обычно стойки) внутри каждой зоны.<br>Пул хранения доступен при сбое одной зоны доступности и одного домена отказа в оставшихся зонах.<br>Режим рекомендуется для мультидатацентровых инсталляций. +`mirror-3dc-3-nodes` | 3 | 3 | Является упрощенным вариантом `mirror-3dc`. Для данного режима необходимо минимум 3 сервера по 3 диска в каждом. Для обеспечения наибольшей отказоустойчивости каждый сервер должен находиться в независимом датацентре.<br>Работоспособность в данном режиме сохраняется при выходе из строя не более 1 узла.<br>Режим рекомендуется использовать только для функционального тестирования. + +{% note info %} + +Под выходом из строя узла подразумевается как полная так и частичная его недоступность, например выход из строя одного диска на узле. + +Приведенный выше множитель объема хранения относится только к фактору обеспечения отказоустойчивости. Для планирования размера хранилища необходимо учитывать другие влияющие факторы (например, фрагментацию и гранулярность слотов). + +{% endnote %} + +О том, как задать топологию кластера {{ ydb-short-name }} читайте в разделе [{#T}](../deploy/configuration/config.md#domains-blob). diff --git a/ydb/docs/ru/core/deploy/_includes/index.md b/ydb/docs/ru/core/deploy/_includes/index.md index 589ee58bfb5..56a25f34a75 100644 --- a/ydb/docs/ru/core/deploy/_includes/index.md +++ b/ydb/docs/ru/core/deploy/_includes/index.md @@ -2,8 +2,10 @@ В данном разделе представлена информация по развертыванию и конфигурации многоузловых кластеров YDB, обслуживающих множество баз данных. -- [Развертывание в Kubernetes](../orchestrated/concepts.md) -- [Развертывание на виртуальных и железных серверах](../manual/deploy-ydb-on-premises.md) -- [Конфигурирование](../configuration/config.md) +* [{#T}](../../cluster/system-requirements.md). +* [{#T}](../../cluster/topology.md). +* [Развертывание в Kubernetes](../orchestrated/concepts.md). +* [Развертывание на виртуальных и железных серверах](../manual/deploy-ydb-on-premises.md). +* [Конфигурирование](../configuration/config.md). Пошаговые сценарии быстрого развертывания локального одноузлового кластера для целей разработки и тестирования функциональности приведены в разделе [Начало работы](../../getting_started/self_hosted/index.md). diff --git a/ydb/docs/ru/core/deploy/configuration/config.md b/ydb/docs/ru/core/deploy/configuration/config.md index 2f29231a506..f8425568333 100644 --- a/ydb/docs/ru/core/deploy/configuration/config.md +++ b/ydb/docs/ru/core/deploy/configuration/config.md @@ -145,15 +145,14 @@ domains_config: - Шифрование данных (вкл/выкл) - Режим отказоустойчивости -В настоящее время поддерживаются три режима отказоустойчивости: - -|Название режима|Множитель<br>объема хранения|Минимальное<br>количество<br>узлов|Описание| -|---------|-|-----------|-| -| none | 1 | 1 | Избыточность отсутствует, любой сбой оборудования приводит к недоступности пула хранения. Этот режим может быть полезен для функционального тестирования. | -| block-4-2 | 1.5 | 8 | Применяется [Erasure coding](https://ru.wikipedia.org/wiki/Стирающий_код) с двумя блоками избыточности, добавляемыми к четырем блокам исходных данных. Узлы хранилища размещаются в не менее чем 8 доменах отказа (обычно стойках). Пул хранения доступен при потере любых двух доменов, продолжая запись всех 6 частей данных в оставшихся доменах. Этот режим применим для пулов хранения в пределах одной зоны доступности (обычно центра обработки данных). | -| mirror-3-dc | 3 | 9 | Данные реплицируются в 3 зоны доступности, использующие 3 домена отказа (ообычно стойки) внутри каждой зоны. Пул хранения доступен при сбое одной зоны доступности и одного домена отказа в оставшихся зонах. | - -Приведенный выше множитель объема хранения относится только к фактору обеспечения отказоустойчивости. Для планирования размера хранилища необходимо учитывать другие значительные факторы, в частности фрагментацию и гранулярность слотов. +Доступны следующие [режимы отказоустойчивости](../../cluster/topology.md): + +Режим | Описание +--- | --- +`none` | Избыточность отсутствует. Применяется для тестирования. +`block-4-2` | Избыточность с коэффициентом 1,5, применяется для однодатацентровых кластеров. +`mirror-3-dc` | Избыточность с коэффициентом 3, применяется для мультидатацентровых кластеров. +`mirror-3dc-3-nodes` | Избыточность с коэффициентом 3. Применяется для тестирования. **Синтаксис** diff --git a/ydb/docs/ru/core/deploy/production_checklist.md b/ydb/docs/ru/core/deploy/production_checklist.md deleted file mode 100644 index 205841ff8ea..00000000000 --- a/ydb/docs/ru/core/deploy/production_checklist.md +++ /dev/null @@ -1,20 +0,0 @@ -## Чек-лист для развертывания продуктового окружения -В данном разделе проводятся рекомендации для развертывания {{ ydb-short-name }} в продуктовых окружениях. - -## Топология -При планировании развертывания важно правильно выбрать топологию кластера, исходя из необходимой отказоустойчивости: - * Режим mirror-3dc-3-nodes - для данного режима необходимо минимум 3 сервера по 3 диска в каждом. Для обеспечения наибольшей отказоуcтойчивости каждый сервер должен находиться в независимом датацентре. В данном режиме кластер находится в рабочем состоянии при выходе из строя не более 1 сервера. - * Режим mirror-3dc - для данного режима необходимо минимум 9 серверов. Для обеспечения наибольшей отказоуcтойчивости сервера должны находиться в трех независимых датацентрах и разных серверных стойках в каждом. В данном режиме кластер находится в рабочем состоянии при выходе из строя полностью 1 датацентра и 1 сервера в другом датацентре. - * Режим block-4-2 - для данного режима необходимо минимум 8 серверов в одном датацентре. Для обеспечения наибольшей отказоуcтойчивости сервера должны находиться в 8 независимых стойках. - - -TBD. mirror-3dc vs block-4-2 - хотим ли мы в доке такое: -- существенно больше сетевой трафик -- больше накладные расходы на хранение - -## Аппаратная конфигурация -Для корректной работы мы рекомендуем использовать процессоры x86_64 архитектуры с поддержкой следующих инструкций: -- SSE -- ??? - -## Программная конфигурация
\ No newline at end of file diff --git a/ydb/docs/ru/core/deploy/toc_i.yaml b/ydb/docs/ru/core/deploy/toc_i.yaml index e7b86c7bda4..d36876a9b4e 100644 --- a/ydb/docs/ru/core/deploy/toc_i.yaml +++ b/ydb/docs/ru/core/deploy/toc_i.yaml @@ -5,5 +5,4 @@ items: href: manual/deploy-ydb-on-premises.md - name: Конфигурация href: configuration/config.md - # - name: Production checklist - # href: ../deploy/production_checklist.md + diff --git a/ydb/docs/ru/core/deploy/toc_p.yaml b/ydb/docs/ru/core/deploy/toc_p.yaml index 3e62ad228bc..7285ba98b7d 100644 --- a/ydb/docs/ru/core/deploy/toc_p.yaml +++ b/ydb/docs/ru/core/deploy/toc_p.yaml @@ -1,4 +1,8 @@ items: - name: Обзор href: index.md +- name: Системные требования и рекомендации + href: ../cluster/system-requirements.md +- name: Топология + href: ../cluster/topology.md - include: { mode: link, path: toc_i.yaml }
\ No newline at end of file diff --git a/ydb/docs/ru/core/getting_started/self_hosted/_includes/index.md b/ydb/docs/ru/core/getting_started/self_hosted/_includes/index.md index 940408f9451..a1586ef24c9 100644 --- a/ydb/docs/ru/core/getting_started/self_hosted/_includes/index.md +++ b/ydb/docs/ru/core/getting_started/self_hosted/_includes/index.md @@ -5,3 +5,5 @@ {% include [simple_options](simple_options.md) %} Одноузловые конфигурации не рекомендуется использовать для сравнительного тестирования производительности, так как архитектура YDB рассчитана на работу в кластерах с соответствущим влиянием на применяемые алгоритмы, и накладными расходами. Развертывание многоузловых кластеров описано в разделе [Управление кластером](../../../deploy/index.md). + +Перед началом работы ознакомьтесь с [системными требованиями и рекомендациями](../../../cluster/system-requirements.md). |