summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoralexv-smirnov <[email protected]>2022-05-19 19:13:11 +0300
committeralexv-smirnov <[email protected]>2022-05-19 19:13:11 +0300
commitf60e44f68c719375066019a8bbe9eda5fa5c3c1a (patch)
treee09a47fe1a30151a407e03ce269f837cae88cf60
parent7ee11ff36891e01a3dceccb312aba2ba16b8bf1d (diff)
ydb docs cluster management improved, getting started deployments specified as single-node with references to cluster deployments
ref:f863128e49aa40784ea25dbc0a63e3471200abed
-rw-r--r--ydb/docs/en/core/cluster/toc_i.yaml14
-rw-r--r--ydb/docs/en/core/deploy/_includes/index.md13
-rw-r--r--ydb/docs/en/core/deploy/configuration/config.md114
-rw-r--r--ydb/docs/en/core/deploy/manual/toc_i.yaml2
-rw-r--r--ydb/docs/en/core/deploy/toc_i.yaml14
-rw-r--r--ydb/docs/en/core/getting_started/_includes/create_db.md10
-rw-r--r--ydb/docs/en/core/getting_started/self_hosted/_includes/index.md10
-rw-r--r--ydb/docs/en/core/getting_started/self_hosted/_includes/simple_options.md5
-rw-r--r--ydb/docs/en/core/getting_started/self_hosted/_includes/ydb_local.md6
-rw-r--r--ydb/docs/en/core/getting_started/toc_i.yaml2
-rw-r--r--ydb/docs/ru/core/cluster/index.md11
-rw-r--r--ydb/docs/ru/core/cluster/toc_i.yaml14
-rw-r--r--ydb/docs/ru/core/deploy/_includes/index.md16
-rw-r--r--ydb/docs/ru/core/deploy/configuration/config.md114
-rw-r--r--ydb/docs/ru/core/deploy/manual/deploy-ydb-on-premises.md47
-rw-r--r--ydb/docs/ru/core/deploy/manual/toc_i.yaml2
-rw-r--r--ydb/docs/ru/core/deploy/toc_i.yaml14
-rw-r--r--ydb/docs/ru/core/getting_started/_includes/create_db.md10
-rw-r--r--ydb/docs/ru/core/getting_started/self_hosted/_includes/index.md10
-rw-r--r--ydb/docs/ru/core/getting_started/self_hosted/_includes/simple_options.md5
-rw-r--r--ydb/docs/ru/core/getting_started/self_hosted/_includes/ydb_local.md6
-rw-r--r--ydb/docs/ru/core/getting_started/toc_i.yaml2
22 files changed, 275 insertions, 166 deletions
diff --git a/ydb/docs/en/core/cluster/toc_i.yaml b/ydb/docs/en/core/cluster/toc_i.yaml
index f312e6ddbc6..a10133b3a8e 100644
--- a/ydb/docs/en/core/cluster/toc_i.yaml
+++ b/ydb/docs/en/core/cluster/toc_i.yaml
@@ -1,14 +1,8 @@
items:
-- name: Kubernetes
- include: { mode: link, path: ../deploy/orchestrated/toc_p.yaml }
-- name: Manual
- items:
- - include: { mode: link, path: ../deploy/manual/toc_p.yaml }
- - include: { mode: link, path: ../deploy/configuration/toc_p.yaml }
- # - name: Production checklist
- # href: ../deploy/production_checklist.md
- - name: Maintaining a cluster's disk subsystem
- include: { mode: link, path: ../maintenance/manual/toc_p.yaml }
+- name: Deployment
+ include: { mode: link, path: ../deploy/toc_p.yaml }
+- name: Maintaining a cluster's disk subsystem
+ include: { mode: link, path: ../maintenance/manual/toc_p.yaml }
- name: Embedded UI
include: { mode: link, path: ../maintenance/embedded_monitoring/toc_p.yaml }
- name: System views
diff --git a/ydb/docs/en/core/deploy/_includes/index.md b/ydb/docs/en/core/deploy/_includes/index.md
index 72fd785623d..8f4be109e61 100644
--- a/ydb/docs/en/core/deploy/_includes/index.md
+++ b/ydb/docs/en/core/deploy/_includes/index.md
@@ -1,14 +1,11 @@
# Deploying databases and clusters
-This section provides information on the deployment and configuration of YDB databases and clusters.
+This section provides information on the deployment and configuration of multiple nodes YDB clusters servicing a number of databases.
-Step-by-step tutorials for self-deployment of local DBs intended for application developers are given in [Getting started - Self-deployment](../../getting_started/self_hosted/index.md).
+- [Deployment in Kubernetes](../orchestrated/concepts.md)
+- [Deployment on virtual machines and baremetal servers](../manual/deploy-ydb-on-premises.md)
+- [Configuaration](../configuration/config.md)
-Information on cluster deployment and configuration is intended for administrators.
+Step-by-step instructions for rapid deployment of a local single-node cluster for the purposes of development and functional teseting are given in the [Getting started](../../getting_started/self_hosted/index.md) section.
-{% note warning "Warning" %}
-
-The section is under development.
-
-{% endnote %}
diff --git a/ydb/docs/en/core/deploy/configuration/config.md b/ydb/docs/en/core/deploy/configuration/config.md
index 6e0f5662443..a563bd59dff 100644
--- a/ydb/docs/en/core/deploy/configuration/config.md
+++ b/ydb/docs/en/core/deploy/configuration/config.md
@@ -1,57 +1,109 @@
-# Creating a configuration for deploying a cluster
+# Cluster configuration
-To deploy a {{ ydb-short-name }} cluster, you need to create a cluster configuration.
-This section describes how to create a {{ ydb-short-name }} cluster configuration in YAML format.
+A cluster configuration is in a YAML-file, provided in a `--yaml-config` option when starting cluster nodes.
-## Description of storage host configurations
+This section describes basic configration parameter groups of that file.
-Create and describe a host configuration. For each host configuration, specify the sequence number and a list of paths to disks and their types.
-The following disk types are available: `SSD`, `NVME`, and `ROT` (in this case, `ROT` disks are `HDD`).
+## host_configs - Host configuration templates {#host-configs}
-For example:
+YDB cluster comprise number of nodes typically deployed over one or more standard server configurations. To avoid duplication of its descriptions for each node, the configuration file containts a `host_configs` section where configuration templates are listed and assigned an identifier.
-```bash
+**Syntax**
+
+``` yaml
host_configs:
-- drive:
+- host_config_id: 1
+ drive:
+ - path: <path_to_device>
+ type: <type>
+ - path: ...
+- host_config_id: 2
+ ...
+```
+
+The `host_config_id` attribute sets a numeric template identifier. The `drive` attribute contains a collection of attached disks descriptions. Each description contains two attributes:
+
+- `path` : Path to a mounted block device, for instance `/dev/disk/by-partlabel/ydb_disk_ssd_01`
+- `type` : Device physical media type: `ssd`, `nvme` или `rot` (rotational - HDD)
+
+**Examples**
+
+A sole template identified as 1, with a single disk of SSD type, available on `/dev/disk/by-partlabel/ydb_disk_ssd_01` path:
+
+``` yaml
+host_configs:
+- host_config_id: 1
+ drive:
- path: /dev/disk/by-partlabel/ydb_disk_ssd_01
type: SSD
- host_config_id: 1
```
-In this example, we can find exactly one type of host whose sequence number is 1. In this host configuration, exactly one disk is specified, its type is `SSD` and path is `/dev/disk/by-partlabel/ydb_disk_ssd_01`.
+Two templates identified as 1 and 2, with two and three SSD disks, respectively:
-Below is another configuration example. Let's assume that we have two types of host configurations, one of them with 2 disks available on the host and the other one with 3 disks.
-This configuration can be specified as follows:
-
-```bash
+``` yaml
host_configs:
-- drive:
+- host_config_id: 1
+ drive:
- path: /dev/disk/by-partlabel/ydb_disk_ssd_01
type: SSD
- path: /dev/disk/by-partlabel/ydb_disk_ssd_02
type: SSD
- host_config_id: 1
-- drive:
+- host_config_id: 2
+ drive:
- path: /dev/disk/by-partlabel/ydb_disk_ssd_01
type: SSD
- path: /dev/disk/by-partlabel/ydb_disk_ssd_02
type: SSD
- path: /dev/disk/by-partlabel/ydb_disk_ssd_03
type: SSD
- host_config_id: 2
```
-## Description of cluster hosts
+### Kubernetes specifics {#host-configs-k8s}
-List the hosts to run a cluster on. For each host, specify the sequence number and the port where `Interconnect` will be run on this host.
-You also need to specify the physical location of the host and the unique ID of the host configuration.
+A YDB Kubernetes operator mounts NBS disks for storage nodes on the `/dev/kikimr_ssd_00` path. A following template must be specified in the `host_configs` to use them:
-For example,
+``` yaml
+host_configs:
+- host_config_id: 1
+ drive:
+ - path: /dev/kikimr_ssd_00
+ type: SSD
+```
-```bash
+Such section is already included in the configuration example files supplied with the YDB Kubernetes operator, and may not be changed.
+
+## hosts - Cluster static nodes {#hosts}
+
+This group contains a list of cluster static nodes where storage processes are running, and sets its attributes:
+
+- Numeric node identified
+- DNS hostname and port where connection over IP network can be estalished
+- [Host configuration template](#host-configs) identifier
+- Placement in a particular rack and availability zone
+- Server serial number (optional)
+
+**Syntax**
+
+``` yaml
+hosts:
+- host: <DNS hostname>
+ host_config_id: <numeric host configuration template identifier>
+ port: <port> # 19001 by default
+ location:
+ unit: <string representing a server serial number>
+ data_center: <string representing an availability zone identifier>
+ rack: <string representing a rack identifier>
+- host: <DNS hostname>
+ ...
+```
+
+**Examples**
+
+``` yaml
hosts:
- host: hostname1
host_config_id: 1
+ node_id: 1
port: 19001
location:
unit: '1'
@@ -67,9 +119,13 @@ hosts:
rack: '1'
```
-## Description of a cluster domain configuration
+### Kubernetes specifics {#hosts-k8s}
+
+The whole section `hosts` content is generated automatically when using YDB Kubernetes operator, overwriting any user content provided as input to an operator call. All storage nodes use `host_config_id` = `1`, for which a correct [configuration template](#host-configs-k8s) must be provided.
+
+## domains_config - Cluster domain {#domains-config}
-Describe a cluster domain configuration. Specify the domain name, storage types, the numbers of the hosts that will be included in `StateStorage`, and the `nto_select` parameter.
+Specify the domain name, storage types, the numbers of the hosts that will be included in `StateStorage`, and the `nto_select` parameter.
In the storage configuration, specify the type of storage and the type of storage fault tolerance (`erasure`), which will be used to initialize the database storage.
You should also specify what types of disks this storage type will correspond to. The following models of storage fault tolerance are available:
@@ -141,7 +197,7 @@ domains_config:
In this case, a domain is named `global` and storage of the `SSD` type is also created in it. The `erasure_species: mirror-3-dc` line indicates that storage is created with the `mirror-3-dc` fault tolerance model. `StateStorage` will include 9 servers with the `nto_select` parameter set to 9.
-## Description of an actor system configuration
+## actor_system_config - Actor system {#actor-system}
Create an actor system configuration. Specify how processor cores will be distributed across the pools of cores available in the system.
@@ -181,7 +237,7 @@ Make sure the total number of cores assigned to the IC, Batch, System, and User
{% endnote %}
-## Description of a static cluster group
+## blob_storage_config - Сluster static group {#blob-storage-config}
Specify a static cluster group's configuration. A static group is necessary for the operation of the basic cluster tablets, including `Hive`, `SchemeShard`, and `BlobstorageContoller`.
As a rule, these tablets do not store a lot of data, so we don't recommend creating more than one static group.
@@ -204,7 +260,7 @@ blob_storage_config:
For a configuration located in 3 availability zones, specify 3 rings. For a configuration within a single availability zone, specify exactly one ring.
-## Sample cluster configurations
+## Sample cluster configurations {#examples}
The [repository](https://github.com/ydb-platform/ydb/tree/main/ydb/deploy/yaml_config_examples/) provides model examples of cluster configurations for self-deployment. Check them out before deploying a cluster.
diff --git a/ydb/docs/en/core/deploy/manual/toc_i.yaml b/ydb/docs/en/core/deploy/manual/toc_i.yaml
index bc4771b5983..3fe51e75a42 100644
--- a/ydb/docs/en/core/deploy/manual/toc_i.yaml
+++ b/ydb/docs/en/core/deploy/manual/toc_i.yaml
@@ -1,5 +1,5 @@
items:
#- name: Overview
# href: concepts.md
-- name: On-premise deployment
+- name: Deployment
href: deploy-ydb-on-premises.md
diff --git a/ydb/docs/en/core/deploy/toc_i.yaml b/ydb/docs/en/core/deploy/toc_i.yaml
index 6cf43d06de0..ee23f8c396f 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: Deploying a YDB cluster
- include: { mode: link, path: manual/toc_p.yaml }
-- include: { mode: link, path: configuration/toc_p.yaml }
- name: Kubernetes
- include: { mode: link, path: ../deploy/orchestrated/toc_p.yaml }
-# - name: Production checklist
-# href: production_checklist.md
-
+ 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/en/core/getting_started/_includes/create_db.md b/ydb/docs/en/core/getting_started/_includes/create_db.md
index 4a2403a1b01..ae7e5282c09 100644
--- a/ydb/docs/en/core/getting_started/_includes/create_db.md
+++ b/ydb/docs/en/core/getting_started/_includes/create_db.md
@@ -4,13 +4,13 @@ Detailed information about databases can be found in the article [Terms and defi
{% include [create_db_overlay.md](create_db_overlay.md) %}
-## Self-hosted deployment {#self-hosted}
+## Simple self-hosted deployment {#self-hosted}
-There are three methods you can use to deploy {{ ydb-short-name }}:
+One of the following methods can be used to deploy a local single-node cluster of {{ ydb-short-name }} running a single database:
-* [Using Docker](../self_hosted/ydb_docker.md).
-* [In Kubernetes](../../deploy/orchestrated/concepts.md).
-* [Locally, from a downloaded executable file](../self_hosted/ydb_local.md).
+{% include [simple_options](../self_hosted/_includes/simple_options.md) %}
+
+Documentation on the deployment of mupltiple nodes clusters running number of databases is given in the [Cluster management](../../deploy/index.md) section.
## Learn more about YDB {#next}
diff --git a/ydb/docs/en/core/getting_started/self_hosted/_includes/index.md b/ydb/docs/en/core/getting_started/self_hosted/_includes/index.md
index 931dd9b4f0f..af979dbfdf7 100644
--- a/ydb/docs/en/core/getting_started/self_hosted/_includes/index.md
+++ b/ydb/docs/en/core/getting_started/self_hosted/_includes/index.md
@@ -1,10 +1,8 @@
-# Self-hosted deployment of a database {{ ydb-short-name }}
+# Deployment of a single-node {{ ydb-short-name }} cluster
-This section contains articles describing simple YDB deployment scenarios. They can be used by application developers to quickly deploy their own YDB database for development or testing purposes.
+This section contains articles describing simple scenarios to deploy a local single-node YDB cluster running a single database. Such database can be used for development and functional testing purposes.
-- [Running YDB in Docker](../ydb_docker.md)
-- [Running YDB from a binary file](../ydb_local.md)
-- [Running YDB in Minikube](../ydb_minikube.md)
+{% include [simple_options](simple_options.md) %}
-For information about deploying YDB clusters for administrators, see [Managing a cluster](../../../cluster/index.md).
+Single-node deployments of YDB are not recommended for performance testing, as YDB architecture is designed for horizontal scalability, with relevant impact to applied algorithms and computing overhead. Deployment of a mutli-node cluster is described in the [Cluster management](../../../deploy/index.md) section.
diff --git a/ydb/docs/en/core/getting_started/self_hosted/_includes/simple_options.md b/ydb/docs/en/core/getting_started/self_hosted/_includes/simple_options.md
new file mode 100644
index 00000000000..327db12c625
--- /dev/null
+++ b/ydb/docs/en/core/getting_started/self_hosted/_includes/simple_options.md
@@ -0,0 +1,5 @@
+- [Using Docker](../ydb_docker.md)
+- [From a dowloaded binary file](../ydb_local.md)
+- [In Minikube](../ydb_minikube.md)
+
+
diff --git a/ydb/docs/en/core/getting_started/self_hosted/_includes/ydb_local.md b/ydb/docs/en/core/getting_started/self_hosted/_includes/ydb_local.md
index 5ad3fc9d3ae..473a09bdb83 100644
--- a/ydb/docs/en/core/getting_started/self_hosted/_includes/ydb_local.md
+++ b/ydb/docs/en/core/getting_started/self_hosted/_includes/ydb_local.md
@@ -1,6 +1,6 @@
# Running {{ ydb-short-name }} from a binary file
-This section describes how to deploy a local {{ ydb-short-name }} cluster using a compiled binary file. Currently, the system **only supports builds for Linux**. Support for Windows and MacOS builds will be added later.
+This section describes how to deploy a local single-node {{ ydb-short-name }} cluster using a compiled binary file. Currently, the system **only supports builds for Linux**. Support for Windows and MacOS builds will be added later.
## Connection parameters {#conn}
@@ -72,7 +72,7 @@ ydb -e grpc://localhost:2136 -d /Root/test scheme ls
To work with the DB structure and data, you can also use the web interface embedded in the `ydbd` process. It is available at `http://localhost:8765`. For more information about the embedded web interface, see [Embedded UI](../../../maintenance/embedded_monitoring/ydb_monitoring.md).
-## Additional information {#advanced}
+## Advanced options {#advanced}
-Instructions for administrators on how to deploy clusters from multiple nodes and configure them are given in [Deploy YDB on-premises](../../../deploy/manual/deploy-ydb-on-premises.md) in the "Administration" section.
+Instructions on how to deploy multi-node clusters and configure them are given in [Deploy YDB on-premises](../../../deploy/manual/deploy-ydb-on-premises.md) in the "Cluster management" section.
diff --git a/ydb/docs/en/core/getting_started/toc_i.yaml b/ydb/docs/en/core/getting_started/toc_i.yaml
index b39c640eea5..982538b31f2 100644
--- a/ydb/docs/en/core/getting_started/toc_i.yaml
+++ b/ydb/docs/en/core/getting_started/toc_i.yaml
@@ -10,7 +10,7 @@ items:
href: yql.md
- name: YDB SDK
href: sdk.md
-- name: Self-hosted deployment
+- name: Single-node cluster deployment
include: { mode: link, path: self_hosted/toc_p.yaml }
- name: Useful links
href: useful_links.md \ No newline at end of file
diff --git a/ydb/docs/ru/core/cluster/index.md b/ydb/docs/ru/core/cluster/index.md
index ef81246bc5e..6132db98c1d 100644
--- a/ydb/docs/ru/core/cluster/index.md
+++ b/ydb/docs/ru/core/cluster/index.md
@@ -1,11 +1,12 @@
# Управление кластером YDB
-В данном разделе находятся статьи для системных администраторов, отвечающих за работоспособность кластеров YDB, на которых разворачиваются прикладные базы данных.
+В данном разделе находятся статьи, описывающие процедуры развертывания, конфигурирования, обслуживания, мониторинга и диагностики многоузловых кластеров YDB.
-{% include [addition_overlay](_includes/addition_overlay.md) %}
+Статьи опираются на описание внутреннего устройства кластеров YDB, приведенное в разделе [Концепции - Кластер](../concepts/cluster/index.md).
-{% note warning "Предупреждение" %}
+{% include [addition_overlay](_includes/addition_overlay.md) %}
-Раздел находится в стадии разработки.
+- [Развертывание и конфигурирование кластера](../deploy/index.md) в Kubernetes и на виртуальных/железных серверах
+- [Встроенный UI](../maintenance/embedded_monitoring/index.md)
+- [Системные таблицы кластера](../troubleshooting/system_views_cluster.md)
-{% endnote %} \ No newline at end of file
diff --git a/ydb/docs/ru/core/cluster/toc_i.yaml b/ydb/docs/ru/core/cluster/toc_i.yaml
index 872cd1d4324..0f469b2971c 100644
--- a/ydb/docs/ru/core/cluster/toc_i.yaml
+++ b/ydb/docs/ru/core/cluster/toc_i.yaml
@@ -1,14 +1,8 @@
items:
-- name: Kubernetes
- include: { mode: link, path: ../deploy/orchestrated/toc_p.yaml }
-- name: Вручную
- items:
- - include: { mode: link, path: ../deploy/manual/toc_p.yaml }
- - include: { mode: link, path: ../deploy/configuration/toc_p.yaml }
- # - name: Production checklist
- # href: ../deploy/production_checklist.md
- - name: Обслуживание дисковой подсистемы кластера
- include: { mode: link, path: ../maintenance/manual/toc_p.yaml }
+- name: Развертывание
+ include: { mode: link, path: ../deploy/toc_p.yaml }
+- name: Обслуживание дисковой подсистемы кластера
+ include: { mode: link, path: ../maintenance/manual/toc_p.yaml }
- name: Встроенный UI
include: { mode: link, path: ../maintenance/embedded_monitoring/toc_p.yaml }
- name: Системные таблицы
diff --git a/ydb/docs/ru/core/deploy/_includes/index.md b/ydb/docs/ru/core/deploy/_includes/index.md
index 4eb3c6d81b8..589ee58bfb5 100644
--- a/ydb/docs/ru/core/deploy/_includes/index.md
+++ b/ydb/docs/ru/core/deploy/_includes/index.md
@@ -1,13 +1,9 @@
-# Развертывание баз данных и кластеров
+# Развертывание кластеров YDB
-В данном разделе представлена информация по развертыванию и конфигурации баз данных и кластеров YDB.
+В данном разделе представлена информация по развертыванию и конфигурации многоузловых кластеров YDB, обслуживающих множество баз данных.
-Пошаговые сценарии быстрого самостоятельного развертывания локальных баз данных для прикладных разработчиков приведены в разделе [Начало работы - Самостоятельное развертывание](../../getting_started/self_hosted/index.md).
+- [Развертывание в Kubernetes](../orchestrated/concepts.md)
+- [Развертывание на виртуальных и железных серверах](../manual/deploy-ydb-on-premises.md)
+- [Конфигурирование](../configuration/config.md)
-Информация о развертывании и конфигурации кластеров предназначена для администраторов.
-
-{% note warning "Предупреждение" %}
-
-Раздел находится в стадии разработки.
-
-{% endnote %}
+Пошаговые сценарии быстрого развертывания локального одноузлового кластера для целей разработки и тестирования функциональности приведены в разделе [Начало работы](../../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 12946af75f5..04140a90164 100644
--- a/ydb/docs/ru/core/deploy/configuration/config.md
+++ b/ydb/docs/ru/core/deploy/configuration/config.md
@@ -1,57 +1,109 @@
-# Создание конфигурации для развертывания кластера
+# Конфигурация кластера
-Для того, чтобы развернуть кластер {{ ydb-short-name }} необходимо создать конфигурацию кластера.
-В данном разделе описывается процесс создание конфигурации кластера {{ ydb-short-name }} в YAML формате.
+Конфигурация кластера задается в YAML-файле, передаваемом в параметре `--yaml-config` при запуске узлов кластера.
-## Описание конфигурации хостов хранилища
+В статье приведено описание основных групп конфигурируемых параметров в данном файле.
-Подготовьте и опишите конфигурацию хостов. Для каждой конфигурации хоста необходимо указать порядковый номер, а также список путей до дисков и их тип.
-Доступны следующие типы дисков: `SSD`, `NVME`, `ROT` (в данном случае под `ROT` дисками понимаются `HDD` диски).
+## host_configs - Типовые конфигурации хостов {#host-configs}
-Например:
+Кластер YDB состоит из множества узлов, для развертывания которых обычно используется одна или несколько типовых конфигураций серверов. Для того чтобы не повторять её описание для каждого узла, в файле конфигурации существует раздел `host_configs`, в котором перечислены используемые конфигурации, и им присвоены идентификаторы.
-```bash
+**Синтаксис**
+
+``` yaml
host_configs:
-- drive:
+- host_config_id: 1
+ drive:
+ - path: <path_to_device>
+ type: <type>
+ - path: ...
+- host_config_id: 2
+ ...
+```
+
+Атрибут `host_config_id` задает числовой идентификатор конфигурации. В атрибуте `drive` содержится коллекция описаний подключенных дисков. Каждой описание состоит из двух атрибутов:
+
+- `path` : Путь к смонтированному блочному устройству, например `/dev/disk/by-partlabel/ydb_disk_ssd_01`
+- `type` : Тип физического носителя устройства: `ssd`, `nvme` или `rot` (rotational - HDD)
+
+**Примеры**
+
+Одна конфигурация с идентификатором 1, с одним диском типа SSD, доступным по пути `/dev/disk/by-partlabel/ydb_disk_ssd_01`:
+
+``` yaml
+host_configs:
+- host_config_id: 1
+ drive:
- path: /dev/disk/by-partlabel/ydb_disk_ssd_01
type: SSD
- host_config_id: 1
```
-В данном примере мы можем найти ровно один тип хоста, который имеет порядковый номер 1. В данной конфигурации хоста указан ровно один диск, имеющий тип `SSD` и путь `/dev/disk/by-partlabel/ydb_disk_ssd_01`.
+Две конфигурации с идентификаторами 1 (два SSD диска) и 2 (три SSD диска):
-Рассмотрим другой пример конфигурации. Предположим, что у нас доступно два типа конфигурации хостов, в одной из них доступно 2 диска на хосте, а в другой 3.
-Такая конфигурация может быть задана следующим образом:
-
-```bash
+``` yaml
host_configs:
-- drive:
+- host_config_id: 1
+ drive:
- path: /dev/disk/by-partlabel/ydb_disk_ssd_01
type: SSD
- path: /dev/disk/by-partlabel/ydb_disk_ssd_02
type: SSD
- host_config_id: 1
-- drive:
+- host_config_id: 2
+ drive:
- path: /dev/disk/by-partlabel/ydb_disk_ssd_01
type: SSD
- path: /dev/disk/by-partlabel/ydb_disk_ssd_02
type: SSD
- path: /dev/disk/by-partlabel/ydb_disk_ssd_03
type: SSD
- host_config_id: 2
```
-## Описание хостов кластера
+### Особенности Kubernetes {#host-configs-k8s}
-Перечислите список хостов, на которых необходимо запустить кластер. Для каждого хоста нужно указать порядковый номер, порт на котором будет запущен `Interconnect` на данном хосте.
-Также нужно указать физическое месторасположение хоста и уникальный идентификатор конфигурации хоста.
+YDB Kubernetes operator монтирует NBS диски для Storage узлов на путь `/dev/kikimr_ssd_00`. Для их использования должна быть указана следующая конфигурация `host_configs`:
-Например,
+``` yaml
+host_configs:
+- host_config_id: 1
+ drive:
+ - path: /dev/kikimr_ssd_00
+ type: SSD
+```
-```bash
+Файлы с примерами конфигурации, поставляемые в составе YDB Kubernetes operator, уже содержат такую секцию, и её не нужно менять.
+
+## hosts - Статические узлы кластера {#hosts}
+
+В данной группе перечисляются статические узлы кластера, на которых запускаются процессы работы со Storage, и задаются их основные характеристики:
+
+- Числовой индентификатор узла
+- DNS-имя хоста и порт, по которым может быть установлено соединение с узлом в IP network
+- Идентификатор [типовой конфигурации хоста](#host-configs)
+- Размещение в определенной зоне доступности, стойке
+- Инвентарный номер сервера (опционально)
+
+**Синтаксис**
+
+``` yaml
+hosts:
+- host: <DNS-имя хоста>
+ host_config_id: <числовой идентификатор типовой конфигурации хоста>
+ port: <порт> # 19001 по умолчанию
+ location:
+ unit: <строка с инвентарным номером сервера>
+ data_center: <строка с идентификатором зоны доступности>
+ rack: <строка с идентификатором стойки>
+- host: <DNS-имя хоста>
+ ...
+```
+
+**Примеры**
+
+``` yaml
hosts:
- host: hostname1
host_config_id: 1
+ node_id: 1
port: 19001
location:
unit: '1'
@@ -67,9 +119,13 @@ hosts:
rack: '1'
```
-## Описание конфигурации домена кластера
+### Особенности Kubernetes {#hosts-k8s}
+
+При развертывании YDB с помощью оператора Kubernetes секция `hosts` полностью генерируется автоматически, заменяя любой указанный пользователем контент в передаваемой оператору конфигурации. Все Storage узлы используют `host_config_id` = `1`, для которого должна быть задана [корректная конфигурация](#host-configs-k8s).
+
+## domains_config - Домен кластера {#domains-config}
-Опишите конфигурацию домена кластера. Необходимо указать имя домена и типы хранилища, также необходимо указать номера хостов, которые будут входить `StateStorage` и параметр `nto_select`.
+Необходимо указать имя домена и типы хранилища, также необходимо указать номера хостов, которые будут входить `StateStorage` и параметр `nto_select`.
В конфигурации хранилища необходимо указать имя типа хранилища и тип отказоустойчивости хранилища (`erasure`), который будет использоваться для инициализации хранилища баз данных.
Также необходимо указать, каким типам дисков данный тип хранилища будет соответствовать. Доступны следующие схемы отказоустойчивости хранилища:
@@ -142,7 +198,7 @@ domains_config:
В таком случае домен будет иметь имя `global`, в нем также будет создан тип хранилища `ssd`. `erasure_species: mirror-3-dc` означает, что хранилище будет создано со схемой отказоустойчивости
`mirror-3-dc`. `StateStorage` будет растянут на 9 серверов с параметром `nto_select` равным 9.
-## Описание конфигурации акторной системы
+## actor_system_config - Акторная система {#actor-system}
Создайте конфигурацию акторной системы. Необходимо указать распределение ядер процессора по пулам из числа доступных ядер в системе.
@@ -182,7 +238,7 @@ actor_system_config:
{% endnote %}
-## Описание статической группы кластера
+## blob_storage_config - Статическая группа кластера {#blob-storage-config}
Укажите конфигурацию статической группы кластера. Статическая группа необходима для работы базовых таблеток кластера, в том числе `Hive`, `SchemeShard`, `BlobstorageContoller`.
Обычно данные таблетки не хранят много информации, поэтому мы не рекомендуем создавать более одной статической группы.
@@ -205,6 +261,6 @@ blob_storage_config:
Для конфигурации расположенной в 3 AZ необходимо указать 3 кольца. Для конфигураций, расположенных в одной AZ, указывается ровно одно кольцо.
-## Примеры конфигураций кластеров
+## Примеры конфигураций кластеров {#examples}
В [репозитории](https://github.com/ydb-platform/ydb/tree/main/ydb/deploy/yaml_config_examples/) можно найти модельные примеры конфигураций кластеров для самостоятельного развертывания. Ознакомьтесь с ними перед развертыванием кластера.
diff --git a/ydb/docs/ru/core/deploy/manual/deploy-ydb-on-premises.md b/ydb/docs/ru/core/deploy/manual/deploy-ydb-on-premises.md
index 4758b7835bb..47838faf2a1 100644
--- a/ydb/docs/ru/core/deploy/manual/deploy-ydb-on-premises.md
+++ b/ydb/docs/ru/core/deploy/manual/deploy-ydb-on-premises.md
@@ -1,8 +1,11 @@
-## Deploy YDB On-Premises {# deploy-on-premise}
+# Рзавертывание кластера YDB на виртуальных или железных серверах
+
Данный документ описывает способ развернуть мультитенантный кластер YDB на нескольких серверах.
-## Перед началом работы {# before-start}
-### Требования {# requirements}
+## Перед началом работы {#before-start}
+
+### Требования {#requirements}
+
У вас должен быть ssh доступ на все сервера. Это необходимо для установки артефактов и запуска бинарника YDB.
Ваша сетевая конфигурация должна разрешать TCP соединения по следующим портам (по умолчанию):
* 2135, 2136 - grpc для клиент-кластерного взаимодействия;
@@ -17,7 +20,7 @@
Запускайте каждую статическую ноду на отдельном сервере.
-## Создайте системного пользователя и группу, от имени которого будет работать {{ ydb-short-name }} {# create-user}
+## Создайте системного пользователя и группу, от имени которого будет работать {{ ydb-short-name }} {#create-user}
На каждом сервере, где будет запущен YDB выполните:
```bash
sudo groupadd ydb
@@ -29,7 +32,7 @@ sudo useradd ydb -g ydb
sudo usermod -aG disk ydb
```
-## Подготовьте и отформатируйте диски на каждом сервере {# prepare-disks}
+## Подготовьте и отформатируйте диски на каждом сервере {#prepare-disks}
{% note warning %}
@@ -57,7 +60,7 @@ sudo partx --u /dev/nvme0n1
Если вы планируете использовать более одного диска на каждом сервере - укажите для каждого свой уникальный лейбл вместо `ydb_disk_ssd_01`. Эти диски необходимо будет использовать в конфигурационных файлах далее.
-Скачайте архив с исполняемым файлом `ydbd` и необходимыми для работы YDB библиотеками:
+Скачайте и распакуйте архив с исполняемым файлом `ydbd` и необходимыми для работы YDB библиотеками:
```bash
curl https://binaries.ydb.tech/ydbd-main-linux-amd64.tar.gz | tar -xz
```
@@ -184,20 +187,24 @@ sudo LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/ydb/lib /opt/ydb/bin/ydbd admin bs di
```
{% endlist %}
-## Инициализируйте кластер {# initialize-cluster}
+## Инициализируйте кластер {#initialize-cluster}
+
На одной из нод кластера выполните команду:
+
```bash
-LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/ydb/lib ; /opt/ydb/bin/ydbd admin blobstorage config init --yaml-file /opt/ydb/cfg/config.yaml ; echo $?
+LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/ydb/lib /opt/ydb/bin/ydbd admin blobstorage config init --yaml-file /opt/ydb/cfg/config.yaml
```
-Код завершения команды должен быть нулевым.
-## Создание первой базы данных {# create-fist-db}
+Код завершения команды должен быть нулевым, выполните команду `echo $?` для его проверки.
+
+## Создание первой базы данных {#create-fist-db}
+
Для работы с таблицами необходимо создать как минимум одну базу данных и поднять процесс, обслуживающий эту базу данных (динамическую ноду).
```bash
-LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/ydb/lib ; /opt/ydb/bin/ydbd admin database /Root/testdb create ssd:1
+LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/ydb/lib /opt/ydb/bin/ydbd admin database /Root/testdb create ssd:1
```
-## Запустите динамическую ноду базы {# start-dynnode}
+## Запустите динамическую ноду базы {#start-dynnode}
{% list tabs %}
- Вручную
@@ -233,7 +240,7 @@ LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/ydb/lib ; /opt/ydb/bin/ydbd admin database
SyslogFacility=daemon
SyslogLevel=err
Environment=LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/ydb/lib
- ExecStart=LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/ydb/lib ; /opt/ydb/bin/ydbd server --grpc-port 2136 --ic-port 19002 --mon-port 8766 --yaml-config /opt/ydb/cfg/config.yaml --tenant /Root/testdb --node-broker --node-broker --node-broker
+ ExecStart=/opt/ydb/bin/ydbd server --grpc-port 2136 --ic-port 19002 --mon-port 8766 --yaml-config /opt/ydb/cfg/config.yaml --tenant /Root/testdb --node-broker --node-broker --node-broker
LimitNOFILE=65536
LimitCORE=0
LimitMEMLOCK=32212254720
@@ -250,14 +257,16 @@ LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/ydb/lib ; /opt/ydb/bin/ydbd admin database
{% endlist %}
-## Протестируйте работу с созданной базой {# try-first-db}
+## Протестируйте работу с созданной базой {#try-first-db}
+
1. Установите YDB CLI, как описано в статье [Установка YDB CLI](../../reference/ydb-cli/install.md)
2. Создайте тестовую таблицу `test_table`:
-```bash
-ydb -e grpc://<node1.domain>:2136 -d /Root/testdb scripting yql \
---script 'CREATE TABLE `testdir/test_table` (id Uint64, title Utf8, PRIMARY KEY (id));'
-```
-Где node.domain - FQDN сервера, на котором запущены динамические ноды, обслуживающие базу `/Root/testdb`
+
+ ```bash
+ ydb -e grpc://<node1.domain>:2136 -d /Root/testdb scripting yql \
+ --script 'CREATE TABLE `testdir/test_table` (id Uint64, title Utf8, PRIMARY KEY (id));'
+ ```
+ Где `<node1.domain>` - FQDN сервера, на котором запущены динамические ноды, обслуживающие базу `/Root/testdb`
diff --git a/ydb/docs/ru/core/deploy/manual/toc_i.yaml b/ydb/docs/ru/core/deploy/manual/toc_i.yaml
index a1e9aabf83c..e4c6085fb11 100644
--- a/ydb/docs/ru/core/deploy/manual/toc_i.yaml
+++ b/ydb/docs/ru/core/deploy/manual/toc_i.yaml
@@ -1,5 +1,5 @@
items:
#- name: Обзор
# href: concepts.md
-- name: Локальная установка
+- name: Развертывание
href: deploy-ydb-on-premises.md
diff --git a/ydb/docs/ru/core/deploy/toc_i.yaml b/ydb/docs/ru/core/deploy/toc_i.yaml
index f5761221898..e7b86c7bda4 100644
--- a/ydb/docs/ru/core/deploy/toc_i.yaml
+++ b/ydb/docs/ru/core/deploy/toc_i.yaml
@@ -1,9 +1,9 @@
items:
-- name: Развертывание кластера YDB
- include: { mode: link, path: manual/toc_p.yaml }
-- include: { mode: link, path: configuration/toc_p.yaml }
- name: Kubernetes
- include: { mode: link, path: ../deploy/orchestrated/toc_p.yaml }
-# - name: Production checklist
-# href: production_checklist.md
-
+ include: { mode: link, path: orchestrated/toc_p.yaml }
+- name: VM / Baremetal
+ 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/getting_started/_includes/create_db.md b/ydb/docs/ru/core/getting_started/_includes/create_db.md
index 66ac7c764bb..117f9287032 100644
--- a/ydb/docs/ru/core/getting_started/_includes/create_db.md
+++ b/ydb/docs/ru/core/getting_started/_includes/create_db.md
@@ -4,13 +4,13 @@
{% include [create_db_overlay.md](create_db_overlay.md) %}
-## Самостоятельное развертывание {#self-hosted}
+## Простое самостоятельное развертывание {#self-hosted}
-{{ ydb-short-name }} может быть развернута самостоятельно тремя способами:
+Для простого самостоятельного развертывания на локальной машине одноузлового кластера YDB, обслуживающего одну базу данных, можно воспользоваться описанными ниже способами:
-* [С использованием Docker](../self_hosted/ydb_docker.md).
-* [В Kubernetes](../../deploy/orchestrated/concepts.md).
-* [Локально из скачанного исполняемого файла](../self_hosted/ydb_local.md).
+{% include [simple_options](../self_hosted/_includes/simple_options.md) %}
+
+Документация по развертыванию многоузловых кластеров YDB, обслуживающих множество баз данных, приведена в разделе [Управление кластером](../../deploy/index.md).
## Продолжение знакомства с YDB {#next}
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 b4c678623c9..940408f9451 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
@@ -1,9 +1,7 @@
-# Самостоятельное развертывание базы данных {{ ydb-short-name }}
+# Развертывание одноузлового кластера {{ ydb-short-name }}
-В данном разделе находятся статьи, описывающие простые сценарии развертывания YDB. Этими сценариями могут воспользоваться прикладные разработчики для быстрого получения собственной базы данных YDB в целях разработки или тестирования.
+В данном разделе находятся статьи, описывающие простые сценарии развертывания на локальной машине одноузлового кластера YDB, обслуживающего одну базу данных. Такую базу данных можно использовать в целях разработки или тестирования функциональности.
-- [Запуск YDB в Docker](../ydb_docker.md)
-- [Запуск YDB из бинарного файла](../ydb_local.md)
-- [Запуск YDB в Minikube](../ydb_minikube.md)
+{% include [simple_options](simple_options.md) %}
-Информация по развертыванию кластеров YDB для администраторов находится в разделе [Управление кластером](../../../cluster/index.md).
+Одноузловые конфигурации не рекомендуется использовать для сравнительного тестирования производительности, так как архитектура YDB рассчитана на работу в кластерах с соответствущим влиянием на применяемые алгоритмы, и накладными расходами. Развертывание многоузловых кластеров описано в разделе [Управление кластером](../../../deploy/index.md).
diff --git a/ydb/docs/ru/core/getting_started/self_hosted/_includes/simple_options.md b/ydb/docs/ru/core/getting_started/self_hosted/_includes/simple_options.md
new file mode 100644
index 00000000000..367629a92a0
--- /dev/null
+++ b/ydb/docs/ru/core/getting_started/self_hosted/_includes/simple_options.md
@@ -0,0 +1,5 @@
+
+- [С использованием Docker](../ydb_docker.md)
+- [Из скачанного бинарного файла](../ydb_local.md)
+- [В Minikube](../ydb_minikube.md)
+
diff --git a/ydb/docs/ru/core/getting_started/self_hosted/_includes/ydb_local.md b/ydb/docs/ru/core/getting_started/self_hosted/_includes/ydb_local.md
index 6c20a75a2f2..60b43441b04 100644
--- a/ydb/docs/ru/core/getting_started/self_hosted/_includes/ydb_local.md
+++ b/ydb/docs/ru/core/getting_started/self_hosted/_includes/ydb_local.md
@@ -1,6 +1,6 @@
# Запуск {{ ydb-short-name }} из бинарного файла
-В данном разделе описывается процесс разворачивания локального кластера {{ ydb-short-name }} c использованием собранного бинарного файла. В настоящее время поддерживается **только сборка для Linux**. Сборки под Windows и MacOS будут добавлены позже.
+В данном разделе описывается процесс разворачивания локального одноузлового кластера {{ ydb-short-name }} c использованием собранного бинарного файла. В настоящее время поддерживается **только сборка для Linux**. Сборки под Windows и MacOS будут добавлены позже.
## Параметры соединения {#conn}
@@ -72,6 +72,6 @@ ydb -e grpc://localhost:2136 -d /Root/test scheme ls
Для работы со структурой и данными в базе данных также доступен встроенный в процесс `ydbd` web-интерфейс по адресу `http://localhost:8765`. Подробней возможности встроенного веб-интерфейса описаны в разделе [Embedded UI](../../../maintenance/embedded_monitoring/ydb_monitoring.md).
-## Дополнительная информация {#advanced}
+## Дополнительные возможности {#advanced}
-Описание развертывания кластеров из множества узлов и их конфигурирования для администраторов находится в статье [Deploy YDB on-premises](../../../deploy/manual/deploy-ydb-on-premises.md) в разделе "Администрирование". \ No newline at end of file
+Описание развертывания многоузловых кластеров и их конфигурирования находится в разделе [Управление кластером](../../../deploy/index.md). \ No newline at end of file
diff --git a/ydb/docs/ru/core/getting_started/toc_i.yaml b/ydb/docs/ru/core/getting_started/toc_i.yaml
index 75b812b2fc8..4a397b57046 100644
--- a/ydb/docs/ru/core/getting_started/toc_i.yaml
+++ b/ydb/docs/ru/core/getting_started/toc_i.yaml
@@ -10,7 +10,7 @@ items:
href: yql.md
- name: YDB SDK
href: sdk.md
-- name: Самостоятельное развертывание
+- name: Развертывание одноузлового кластера
include: { mode: link, path: self_hosted/toc_p.yaml }
- name: Полезные ссылки
href: useful_links.md