aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorbazeltsev <bazeltsev@ydb.tech>2023-02-07 14:32:36 +0300
committerbazeltsev <bazeltsev@ydb.tech>2023-02-07 14:32:36 +0300
commitbb37a8b74e61bb96576eca047448e51db75669ca (patch)
tree774eac929dae59970522da8ca413068d83e37ed1
parent5321c3bf793a61c1644a392c9e697e55143cef2f (diff)
downloadydb-bb37a8b74e61bb96576eca047448e51db75669ca.tar.gz
Hided ydb dstool 2
hided
-rw-r--r--ydb/docs/presets.yaml1
-rw-r--r--ydb/docs/ru/core/administration/decommissioning.md6
-rw-r--r--ydb/docs/ru/core/maintenance/manual/adding_storage_groups.md38
-rw-r--r--ydb/docs/ru/core/maintenance/manual/balancing_load.md8
-rw-r--r--ydb/docs/ru/core/maintenance/manual/index.md4
-rw-r--r--ydb/docs/ru/core/maintenance/manual/moving_vdisks.md46
-rw-r--r--ydb/docs/ru/core/maintenance/manual/scrubbing.md11
-rw-r--r--ydb/docs/ru/core/maintenance/manual/selfheal.md102
-rw-r--r--ydb/docs/ru/core/maintenance/manual/toc_i.yaml4
9 files changed, 217 insertions, 3 deletions
diff --git a/ydb/docs/presets.yaml b/ydb/docs/presets.yaml
index 6c160cd8d0..d282d8ff37 100644
--- a/ydb/docs/presets.yaml
+++ b/ydb/docs/presets.yaml
@@ -13,6 +13,7 @@ default:
feature_group_by_rollup_cube: true
feature_window_functions: true
feature_user_and_group: true
+ feature_ydb-tool: false
# feature_logbroker: true
ydb-full-name: YDB
ydb-short-name: YDB
diff --git a/ydb/docs/ru/core/administration/decommissioning.md b/ydb/docs/ru/core/administration/decommissioning.md
index c3d5ada99f..09fe99c41d 100644
--- a/ydb/docs/ru/core/administration/decommissioning.md
+++ b/ydb/docs/ru/core/administration/decommissioning.md
@@ -37,10 +37,14 @@
>
>Описанные шаги повторяются для следующего набора оборудования в ЦОД-1 до тех пор, пока все оборудование не будет перемещено.
+{% if feature_ydb-tool %}
+
Чтобы задать нужное состояние декомиссии диска, можно воспользоваться командой ```ydb-dstool``. Например, следующая команда
```
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
+задает декомит статутс ```DECOMMIT_IMMINENT``` диску с айди ```1000``` на ноде с айди ```1```.
+
+{% endif %}
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 204c7c5e5f..514e39c1c2 100644
--- a/ydb/docs/ru/core/maintenance/manual/adding_storage_groups.md
+++ b/ydb/docs/ru/core/maintenance/manual/adding_storage_groups.md
@@ -1,5 +1,7 @@
# Добавление групп хранения
+{% if feature_ydb-tool %}
+
Добавить новые группы можно с помощью команды ```dstool group add```. Количество новых групп
задается с помощью опции ```--groups```. Например, чтобы добавить 10 групп в пул ```/ydb_pool```,
нужно ввести команду:
@@ -20,3 +22,39 @@ ydb-dstool.py --dry-run -e ydb.endpoint group add --pool-name /ydb_pool --groups
```
Опция ```dry-run``` позволяет, например, оценить какое максимальное число групп можно добавить в пул.
+
+{% else %}
+
+Для добавления групп хранения требуется переопределить конфиг пула в котором требуется расширить.
+
+Перед этим требуется получить конфиг интересуемого пула, это можно сделать следующей командой:
+
+```proto
+Command {
+ ReadStoragePool{
+ BoxId: <box-id>
+ // StoragePoolId: <storage-pool-id>
+ Name: <имя пула>
+ }
+}
+```
+
+```
+kikimr -s <endpoint> admin bs config invoke --proto-file ReadStoragePool.txt
+```
+
+Требуется вставить полученный конфиг пула в protobuf ниже и поменять в нем поле **NumGroups**.
+
+```proto
+Command {
+ DefineStoragePool {
+ <конфиг пула>
+ }
+}
+```
+
+```
+kikimr -s <endpoint> admin bs config invoke --proto-file DefineStoragePool.txt
+```
+
+{% endif %}
diff --git a/ydb/docs/ru/core/maintenance/manual/balancing_load.md b/ydb/docs/ru/core/maintenance/manual/balancing_load.md
index ccf57bd58b..2995c4538e 100644
--- a/ydb/docs/ru/core/maintenance/manual/balancing_load.md
+++ b/ydb/docs/ru/core/maintenance/manual/balancing_load.md
@@ -8,6 +8,8 @@
## Разложить VDisk'и равномерно по устройствам
+{% if feature_ydb-tool %}
+
Когда VDisk'и расположены на блочных устройствах неравномерно, можно улучшить равноменость двумя способами: ручным и полуавтоматическим.
В ручном случае можно [перевезти VDisk'и](moving_vdisks.md#moving_vdisk) по одному с перегруженных устройств. В полуавтоматическом случае
@@ -19,6 +21,12 @@ ydb-dstool.py -e ydb.endpoint cluster balance
Команда перевозит не более одного VDisk'а за запуск.
+{% else %}
+
+В случае, если VDisk'и расположены на блочных устройствах не равномерно, можно [перевезти их](moving_vdisks.md#moving_vdisk) по одному с перегруженных устройств.
+
+{% endif %}
+
## Изменение количествa слотов для VDisk'ов на PDisk'ах
Для добавления групп хранения требуется переопределить конфиг хоста, увеличив для него количество слотов на PDisk'ах.
diff --git a/ydb/docs/ru/core/maintenance/manual/index.md b/ydb/docs/ru/core/maintenance/manual/index.md
index 09ac03c6e9..129d152189 100644
--- a/ydb/docs/ru/core/maintenance/manual/index.md
+++ b/ydb/docs/ru/core/maintenance/manual/index.md
@@ -1,7 +1,11 @@
# Обслуживание дисковой подсистемы кластера
+{% if feature_ydb-tool %}
+
Управлять дисковой подсистемой кластера помогает утилита [ydb-dstool.py](ydb-dstool.md).
+{% endif %}
+
## Решение проблем неработоспособности кластера
Кластер может быть неработоспособен по ряду причин:
diff --git a/ydb/docs/ru/core/maintenance/manual/moving_vdisks.md b/ydb/docs/ru/core/maintenance/manual/moving_vdisks.md
index 5e388b3515..a55c3fccec 100644
--- a/ydb/docs/ru/core/maintenance/manual/moving_vdisks.md
+++ b/ydb/docs/ru/core/maintenance/manual/moving_vdisks.md
@@ -1,5 +1,7 @@
# Перевоз VDisk'ов
+{% if feature_ydb-tool %}
+
## Увезти один из VDisk'ов с блочного устройства {#moving_vdisk}
Для того чтобы перевезти VDisk'и с блочного устройства, надо зайти на узел по ssh и выполнить следующую команду.
@@ -55,3 +57,47 @@ ydb-dstool.py -e ydb.endpoint vdisk list --format tsv --columns VDiskId --no-hea
```bash
ydb-dstool.py -e ydb.endpoint pdisk set --status ACTIVE --pdisk-ids "[NodeId:PDiskId]"
```
+
+{% else %}
+
+## Увезти один из VDisk'ов с блочного устройства {#moving_vdisk}
+
+Для того чтобы перевезти VDisk'и с блочного устройства, надо зайти на узел по ssh и выполнить следующую команду.
+
+```bash
+kikimr admin bs config invoke --proto 'Command { ReassignGroupDisk { GroupId: <ID группы хранения> GroupGeneration: <Поколение группы хранения> FailRealmIdx: <FailRealm> FailDomainIdx: <FailDomain> VDiskIdx: <Номер слота> } }'
+```
+
+Нужную информацию для выполнения команды можно посмотреть во вьювере (ссылка).
+
+## Перевезти VDisk'и со сломанного/отсутствующего устройства {#removal_from_a_broken_device}
+
+В случае если SelfHeal выключен или не перевозит VDisk'и, данную операцию придется выполнить вручную.
+
+1. Убедиться в мониторинге, что VDisk действительно в нерабочем состоянии.
+
+ Записать fqdn узла, ic-port, путь до VDisk'а, pdisk-id
+
+2. Зайти на любой узел кластера
+
+3. Выполнить перевоз VDisk'а
+
+ ```bash
+ kikimr admin bs config invoke --proto 'Command { UpdateDriveStatus { HostKey: { Fqdn: "<host>" IcPort: <ic-port>} Path: "<Путь до партлейбла устройства>" PDiskId: <pdisk-id> Status: BROKEN } }'
+ ```
+
+## Вернуть PDisk после развоза {#return_a_device_to_work}
+
+1. Убедиться в мониторинге, что PDisk в рабочем состоянии
+
+ Записать fqdn узла, ic-port, путь до устройства, pdisk-id
+
+2. Зайти на любой узел кластера
+
+3. Вернуть PDisk
+
+ ```bash
+ kikimr admin bs config invoke --proto 'Command { UpdateDriveStatus { HostKey: { Fqdn: "<host>" IcPort: <ic-port>} Path: "<Путь до партлейбла устройства>" PDiskId: <pdisk-id> Status: ACTIVE } }'
+ ```
+
+{% endif %}
diff --git a/ydb/docs/ru/core/maintenance/manual/scrubbing.md b/ydb/docs/ru/core/maintenance/manual/scrubbing.md
index bc42548a11..f34223e6eb 100644
--- a/ydb/docs/ru/core/maintenance/manual/scrubbing.md
+++ b/ydb/docs/ru/core/maintenance/manual/scrubbing.md
@@ -1,5 +1,7 @@
# Включение/выключение Scrubbing
+{% if feature_ydb-tool %}
+
Scrubbing процесс работает на кластере в бэкграунде. Он читает данные, проверяет их на целостность и, если нужно, востанавливает их целостность. Scrubbing работает циклами. У пользователя есть возможность регулировать интервал времени, который проходит от начала предыдущего цикла диска до начала следующего. Например, чтобы задать интервал равный 48 часам, введите команду:
```
@@ -17,3 +19,12 @@ ydb-dstool.py -e ydb.endpoint cluster set --scrub-periodicity disable
```
ydb-dstool.py -e ydb.endpoint cluster set --max-scrubbed-disks-at-once
```
+
+{% else %}
+
+Настройки Scrub позволяют регулировать интервал времени, который проходит от начала предыдущего цикла скраббинга диска до начала следующего, а также максимальное число дисков, которые могут скрабиться одновременно. Значение по умолчанию — 1 месяц.
+`$ kikimr admin bs config invoke --proto 'Command { UpdateSettings { ScrubPeriodicitySeconds: 86400 MaxScrubbedDisksAtOnce: 1 } }'`
+
+В случае, если ScrubPeriodicitySeconds равен 0, то Scrubbing выключен.
+
+{% endif %}
diff --git a/ydb/docs/ru/core/maintenance/manual/selfheal.md b/ydb/docs/ru/core/maintenance/manual/selfheal.md
index 236d0911bb..19b21b663d 100644
--- a/ydb/docs/ru/core/maintenance/manual/selfheal.md
+++ b/ydb/docs/ru/core/maintenance/manual/selfheal.md
@@ -12,6 +12,8 @@ SelfHeal позволяет:
## Включение и выключение SelfHeal {#on-off}
+{% if feature_ydb-tool %}
+
{% list tabs %}
- Включить SelfHeal
@@ -32,6 +34,86 @@ SelfHeal позволяет:
{% endlist %}
+{% else %}
+
+{% list tabs %}
+
+- Включить SelfHeal
+
+ 1. Чтобы включить обнаружение неисправных элементов, откройте страницу `http://localhost:8765/cms#show=config-items-25`.
+ 1. Зайдите на любой узел.
+ 1. Составьте файл обновленной конфигурации с включенным параметром `SentinelConfig { Enable: true }`.
+
+ Пример файла `config.txt`:
+
+ ```text
+ Actions {
+ AddConfigItem {
+ ConfigItem {
+ Config {
+ CmsConfig {
+ SentinelConfig {
+ Enable: true
+ }
+ }
+ }
+ }
+ }
+ }
+ ```
+
+ 1. Выполните команду:
+
+ ```bash
+ kikimr admin console configs update config.txt
+ ```
+
+ 1. Чтобы включить перенос данных, выполните команду:
+
+ ```bash
+ kikimr -s <endpoint> admin bs config invoke --proto 'Command{EnableSelfHeal{Enable: true}}'
+ ```
+
+- Выключить SelfHeal
+
+ 1. Чтобы выключить обнаружение неисправных элементов, откройте страницу `http://localhost:8765/cms#show=config-items-25`.
+ 1. Зайдите на любой узел.
+ 1. Составьте файл обновленной конфигурации с выключенным параметром `SentinelConfig { Enable: false }`.
+
+ Пример файла `config.txt`:
+
+ ```text
+ Actions {
+ AddConfigItem {
+ ConfigItem {
+ Config {
+ CmsConfig {
+ SentinelConfig {
+ Enable: false
+ }
+ }
+ }
+ }
+ }
+ }
+ ```
+
+ 1. Выполните команду:
+
+ ```bash
+ kikimr admin console configs update config.txt
+ ```
+
+ 1. Чтобы выключить перенос данных, выполните команду:
+
+ ```bash
+ kikimr -s <endpoint> admin bs config invoke --proto 'Command{EnableSelfHeal{Enable: false}}'
+ ```
+
+{% endlist %}
+
+{% endif %}
+
## Настройки SelfHeal {#settings}
Вы можете настроить SelfHeal в **Viewer** → **Cluster Management System** → **CmsConfigItems**.
@@ -70,6 +152,8 @@ SelfHeal позволяет:
## Работа с дисками-донорами {#disks}
+{% if feature_ydb-tool %}
+
Диск-донор — это предыдущий VDisk после переноса данных, который продолжает хранить свои данные и отвечает только на запросы чтения от нового VDisk'а. При переносе с включенными дисками-донорами предыдущие VDisk'и продолжают функционировать до тех пор, пока данные не будут полностью перенесены на новые диски. Чтобы предотвратить потерю данных при переносе VDisk'а, включите возможность использования дисков-доноров:
```bash
@@ -81,3 +165,21 @@ ydb-dstool.py -e ydb.endpoint cluster set --enable-donor-mode
```bash
ydb-dstool.py -e ydb.endpoint cluster set --disable-donor-mode
```
+
+{% else %}
+
+Чтобы предотвратить потерю данных при переносе VDisk'а, включите возможность использования дисков-доноров:
+
+```bash
+kikimr admin bs config invoke --proto 'Command { UpdateSettings { EnableDonorMode: true } }'
+```
+
+Чтобы выключить диски-доноры, укажите `false` в параметре `EnableDonorMode` той же команды:
+
+```bash
+kikimr admin bs config invoke --proto 'Command { UpdateSettings { EnableDonorMode: false } }'
+```
+
+Диск-донор — это предыдущий VDisk после переноса данных, который продолжает хранить свои данные и отвечает только на запросы чтения от нового VDisk'а. При переносе с включенными дисками-донорами предыдущие VDisk'и продолжают функционировать до тех пор, пока данные не будут полностью перенесены на новые диски.
+
+{% endif %}
diff --git a/ydb/docs/ru/core/maintenance/manual/toc_i.yaml b/ydb/docs/ru/core/maintenance/manual/toc_i.yaml
index d368bd817b..859c6e8d1d 100644
--- a/ydb/docs/ru/core/maintenance/manual/toc_i.yaml
+++ b/ydb/docs/ru/core/maintenance/manual/toc_i.yaml
@@ -1,6 +1,6 @@
items:
-- name: Установка ydb-dstool
- href: ydb-dstool.md
+# - name: Установка ydb-dstool
+# href: ydb-dstool.md
- name: Способы предотвращения выхода за модель отказа
href: failure_model.md
- name: Балансировка нагрузки на диски