aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorbazeltsev <bazeltsev@ydb.tech>2023-02-13 13:10:23 +0300
committerbazeltsev <bazeltsev@ydb.tech>2023-02-13 13:10:23 +0300
commitaf02c23f8bb7a05fbf49235d327d8aa958507448 (patch)
tree2f0aadace45cda4d29f70ef31fab5d533e93ecc4
parent93581a600d743c7c4040dbde5c413b613ef2b243 (diff)
downloadydb-af02c23f8bb7a05fbf49235d327d8aa958507448.tar.gz
Improve dstool docs
updated
-rw-r--r--ydb/docs/ru/core/administration/decommissioning.md14
-rw-r--r--ydb/docs/ru/core/administration/ydb-dstool-overview.md31
-rw-r--r--ydb/docs/ru/core/administration/ydb-dstool-setup.md33
-rw-r--r--ydb/docs/ru/core/cluster/index.md2
-rw-r--r--ydb/docs/ru/core/cluster/toc_i.yaml6
-rw-r--r--ydb/docs/ru/core/downloads/index.md10
-rw-r--r--ydb/docs/ru/core/maintenance/manual/adding_storage_groups.md40
-rw-r--r--ydb/docs/ru/core/maintenance/manual/balancing_load.md23
-rw-r--r--ydb/docs/ru/core/maintenance/manual/change_actorsystem_configs.md2
-rw-r--r--ydb/docs/ru/core/maintenance/manual/disk_end_space.md2
-rw-r--r--ydb/docs/ru/core/maintenance/manual/failure_model.md2
-rw-r--r--ydb/docs/ru/core/maintenance/manual/index.md34
-rw-r--r--ydb/docs/ru/core/maintenance/manual/moving_vdisks.md54
-rw-r--r--ydb/docs/ru/core/maintenance/manual/node_restarting.md2
-rw-r--r--ydb/docs/ru/core/maintenance/manual/scrubbing.md22
-rw-r--r--ydb/docs/ru/core/maintenance/manual/selfheal.md29
-rw-r--r--ydb/docs/ru/core/maintenance/manual/toc_i.yaml34
-rw-r--r--ydb/docs/ru/core/maintenance/manual/ydb-dstool.md40
-rw-r--r--ydb/docs/ru/core/maintenance/toc_i.yaml8
19 files changed, 216 insertions, 172 deletions
diff --git a/ydb/docs/ru/core/administration/decommissioning.md b/ydb/docs/ru/core/administration/decommissioning.md
index c3d5ada99fa..4e9961e39a1 100644
--- a/ydb/docs/ru/core/administration/decommissioning.md
+++ b/ydb/docs/ru/core/administration/decommissioning.md
@@ -1,11 +1,5 @@
# Декомиссия части кластера
-{% note info %}
-
-Материал статьи дополняется, описание команды для выполнения декомиссии будет опубликовано позже.
-
-{% endnote %}
-
Декомиссия — это процедура перемещения VDisk с PDisk, который требуется вывести из эксплуатации.
Данные перемещаются на PDisk кластера, на которых достаточно свободного пространства для создания новых слотов. Перемещение выполняется только в случае, когда есть возможность перемещения с хотя бы частичным сохранением модели отказа. Строгое соблюдение модели отказа во время декомиссии может быть нарушено, однако система стремится к обеспечению в процессе декомиссии отказоустойчивости не хуже, чем при штатной работе. Например, при кодировании `mirror-3-dc` может сложиться ситуация, когда группа находится в 4 ЦОД вместо 3.
@@ -37,10 +31,8 @@
>
>Описанные шаги повторяются для следующего набора оборудования в ЦОД-1 до тех пор, пока все оборудование не будет перемещено.
-Чтобы задать нужное состояние декомиссии диска, можно воспользоваться командой ```ydb-dstool``. Например, следующая команда
+Чтобы задать нужное состояние декомиссии диска, воспользуйтесь утилитой [{{ ydb-short-name }} DSTool](ydb-dstool-overview.md). Следующая команда задаст статус `DECOMMIT_IMMINENT` диску с ID `1000` на ноде с ID `1`:
+```bash
+ydb-dstool -e <bs_endpoint> pdisk set --decommit-status DECOMMIT_IMMINENT --pdisk-ids "[1:1000]"
```
-ydb-dstool.py -e ydb.endpoint pdisk set --decommit-status DECOMMIT_IMMINENT --pdisk-ids "[1:1000]"
-```
-
-задает декомит статутс ```DECOMMIT_IMMINENT``` диску с айди ```1000``` на ноде с айди ```1```. \ No newline at end of file
diff --git a/ydb/docs/ru/core/administration/ydb-dstool-overview.md b/ydb/docs/ru/core/administration/ydb-dstool-overview.md
new file mode 100644
index 00000000000..53c443a79f2
--- /dev/null
+++ b/ydb/docs/ru/core/administration/ydb-dstool-overview.md
@@ -0,0 +1,31 @@
+# Обзор утилиты {{ ydb-short-name }} DSTool
+
+С помощью утилиты {{ ydb-short-name }} DSTool вы можете управлять дисковой подсистемой кластера {{ ydb-short-name }}. Чтобы установить и настроить утилиту, выполните [инструкцию](ydb-dstool-setup.md).
+
+Утилита {{ ydb-short-name }} DSTool включает следующие команды:
+
+Команда | Описание
+--- | ---
+pdisk add-by-serial | Добавить PDisk в набор по серийному номеру.
+pdisk remove-by-serial | Удалить PDisk из набора по серийному номеру.
+pdisk set | Задать параметры PDisk'а.
+pdisk list | Вывести список PDisk'ов.
+vdisk evict | Переместить VDisk'и на другие PDisk'и.
+vdisk remove-donor | Удалить VDisk-донор.
+vdisk wipe | Очистить VDisk'и
+vdisk list | Вывести список VDisk'ов.
+group add | Добавить группы хранения в пул.
+group check | Проверить группы хранения.
+group show blob-info | Вывести информацию о блобе.
+group show usage-by-tablets | Вывести информацию об использовании таблеток группами.
+group state | Вывести или изменить состояние группы хранения.
+group take-snapshot | Сделать снапшот метаданных группы хранения.
+group list | Вывести список групп хранения.
+pool list | Вывести список пулов.
+box list | Вывести список наборов PDisk'ов.
+node list | Вывести список узлов.
+cluster balance | Переместить VDisk'и с перегруженных PDisk'ов.
+cluster get | Вывести параметры кластера.
+cluster set | Задать параметры кластера.
+cluster workload run | Создать рабочую нагрузку для тестирования модели отказа.
+cluster list | Вывести информацию о кластере.
diff --git a/ydb/docs/ru/core/administration/ydb-dstool-setup.md b/ydb/docs/ru/core/administration/ydb-dstool-setup.md
new file mode 100644
index 00000000000..337fa518a12
--- /dev/null
+++ b/ydb/docs/ru/core/administration/ydb-dstool-setup.md
@@ -0,0 +1,33 @@
+# Установка {{ ydb-short-name }} DSTool
+
+Чтобы установить и настроить {{ ydb-short-name }} DSTool:
+
+1. Установите Python-пакет `ydb-dstool`:
+
+ ```bash
+ pip install ydb-dstool
+ ```
+
+1. Настройте окружение:
+
+ ```bash
+ export PATH=${PATH}:${HOME}/.local/bin
+ ```
+
+1. Проверьте работу, выполнив команду вывода информации о кластере:
+
+ ```bash
+ ydb-dstool -e <bs_endpoint> cluster list
+ ```
+
+ * `bs_endpoint` — URI интерфейса управления распределенным хранилищем кластера {{ ydb-short-name }}. Интерфейс доступен на любом узле кластера по протоколу HTTP на порте 8765 по умолчанию. Пример URI: `http://localhost:8765`.
+
+ Результат:
+
+ ```text
+ ┌───────┬───────┬───────┬────────┬────────┬───────┬────────┐
+ │ Hosts │ Nodes │ Pools │ Groups │ VDisks │ Boxes │ PDisks │
+ ├───────┼───────┼───────┼────────┼────────┼───────┼────────┤
+ │ 8 │ 16 │ 1 │ 5 │ 40 │ 1 │ 32 │
+ └───────┴───────┴───────┴────────┴────────┴───────┴────────┘
+ ```
diff --git a/ydb/docs/ru/core/cluster/index.md b/ydb/docs/ru/core/cluster/index.md
index b10056a982c..6860bcb9276 100644
--- a/ydb/docs/ru/core/cluster/index.md
+++ b/ydb/docs/ru/core/cluster/index.md
@@ -1,4 +1,4 @@
-# Управление кластером {{ ydb-short-name }}
+# Обзор управления кластером {{ ydb-short-name }}
В этом разделе описано развертывание, конфигурирование, обслуживание, мониторинг и диагностика многоузловых [кластеров {{ ydb-short-name }}](../concepts/cluster/index.md).
diff --git a/ydb/docs/ru/core/cluster/toc_i.yaml b/ydb/docs/ru/core/cluster/toc_i.yaml
index 89161d4feac..1567c1bf4b6 100644
--- a/ydb/docs/ru/core/cluster/toc_i.yaml
+++ b/ydb/docs/ru/core/cluster/toc_i.yaml
@@ -3,7 +3,7 @@ items:
include: { mode: link, path: ../deploy/toc_p.yaml }
- name: Управление доступом
href: access.md
-- name: Обслуживание дисковой подсистемы кластера
+- name: Управление дисковой подсистемой кластера
include: { mode: link, path: ../maintenance/manual/toc_p.yaml }
- name: Встроенный UI
include: { mode: link, path: ../maintenance/embedded_monitoring/toc_p.yaml }
@@ -19,3 +19,7 @@ items:
href: ../administration/grafana-dashboards.md
- name: Обновление YDB
href: ../administration/upgrade.md
+- name: Изменение конфигурации актор-системы
+ href: ../maintenance/manual/change_actorsystem_configs.md
+- name: Изменение конфигураций через CMS
+ href: ../maintenance/manual/cms.md
diff --git a/ydb/docs/ru/core/downloads/index.md b/ydb/docs/ru/core/downloads/index.md
index ee2b9cf887e..ad907503179 100644
--- a/ydb/docs/ru/core/downloads/index.md
+++ b/ydb/docs/ru/core/downloads/index.md
@@ -2,7 +2,7 @@
## {{ ydb-short-name }} CLI
-[{{ ydb-short-name }} CLI](../reference/ydb-cli/index.md) — утилита командной строки для работы с базами данных YDB.
+[{{ ydb-short-name }} CLI](../reference/ydb-cli/index.md) — утилита командной строки для работы с базами данных {{ ydb-short-name }}.
{% list tabs %}
@@ -26,7 +26,7 @@
## {{ ydb-short-name }} Server
-{{ ydb-short-name }} Server - сборка для запуска узла [кластера YDB](../concepts/databases.md#cluster).
+{{ ydb-short-name }} Server — сборка для запуска узла [кластера YDB](../concepts/databases.md#cluster).
{% list tabs %}
@@ -43,3 +43,9 @@
{% include notitle [docker](_includes/server/source_code.md) %}
{% endlist %}
+
+## {{ ydb-short-name }} DSTool {#ydb-dstool}
+
+{{ ydb-short-name }} DSTool — утилита командной строки для [управления дисковой подсистемой](../maintenance/manual/index.md) кластера {{ ydb-short-name }}.
+
+Для использования утилиты установите Python-пакет [ydb-dstool](https://pypi.org/project/ydb-dstool/).
diff --git a/ydb/docs/ru/core/maintenance/manual/adding_storage_groups.md b/ydb/docs/ru/core/maintenance/manual/adding_storage_groups.md
index 204c7c5e5fd..3e1d80bb8e5 100644
--- a/ydb/docs/ru/core/maintenance/manual/adding_storage_groups.md
+++ b/ydb/docs/ru/core/maintenance/manual/adding_storage_groups.md
@@ -1,22 +1,38 @@
# Добавление групп хранения
-Добавить новые группы можно с помощью команды ```dstool group add```. Количество новых групп
-задается с помощью опции ```--groups```. Например, чтобы добавить 10 групп в пул ```/ydb_pool```,
-нужно ввести команду:
+По мере роста объема хранимых данных может понадобиться добавление дисков в кластер {{ ydb-short-name }}. Диски могут быть добавлены в уже существующие узлы или вместе с новыми узлами. Для того, чтобы ресурсы новых дисков стали доступны БД, необходимо добавить [группы хранения](../../concepts/databases.md#storage-groups).
-```
-ydb-dstool.py -e ydb.endpoint group add --pool-name /ydb_pool --groups 10
+Чтобы добавить новые группы хранения, воспользуйтесь утилитой [{{ ydb-short-name }} DSTool](../../administration/ydb-dstool-overview.md).
+
+Просмотрите список пулов хранения кластера:
+
+```bash
+ydb-dstool -e <bs_endpoint> pool list
```
-В случае успеха команда вернет нулевой ```exit status```. Иначе каманда вернет ненулевой статус и
-выведет сообщение об ошибке в ```stderr```.
+>Пример результата:
+>
+>```text
+>┌──────────────┬──────────────────┬────────────────┬──────┬──────────────┬──────────────┐
+>│ BoxId:PoolId │ PoolName │ ErasureSpecies │ Kind │ Groups_TOTAL │ VDisks_TOTAL │
+>├──────────────┼──────────────────┼────────────────┼──────┼──────────────┼──────────────┤
+>│ [1:1] │ /Root/testdb:ROT │ mirror-3-dc │ ROT │ 1 │ 9 │
+>└──────────────┴──────────────────┴────────────────┴──────┴──────────────┴──────────────┘
+>```
-Чтобы попробовать добавить группы без фактического добавления, можно воспользоваться глобальной
-опцией ```dry-run```. Например, чтобы попробовать добавить 100 групп в пул ```/ydb_pool```,
-нужно ввести команду:
+Следующая команда добавит 10 групп в пул `/Root/testdb:ROT`:
+```bash
+ydb-dstool -e <bs_endpoint> group add --pool-name /Root/testdb:ROT --groups 10
```
-ydb-dstool.py --dry-run -e ydb.endpoint group add --pool-name /ydb_pool --groups 100
+
+В случае успеха команда вернет нулевой `exit status`. Иначе команда вернет ненулевой статус и
+выведет сообщение об ошибке в `stderr`.
+
+Чтобы проверить возможность добавления групп без фактического добавления, используйте глобальный параметр `--dry-run`. Следующая команда проверит возможность добавления 100 групп в пул `/Root/testdb:ROT`:
+
+```bash
+ydb-dstool --dry-run -e <bs_endpoint> group add --pool-name /Root/testdb:ROT --groups 100
```
-Опция ```dry-run``` позволяет, например, оценить какое максимальное число групп можно добавить в пул.
+Параметр `--dry-run` позволяет оценить, какое максимальное число групп можно добавить в пул.
diff --git a/ydb/docs/ru/core/maintenance/manual/balancing_load.md b/ydb/docs/ru/core/maintenance/manual/balancing_load.md
index ccf57bd58b5..bd1b4cffe5c 100644
--- a/ydb/docs/ru/core/maintenance/manual/balancing_load.md
+++ b/ydb/docs/ru/core/maintenance/manual/balancing_load.md
@@ -1,23 +1,26 @@
# Балансировка нагрузки на диски
-В {{ ydb-short-name }} нагрузку на диски можно распределить двумя способами:
+В {{ ydb-short-name }} балансировать нагрузку на диски можно двумя способами:
-## Распределить нагрузку равномерно по группам
+* [распределить нагрузку равномерно по группам](#reassign-groups);
+* [распределить VDisk'и равномерно по устройствам](#cluster-balance).
+
+## Распределить нагрузку равномерно по группам {#reassign-groups}
На странице [Hive web-viewer](../embedded_monitoring/hive.md#reassign_groups), в нижней части экрана есть кнопка "Reassign Groups".
-## Разложить VDisk'и равномерно по устройствам
+## Распределить VDisk'и равномерно по устройствам {#cluster-balance}
-Когда VDisk'и расположены на блочных устройствах неравномерно, можно улучшить равноменость двумя способами: ручным и полуавтоматическим.
+В результате некоторых операций, например [декомиссии](../../administration/decommissioning.md), VDisk'и могут быть распределены на блочных устройствах неравномерно. Улучшить равномерность распределения можно одним из способов:
-В ручном случае можно [перевезти VDisk'и](moving_vdisks.md#moving_vdisk) по одному с перегруженных устройств. В полуавтоматическом случае
-можно перевезти VDisk'и по одному с перегруженных устройств с помощью команды:
+* [Перевезти VDisk'и](moving_vdisks.md#moving_vdisk) по одному с перегруженных устройств.
+* Воспользоваться утилитой [{{ ydb-short-name }} DSTool](../../administration/ydb-dstool-overview.md). Следующая команда перевезет VDisk с перегруженного устройства на менее нагруженное:
-```
-ydb-dstool.py -e ydb.endpoint cluster balance
-```
+ ```bash
+ ydb-dstool -e <bs_endpoint> cluster balance
+ ```
-Команда перевозит не более одного VDisk'а за запуск.
+ Команда перевозит не более одного VDisk'а за один запуск.
## Изменение количествa слотов для VDisk'ов на PDisk'ах
diff --git a/ydb/docs/ru/core/maintenance/manual/change_actorsystem_configs.md b/ydb/docs/ru/core/maintenance/manual/change_actorsystem_configs.md
index b3a325bf3e8..5d52d30b8c9 100644
--- a/ydb/docs/ru/core/maintenance/manual/change_actorsystem_configs.md
+++ b/ydb/docs/ru/core/maintenance/manual/change_actorsystem_configs.md
@@ -1,4 +1,3 @@
-
# Изменение конфигурации актор-системы
Актор-система основа YDB, каждый компонент системы представляется одним или несколькими акторами.
@@ -115,7 +114,6 @@ ServiceExecutor {
}
```
-
## На статических узлах
Статические узлы берут конфигурацию актор-системы из файла kikimr/cfg/sys.txt.
diff --git a/ydb/docs/ru/core/maintenance/manual/disk_end_space.md b/ydb/docs/ru/core/maintenance/manual/disk_end_space.md
index 6881332ca61..7c39a00bc2a 100644
--- a/ydb/docs/ru/core/maintenance/manual/disk_end_space.md
+++ b/ydb/docs/ru/core/maintenance/manual/disk_end_space.md
@@ -1,4 +1,4 @@
-# Способы освобождения места на физических устройствах
+# Освобождение места на физических устройствах
При исчерпании места на дисках база данных может отвечать ошибками на все запросы. Для сохранения работоспособности рекомендуется удалить часть данных или расширить кластер блочными устройствами.
diff --git a/ydb/docs/ru/core/maintenance/manual/failure_model.md b/ydb/docs/ru/core/maintenance/manual/failure_model.md
index e9de7d837f4..3cbd73c0b56 100644
--- a/ydb/docs/ru/core/maintenance/manual/failure_model.md
+++ b/ydb/docs/ru/core/maintenance/manual/failure_model.md
@@ -1,4 +1,4 @@
-# Способы предотвращения выхода за модель отказа
+# Предотвращение выхода за модель отказа
## Отказал один VDisk в группе хранения {#storage_group_lost_one_disk}
diff --git a/ydb/docs/ru/core/maintenance/manual/index.md b/ydb/docs/ru/core/maintenance/manual/index.md
index 09ac03c6e98..50751779f6f 100644
--- a/ydb/docs/ru/core/maintenance/manual/index.md
+++ b/ydb/docs/ru/core/maintenance/manual/index.md
@@ -1,26 +1,22 @@
-# Обслуживание дисковой подсистемы кластера
+# Обзор управления дисковой подсистемой кластера
-Управлять дисковой подсистемой кластера помогает утилита [ydb-dstool.py](ydb-dstool.md).
+Управление дисковой подсистемой кластера включает следующие действия:
-## Решение проблем неработоспособности кластера
+* Изменение конфигурации:
-Кластер может быть неработоспособен по ряду причин:
+ * [{#T}](cluster_expansion.md).
+ * [{#T}](adding_storage_groups.md).
-* Возможен [выход за модель отказа](failure_model.md), из-за которого чтение и запись в группу хранения полностью останавливается.
+* Обслуживание:
-* Несбалансированная нагрузка на диски может сильно повлиять на время обработки запросов. Способы балансировки написаны в следующей [статье](balancing_load.md).
+ * [{#T}](node_restarting.md).
+ * [{#T}](scrubbing.md).
+ * [{#T}](selfheal.md).
+ * [{#T}](../../administration/decommissioning.md).
+ * [{#T}](moving_vdisks.md).
-* Окончание свободного места на нескольких физических дисках тоже может остановить запись, которое можно решить [освобождением места](disk_end_space.md) либо [расширением кластера](cluster_expansion.md) блочными устройствами.
+* Решение проблем:
-Несанкционированный вывод узлов может повлечь за собой выше описанные проблемы, для предотвращения возможных проблем следует правильно [выводить узлы в техническое обслуживание](node_restarting.md).
-
-Профилактикой тоже будет служить включение [Scrubbing](scrubbing.md) и [SelfHeal](selfheal.md).
-
-## Изменение конфигурации кластера
-
-Кластер {{ ydb-short-name }} позволяет:
-
-* проводить [расширение](cluster_expansion.md) устройств и узлов.
-* [Конфигурировать](change_actorsystem_configs.md) актор-систему на узлах.
-* Изменять конфиги через [CMS](cms.md).
-* [Добавлять](adding_storage_groups.md) новые группы хранения.
+ * [{#T}](failure_model.md).
+ * [{#T}](balancing_load.md).
+ * [{#T}](disk_end_space.md).
diff --git a/ydb/docs/ru/core/maintenance/manual/moving_vdisks.md b/ydb/docs/ru/core/maintenance/manual/moving_vdisks.md
index 5e388b3515f..778d010ea50 100644
--- a/ydb/docs/ru/core/maintenance/manual/moving_vdisks.md
+++ b/ydb/docs/ru/core/maintenance/manual/moving_vdisks.md
@@ -1,57 +1,59 @@
# Перевоз VDisk'ов
-## Увезти один из VDisk'ов с блочного устройства {#moving_vdisk}
+Иногда бывает нужно освободить блочное устройство для замены оборудования. Или один из VDisk'ов интенсивно используется и влияет на производительность остальных VDisk'ов, находящихся на том же PDisk'е. В этих случаях необходимо выполнить перевоз VDisk'ов.
-Для того чтобы перевезти VDisk'и с блочного устройства, надо зайти на узел по ssh и выполнить следующую команду.
+## Перевезти один из VDisk'ов с блочного устройства {#moving_vdisk}
+
+Получите список идентификаторов VDisk'ов с помощью утилиты [{{ ydb-short-name }} DSTool](../../administration/ydb-dstool-overview.md):
```bash
-ydb-dstool.py -e ydb.endpoint vdisk evict --vdisk-ids VDISK_ID1 ... VDISK_IDN
-kikimr admin bs config invoke --proto 'Command { ReassignGroupDisk { GroupId: <ID группы хранения> GroupGeneration: <Поколение группы хранения> FailRealmIdx: <FailRealm> FailDomainIdx: <FailDomain> VDiskIdx: <Номер слота> } }'
+ydb-dstool -e <bs_endpoint> vdisk list --format tsv --columns VDiskId --no-header
```
-, где ```VDISK_ID1 ... VDISK_IDN``` - это список айдишников вдисков, разделенных пробелами, вида ```[GroupId:GroupGeneration:FailRealmIdx:FailDomainIdx:VDiskIdx], а
-
-* GroupId: <ID группы хранения>
-* GroupGeneration: <Поколение группы хранения>
-* FailRealmIdx: <FailRealm>
-* FailDomainIdx: <FailDomain>
-* VDiskIdx: <Номер слота>
-Список айдишников вдисков можно получить, например, при помощи команды:
+Чтобы перевезти VDisk'и с блочного устройства, выполните на узле следующие команды:
-```
-ydb-dstool.py -e ydb.endpoint vdisk list --format tsv --columns VDiskId --no-header
+```bash
+ydb-dstool -e <bs_endpoint> vdisk evict --vdisk-ids VDISK_ID1 ... VDISK_IDN
+ydbd admin bs config invoke --proto 'Command { ReassignGroupDisk { GroupId: <ID группы хранения> GroupGeneration: <Поколение группы хранения> FailRealmIdx: <FailRealm> FailDomainIdx: <FailDomain> VDiskIdx: <Номер слота> } }'
```
-## Перевезти VDisk'и со сломанного/отсутствующего устройства {#removal_from_a_broken_device}
+* `VDISK_ID1 ... VDISK_IDN` — список идентификаторов VDisk'ов, вида `[GroupId:GroupGeneration:FailRealmIdx:FailDomainIdx:VDiskIdx]`. Идентификаторы разделяются пробелами.
+* `GroupId` — ID группы хранения.
+* `GroupGeneration` — поколение группы хранения.
+* `FailRealmIdx` — номер fail realm.
+* `FailDomainIdx` — номер fail domain.
+* `VDiskIdx` — номер слота.
-В случае если SelfHeal выключен или не перевозит VDisk'и, данную операцию придется выполнить вручную.
+## Перевезти VDisk'и со сломанного/отсутствующего устройства {#removal_from_a_broken_device}
-1. Убедиться в мониторинге, что VDisk действительно в нерабочем состоянии.
+В случае, если SelfHeal выключен или не перевозит VDisk'и автоматически, перевоз нужно выполнить вручную:
-2. Получить ```[NodeId:PDiskId]``` нужного диска, например, с помощью команды
+1. Откройте [мониторинг](../../maintenance/embedded_monitoring/ydb_monitoring.md) и убедитесь, что VDisk в нерабочем состоянии.
+1. Получите `[NodeId:PDiskId]` нужного диска с помощью утилиты [{{ ydb-short-name }} DSTool](../../administration/ydb-dstool-overview.md):
```bash
- ydb-dstool.py -e ydb.endpoint vdisk list | fgrep VDISK_ID
+ ydb-dstool -e <bs_endpoint> vdisk list | fgrep VDISK_ID
```
-3. Выполнить перевоз VDisk'а
+1. Перевезите VDisk:
```bash
- ydb-dstool.py -e ydb.endpoint pdisk set --status BROKEN --pdisk-ids "[NodeId:PDiskId]"
+ ydb-dstool -e <bs_endpoint> pdisk set --status BROKEN --pdisk-ids "[NodeId:PDiskId]"
```
## Вернуть PDisk после развоза {#return_a_device_to_work}
-1. Убедиться в мониторинге, что PDisk в рабочем состоянии
+Чтобы вернуть PDisk после развоза:
-2. Получить ```[NodeId:PDiskId]``` нужного диска, например, с помощью команды
+1. Откройте [мониторинг](../../maintenance/embedded_monitoring/ydb_monitoring.md) и убедитесь, что PDisk в рабочем состоянии.
+1. Получите `[NodeId:PDiskId]` нужного диска с помощью утилиты [{{ ydb-short-name }} DSTool](../../administration/ydb-dstool-overview.md):
```bash
- ydb-dstool.py -e ydb.endpoint pdisk list
+ ydb-dstool -e <bs_endpoint> pdisk list
```
-3. Вернуть PDisk
+1. Верните PDisk:
```bash
- ydb-dstool.py -e ydb.endpoint pdisk set --status ACTIVE --pdisk-ids "[NodeId:PDiskId]"
+ ydb-dstool -e <bs_endpoint> pdisk set --status ACTIVE --pdisk-ids "[NodeId:PDiskId]"
```
diff --git a/ydb/docs/ru/core/maintenance/manual/node_restarting.md b/ydb/docs/ru/core/maintenance/manual/node_restarting.md
index 1290abd75fb..8128bc770cc 100644
--- a/ydb/docs/ru/core/maintenance/manual/node_restarting.md
+++ b/ydb/docs/ru/core/maintenance/manual/node_restarting.md
@@ -1,4 +1,4 @@
-# Безопасные рестарт и выключение узлов
+# Безопасный рестарт и выключение узлов
## Остановка/рестарт процесса ydb на узле {#restart_process}
diff --git a/ydb/docs/ru/core/maintenance/manual/scrubbing.md b/ydb/docs/ru/core/maintenance/manual/scrubbing.md
index bc42548a11f..f530416798b 100644
--- a/ydb/docs/ru/core/maintenance/manual/scrubbing.md
+++ b/ydb/docs/ru/core/maintenance/manual/scrubbing.md
@@ -1,19 +1,21 @@
-# Включение/выключение Scrubbing
+# Включение и выключение Scrubbing
-Scrubbing процесс работает на кластере в бэкграунде. Он читает данные, проверяет их на целостность и, если нужно, востанавливает их целостность. Scrubbing работает циклами. У пользователя есть возможность регулировать интервал времени, который проходит от начала предыдущего цикла диска до начала следующего. Например, чтобы задать интервал равный 48 часам, введите команду:
+Scrubbing-процесс читает данные, проверяет их на целостность и, если нужно, восстанавливает ее. Процесс запущен по умолчанию, интервал между окончанием проверки и запуском следующей — 1 месяц. Вы можете изменить интервал с помощью утилиты [{{ ydb-short-name }} DSTool](../../administration/ydb-dstool-overview.md). Проверяются данные, последний доступ к которым был раньше времени предыдущей проверки. Scrubbing-процесс запускается или останавливается для всего кластера {{ ydb-short-name }}. Проверка выполняется в фоне и не перегружает систему.
-```
-ydb-dstool.py -e ydb.endpoint cluster set --scrub-periodicity 48h
+Чтобы задать интервал в 48 часов, выполните команду:
+
+```bash
+ydb-dstool -e <bs_endpoint> cluster set --scrub-periodicity 48h
```
-Значение по умолчанию — 1 месяц. Выключить scrubbing процесс на кластере можно следующей командой:
+Так же можно указать максимальное число дисков кластера, которые будут проверяться одновременно. Например, чтобы проверять одновременно не более одного диска, выполните команду:
-```
-ydb-dstool.py -e ydb.endpoint cluster set --scrub-periodicity disable
+```bash
+ydb-dstool -e <bs_endpoint> cluster set --max-scrubbed-disks-at-once
```
-Так же можно регулировать максимальное число дисков кластера, которые могут скрабиться одновременно. Например, чтобы задать максимально число дисков равным 1, введите команду:
+Чтобы остановить scrubbing-процесс на кластере, выполните команду:
-```
-ydb-dstool.py -e ydb.endpoint cluster set --max-scrubbed-disks-at-once
+```bash
+ydb-dstool -e <bs_endpoint> cluster set --scrub-periodicity disable
```
diff --git a/ydb/docs/ru/core/maintenance/manual/selfheal.md b/ydb/docs/ru/core/maintenance/manual/selfheal.md
index 236d0911bb4..43d061b9386 100644
--- a/ydb/docs/ru/core/maintenance/manual/selfheal.md
+++ b/ydb/docs/ru/core/maintenance/manual/selfheal.md
@@ -5,30 +5,27 @@
SelfHeal используется для сохранения работоспособности и отказоустойчивости кластера, если невозможно быстро восстановить вышедшие из строя узлы или устройства.
SelfHeal позволяет:
+
* обнаружить неисправные элементы системы;
* перенести неисправные элементы в щадящем режиме без потери данных и расформирования групп хранения.
-По умолчанию SelfHeal включен.
+SelfHeal включен по умолчанию.
## Включение и выключение SelfHeal {#on-off}
-{% list tabs %}
-
-- Включить SelfHeal
+Вы можете включать и выключать SelfHeal с помощью утилиты [{{ ydb-short-name }} DSTool](../../administration/ydb-dstool-overview.md).
- Чтобы включить ```self-healing``` выполните команду:
+Чтобы включить SelfHeal выполните команду:
- ```bash
- ydb-dstool.py -e ydb.endpoint cluster set --enable-self-heal
- ```
-
-- Выключить SelfHeal
+```bash
+ydb-dstool -e <bs_endpoint> cluster set --enable-self-heal
+```
- Чтобы выключить ```self-healing``` выполните команду:
+Чтобы выключить SelfHeal выполните команду:
- ```bash
- ydb-dstool.py -e ydb.endpoint cluster set --disable-self-heal
- ```
+```bash
+ydb-dstool -e <bs_endpoint> cluster set --disable-self-heal
+```
{% endlist %}
@@ -73,11 +70,11 @@ SelfHeal позволяет:
Диск-донор — это предыдущий VDisk после переноса данных, который продолжает хранить свои данные и отвечает только на запросы чтения от нового VDisk'а. При переносе с включенными дисками-донорами предыдущие VDisk'и продолжают функционировать до тех пор, пока данные не будут полностью перенесены на новые диски. Чтобы предотвратить потерю данных при переносе VDisk'а, включите возможность использования дисков-доноров:
```bash
-ydb-dstool.py -e ydb.endpoint cluster set --enable-donor-mode
+ydb-dstool -e <bs_endpoint> cluster set --enable-donor-mode
```
Чтобы выключить диски-доноры, введите команду:
```bash
-ydb-dstool.py -e ydb.endpoint cluster set --disable-donor-mode
+ydb-dstool -e <bs_endpoint> cluster set --disable-donor-mode
```
diff --git a/ydb/docs/ru/core/maintenance/manual/toc_i.yaml b/ydb/docs/ru/core/maintenance/manual/toc_i.yaml
index d368bd817bd..dd8085ea785 100644
--- a/ydb/docs/ru/core/maintenance/manual/toc_i.yaml
+++ b/ydb/docs/ru/core/maintenance/manual/toc_i.yaml
@@ -1,27 +1,27 @@
items:
-- name: Установка ydb-dstool
- href: ydb-dstool.md
-- name: Способы предотвращения выхода за модель отказа
- href: failure_model.md
-- name: Балансировка нагрузки на диски
- href: balancing_load.md
-- name: Способы освобождения места на физических устройствах
- href: disk_end_space.md
+- name: "{{ ydb-short-name }} DSTool"
+ items:
+ - name: Обзор
+ href: ../../administration/ydb-dstool-overview.md
+ - name: Установка
+ href: ../../administration/ydb-dstool-setup.md
- name: Расширение кластера
href: cluster_expansion.md
- name: Добавление групп хранения
href: adding_storage_groups.md
-- name: Безопасные рестарт и выключение узлов
+- name: Безопасный рестарт и выключение узлов
href: node_restarting.md
+- name: Включение и выключение Scrubbing
+ href: scrubbing.md
- name: Работа с SelfHeal
href: selfheal.md
-- name: Включение/выключение Scrubbing
- href: scrubbing.md
-- name: Перевоз VDisk'ов
- href: moving_vdisks.md
-- name: Изменение конфигураций через CMS
- href: cms.md
-- name: Изменение конфигурации акторсистемы
- href: change_actorsystem_configs.md
- name: Декомиссия части кластера
href: ../../administration/decommissioning.md
+- name: Перевоз VDisk'ов
+ href: moving_vdisks.md
+- name: Предотвращение выхода за модель отказа
+ href: failure_model.md
+- name: Балансировка нагрузки на диски
+ href: balancing_load.md
+- name: Освобождение места на физических устройствах
+ href: disk_end_space.md
diff --git a/ydb/docs/ru/core/maintenance/manual/ydb-dstool.md b/ydb/docs/ru/core/maintenance/manual/ydb-dstool.md
deleted file mode 100644
index 6de9fdc9142..00000000000
--- a/ydb/docs/ru/core/maintenance/manual/ydb-dstool.md
+++ /dev/null
@@ -1,40 +0,0 @@
-# Утилита ydb-dstool
-
-Утилита ```ydb-dstool``` помогает реализовывать различные сценарии управления распределенным хранилищем кластера.
-
-## Как запускать ydb-dstool
-
-### Склонировать репозиторий
-
-```bash
-user@host:~$ mkdir github
-user@host:~$ cd github
-user@host:~$ git clone https://github.com/ydb-platform/ydb.git
-```
-
-### Установить библиотеку grpc_tools
-
-Выполните шаги, которые описаны на странице https://grpc.io/docs/languages/python/quickstart.
-
-### Скомпилировать proto файлы
-
-```bash
-user@host:~$ cd ~/github/ydb
-user@host:~/github/ydb$ ydb_root=$(pwd)
-user@host:~/github/ydb$ chmod +x ydb/apps/dstool/compile_protos.py
-user@host:~/github/ydb$ ./ydb/apps/dstool/compile_protos.py --ydb-root ${ydb_root} 2>/dev/null
-```
-
-### Настроить параметры запуска
-
-```bash
-user@host:~$ cd ~/github/ydb
-user@host:~/github/ydb$ export PATH=$PATH:${ydb_root}/ydb/apps/dstool
-user@host:~/github/ydb$ export PYTHONPATH=$PYTHONPATH:${ydb_root}
-user@host:~/github/ydb$ chmod +x ./ydb/apps/dstool/ydb-dstool.py
-```
-### Теперь можно выполнять команды
-
-```bash
-user@host:~/github/ydb$ ydb-dstool.py -e ydb.endpoint cluster list
-```
diff --git a/ydb/docs/ru/core/maintenance/toc_i.yaml b/ydb/docs/ru/core/maintenance/toc_i.yaml
index d8ea264495d..01fd2045720 100644
--- a/ydb/docs/ru/core/maintenance/toc_i.yaml
+++ b/ydb/docs/ru/core/maintenance/toc_i.yaml
@@ -7,5 +7,9 @@ items:
items:
- name: Встроенный UI
include: { mode: link, path: embedded_monitoring/toc_p.yaml }
- - name: Обслуживание дисковой подсистемы кластера
- include: { mode: link, path: manual/toc_p.yaml } \ No newline at end of file
+ - name: Управление дисковой подсистемой кластера
+ include: { mode: link, path: manual/toc_p.yaml }
+ - name: Изменение конфигурации актор-системы
+ href: manual/change_actorsystem_configs.md
+ - name: Изменение конфигураций через CMS
+ href: manual/cms.md