---
metadata:
  - name: generator
    content: Diplodoc Platform v5.61.1
alternate:
  - https://ydb.tech/docs/en/devops/configuration-management/configuration-v2/static-group-self-heal.md
  - https://ydb.tech/docs/ru/devops/configuration-management/configuration-v2/static-group-self-heal.md
  - href: https://ydb.tech/docs/ru/devops/configuration-management/configuration-v2/static-group-self-heal.md
    type: text/markdown
    title: Markdown version
  - href: https://ydb.tech/docs/ru/llms.txt
    rel: describedby
sourcePath: ru/core/devops/configuration-management/configuration-v2/static-group-self-heal.md
---
> **Documentation Index:** Fetch the complete configuration index at https://ydb.tech/docs/ru/llms.txt

# SelfHeal статической группы

<!-- source: ru/devops/configuration-management/_includes/experimental_v2.md -->
{% note warning %}

Эта статья посвящена кластерам YDB, в которых используется [конфигурация V2](https://ydb.tech/docs/ru/devops/configuration-management/configuration-v2/index.md). Данный способ конфигурирования пока является экспериментальным и доступен только для версий YDB начиная с v25.1. Для использования в продакшене мы рекомендуем выбирать [конфигурацию V1](https://ydb.tech/docs/ru/devops/configuration-management/index.md) — она является основной и официально поддерживаемой для всех кластеров YDB.

{% endnote %}
<!-- endsource: ru/devops/configuration-management/_includes/experimental_v2.md -->

При использовании [конфигурации V2](https://ydb.tech/docs/ru/devops/configuration-management/configuration-v2/index.md) механизм [SelfHeal](https://ydb.tech/docs/ru/devops/concepts/selfheal-storage.md) может автоматически переносить VDisk статической группы с неисправных PDisk и восстанавливать отказоустойчивость группы.

{% note warning %}

На кластерах с [конфигурацией V1](https://ydb.tech/docs/ru/devops/configuration-management/configuration-v1/config-overview.md) SelfHeal статической группы включить нельзя.

{% endnote %}

Общий механизм SelfHeal обнаруживает неисправный PDisk и инициирует перенос VDisk. Для динамических групп конфигурацию изменяет [Blob Storage Controller](https://ydb.tech/docs/ru/concepts/glossary.md#ds-controller), а конфигурацию статической группы изменяет [распределённая конфигурация](https://ydb.tech/docs/ru/concepts/glossary.md#distributed-configuration).

Чтобы разрешить распределённой конфигурации автоматически изменять статическую группу, включите параметр [`self_management_config.automatic_static_group_management`](https://ydb.tech/docs/ru/reference/configuration/self_management_config.md#parameters). По умолчанию этот параметр выключен.

## Включение и выключение SelfHeal статической группы {#on-off}

Для работы SelfHeal статической группы должны быть включены:

* [распределённая конфигурация](https://ydb.tech/docs/ru/concepts/glossary.md#distributed-configuration) V2 — [`self_management_config.enabled: true`](https://ydb.tech/docs/ru/reference/configuration/self_management_config.md#parameters);
* общий механизм SelfHeal, который [включён по умолчанию](https://ydb.tech/docs/ru/devops/concepts/selfheal-storage.md#on-off).

Параметр `self_management_config.enabled` включает саму распределённую конфигурацию. Параметр `self_management_config.automatic_static_group_management` отдельно разрешает автоматический перенос VDisk статической группы.

Чтобы включить или выключить автоматическое управление статической группой:

1. Получите текущую конфигурацию кластера с помощью команды [ydb admin cluster config fetch](https://ydb.tech/docs/ru/reference/ydb-cli/commands/configuration/cluster/fetch.md):

    ```bash
    ydb [global options...] admin cluster config fetch > config.yaml
    ```

1. В конфигурационном файле `config.yaml` установите значения параметров `self_management_config.enabled` и `self_management_config.automatic_static_group_management`:

    ```yaml
    config:
      self_management_config:
        enabled: true
        automatic_static_group_management: true
    ```

    Значение `self_management_config.automatic_static_group_management: true` включает автоматическое управление статической группой, а `false` — выключает.

1. Примените новую конфигурацию с помощью команды [ydb admin cluster config replace](https://ydb.tech/docs/ru/reference/ydb-cli/commands/configuration/cluster/replace.md):

    ```bash
    ydb [global options...] admin cluster config replace -f config.yaml
    ```

## Ограничение набора целевых узлов {#allowed-nodes}

По умолчанию SelfHeal может перенести VDisk статической группы на любой подходящий узел. Чтобы ограничить набор целевых узлов, укажите их идентификаторы в параметре [`static_group_self_heal_allowed_nodes`](https://ydb.tech/docs/ru/reference/configuration/self_management_config.md#parameters):

```yaml
config:
  self_management_config:
    enabled: true
    automatic_static_group_management: true
    static_group_self_heal_allowed_nodes:
    - 1
    - 2
    - 3
```

Пустой список означает отсутствие ограничений. Для каждого разрешённого узла выберите подходящий PDisk и проверьте, что его свободная ёмкость не меньше объёма, занятого VDisk на исходном PDisk, плюс эксплуатационный запас до порога предупреждения о заполнении. Единого числового значения запаса нет: ориентируйтесь на порог предупреждения, используемый в мониторинге вашего кластера. Размещение после переноса должно соответствовать [модели отказа](https://ydb.tech/docs/ru/concepts/topology.md#cluster-config).
