Skip to content

Commit

Permalink
Add migration doc
Browse files Browse the repository at this point in the history
  • Loading branch information
mregrock committed Feb 10, 2025
1 parent 8359b38 commit 94a9242
Show file tree
Hide file tree
Showing 8 changed files with 149 additions and 3 deletions.
2 changes: 1 addition & 1 deletion ydb/docs/ru/core/devops/configuration-management/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@

{% note info %}

Начиная с версии v25.1 {{ ydb-short-name }} поддерживает механизм управления кластером, называемый [распределённой конфигурацией](../../concepts/glossary.md#distributed-configuration).
Начиная с версии v25.1 {{ ydb-short-name }} поддерживает механизм управления кластером, называемый [распределённой конфигурацией](../../concepts/glossary.md#distributed-configuration). Если ваш кластер был развёрнут до версии v25.1, то для перехода на неё вы можете обратиться к соответствующей [инструкции](../deployment-options/manual/migration/migration-to-autoconfiguration.md).

{% endnote %}

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
# Обзор миграций кластера

До версии v25.1 конфигурация кластера {{ ydb-short-name }} работала в формате двухуровневой конфигурации: статической и динамической. Подробнее о конфигурации кластера до версии v25.1 можно узнать в разделе [Обзор конфигурации](../before-v25.1/index.md).

Однако начиная с версии v25.1, {{ ydb-short-name }} использует унифицированный подход к конфигурации, в формате единого файла, а также поддерживает автоматическую конфигурацию [статической группы](../../../../concepts/glossary.md#static-group) и [State Storage](../../../../concepts/glossary.md#state-storage). Данный раздел содержит инструкции по миграции кластера {{ ydb-short-name }}, позволяющие перейти на новую конфигурацию в два этапа:

1. Миграция со старой конфигурации на единый формат динамической конфигурации.
2. Миграция с динамической конфигурации на автоматическую.

Основные материалы:

- [{#T}](migration-to-dynconfig.md) - миграция на динамическую конфигурацию.
- [{#T}](migration-to-autoconfiguration.md) - миграция на автоматическую конфигурацию.
- [{#T}](migration-to-manual-configuration.md) - миграция с автоматической конфигурации обратно на ручную.
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
# Миграция на автоматическую конфигурацию State Storage и статической группы

Данный документ содержит инструкции по миграции на [автоматическую конфигурацию](../../../configuration-management/index.md) [State Storage](../../../../concepts/glossary.md#state-storage) и [статической группы](../../../../concepts/glossary.md#static-group) кластера {{ ydb-short-name }}.

Автоматическая конфигурация:

- упрощает управление статической группой и State Storage кластера;
- снижает риск ошибок при конфигурировании;
- обеспечивает более надежную работу кластера;
- является предпочтительным способом конфигурации для кластеров версии v25.1 и выше.

В дальнейшем ручной способ конфигурации State Storage и статической группы будет считаться устаревшим, потому следует мигрировать на автоматическую конфигурацию при первой возможности.

## Исходное состояние

Миграция на автоматическую конфигурацию может быть осуществлена в случае выполнения следующих условий:

1. Кластер {{ydb-short-name}} [обновлен](../../../maintenance/upgrade.md) до версии v25.1 и выше.
2. Кластер {{ydb-short-name}} перешёл на работу с файлом [динамической конфигурации](../before-v25.1/configuration-management/config-overview.md#dynamic-config), согласно данной [инструкции](migration-to-dynconfig.md).
3. Файл динамической конфигурации `config.yaml` разложен по нодам и загружен в систему.

## Процедура миграции

Для включения автоматической конфигурации кластера, необходимо проделать следующие шаги:

1. Получить текущую конфигурацию кластера:

```bash
ydb -e grpc://<node.ydb.tech>:2135 admin config fetch > config.yaml
```

Файл `config.yaml` должен совпадать с конфигурационными файлами, разложенными по нодам кластера.

2. Добавить в `config.yaml` в разделе `config` следующий блок:

```yaml
self_management_config:
enabled: true
```
3. Разложить обновленный конфигурационный файл `config.yaml` по всем нодам кластера.
4. Перезапустить все [статические узлы](../../../../concepts/glossary.md#static-node) кластера с помощью процедуры [rolling-restart](../../../../maintenance/manual/node_restarting.md).
5. При наличии секции `config.domains_config.security_config` в файле `config.yaml`, вынести её в секцию `config`.
6. Удалить из файла `config.yaml` секции `config.blob_storage_config` и `config.domains_config`.
7. Выполнить следующую команду с измененным конфигурационным файлом:

```bash
ydb -e grpc://<node.ydb.tech>:2135 admin storage replace -f config.yaml
```

8. Выложить новый конфигурационный файл на ноды кластера.

В результате проделанных действий кластер будет переведён в режим автоматической конфигурации. Управление [State Storage](../../../../reference/configuration/index.md#domains-state) и [статической группой](../../../../reference/configuration/index.md#blob_storage_config) осуществляется с помощью [распределённой конфигурации](../../../../concepts/glossary.md#distributed-configuration), вносить дополнительные изменения в конфигурацию на нодах не требуется.
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
# Миграция на динамическую конфигурацию

Данный документ содержит инструкции по миграции со [статической конфигурации](../before-v25.1/configuration-management/config-overview.md#static-config) кластера {{ydb-short-name}} на [динамическую конфигурацию](../before-v25.1/configuration-management/config-overview.md#dynamic-config).

## Исходное состояние

Миграция на динамическую конфигурацию может быть осуществлена в случае выполнения следующих условий:

1. Кластер {{ydb-short-name}} [обновлен](../../../maintenance/upgrade.md) до версии 25.1 и выше.
1. Кластер {{ydb-short-name}} сконфигурирован с файлом [статической конфигурации](../before-v25.1/configuration-management/config-overview.md#static-config) `config.yaml`, разложенным по нодам.
2. В систему загружен файл [динамической конфигурации](../before-v25.1/configuration-management/config-overview.md#dynamic-config) `dynconfig.yaml`.

## Переход на динамическую конфигурацию

Для работы кластера с файлом динамической конфигурации, необходимо проделать следующие шаги:

1. Получить текущую динамическую конфигурацию кластера:

```bash
ydb -e grpc://<node.ydb.tech>:2135 admin config fetch > config.yaml
```

2. Разложить файл `config.yaml` по всем нодам кластера, заменив старый файл конфигурации.
3. Выполнить следующую команду с новым конфигурационным файлом:

```bash
ydb -e grpc://<node.ydb.tech>:2135 admin storage replace -f config.yaml
```

4. Перезапустить все узлы кластера с помощью процедуры [rolling-restart](../../../../maintenance/manual/node_restarting.md).

В результате проделанных действий кластер будет переведён в режим работы с файлом динамической конфигурации. Файл статической конфигурации больше не используется.
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
# Миграция на ручную конфигурацию

Данный документ содержит инструкции по миграции на конфигурацию кластера, с ручным управлением [State Storage](../../../../reference/configuration/index.md#domains-state) и [статической группой](../../../../reference/configuration/index.md#blob_storage_config).

{% note info %}

Данная инструкция предназначена для аварийных ситуаций, когда после перехода на автоматическую конфигурацию возникли проблемы и требуется откат на ручное управление. В штатном режиме работы эта процедура не требуется.

{% endnote %}

Исходное состояние: кластер сконфигурирован с одним файлом конфигурации `config.yaml`, с включённым режимом автоконфигурации, разложенным по нодам и залитым в систему.

Для выключения автоматической конфигурации кластера, необходимо выполнить следующие шаги:

1. Получить текущий конфигурацию кластера с помощью команды:

```bash
ydb -e grpc://<node.ydb.tech>:2135 admin storage fetch --full > config.yaml
```

2. Добавить в конфигурацию в разделе `config` следующий блок:

```yaml
self_management_config:
enabled: false
```
3. Выполнить следующую команду с изменённым конфигурационным файлом:
```bash
ydb -e grpc://<node.ydb.tech>:2135 admin storage replace -f config.yaml
```

4. Разложить обновлённый конфигурационный файл по всем нодам кластера.

5. Перезапустить все узлы кластера с помощью процедуры [rolling-restart](../../../../maintenance/manual/node_restarting.md).

В результате проделанных действий кластер будет переведён в режим ручного управления State Storage и статической группой.
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
items:
- name: Миграция на динамическую конфигурацию
href: migration-to-dynconfig.md
- name: Миграция на автоматическую конфигурацию
href: migration-to-autoconfiguration.md
- name: Миграция на ручную конфигурацию
href: migration-to-manual-configuration.md
4 changes: 4 additions & 0 deletions ydb/docs/ru/core/devops/deployment-options/manual/toc_p.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -14,3 +14,7 @@ items:
include:
mode: link
path: before-v25.1/toc_p.yaml
- name: Миграции
include:
mode: link
path: migration/toc_p.yaml
2 changes: 0 additions & 2 deletions ydb/docs/ru/core/maintenance/manual/toc_i.yaml
Original file line number Diff line number Diff line change
@@ -1,6 +1,4 @@
items:
- name: Обновление конфигурации
href: ../../devops/deployment-options/manual/update-config.md
- name: Расширение кластера
href: cluster_expansion.md
- name: Добавление групп хранения
Expand Down

0 comments on commit 94a9242

Please sign in to comment.