aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorIlia Shakhov <pixcc@ydb.tech>2024-11-25 14:17:36 +0300
committerGitHub <noreply@github.com>2024-11-25 14:17:36 +0300
commitc7c0c65fc1d4cd11ad69f666e1cb560e6173c485 (patch)
tree600d8e9f58981781e5fc1ccf27c952e8e41375bd
parent346aedca9e388acf1b1de44416081aabea462026 (diff)
downloadydb-c7c0c65fc1d4cd11ad69f666e1cb560e6173c485.tar.gz
Update ydbops examples for CMS docs (#11793)
-rw-r--r--ydb/docs/en/core/devops/manual/maintenance-without-downtime.md31
-rw-r--r--ydb/docs/ru/core/devops/manual/maintenance-without-downtime.md31
2 files changed, 46 insertions, 16 deletions
diff --git a/ydb/docs/en/core/devops/manual/maintenance-without-downtime.md b/ydb/docs/en/core/devops/manual/maintenance-without-downtime.md
index 69d9a33a89..a903c41b25 100644
--- a/ydb/docs/en/core/devops/manual/maintenance-without-downtime.md
+++ b/ydb/docs/en/core/devops/manual/maintenance-without-downtime.md
@@ -80,26 +80,41 @@ The action can be performed if the checks are successful, and temporary locks ar
## Examples {#examples}
-The [ydbops](https://github.com/ydb-platform/ydbops) utility tool uses CMS for cluster maintenance without downtime. You can also use the CMS directly through the [gRPC API](https://github.com/ydb-platform/ydb/blob/main/ydb/public/api/grpc/draft/ydb_maintenance_v1.proto).
+The [ydbops](../../reference/ydbops/index.md) utility tool uses CMS for cluster maintenance without downtime. You can also use the CMS directly through the [gRPC API](https://github.com/ydb-platform/ydb/blob/main/ydb/public/api/grpc/draft/ydb_maintenance_v1.proto).
### Rolling restart {##rolling-restart}
To perform a rolling restart of the entire cluster, you can use the command:
```bash
-$ ydbops restart --endpoint grpc://<cluster-fqdn> --availability-mode strong
+$ ydbops restart
```
-If your systemd unit name is different from the default one, you may need to override it with `--systemd-unit` flag.
+The default availability mode is `strong`. This mode minimizes the risk of availability loss. Use the `--availability-mode` parameter to override the default availability mode.
The `ydbops` utility will automatically create a maintenance task to restart the entire cluster using the given availability mode. As it progresses, the `ydbops` will refresh the maintenance task and acquire exclusive locks on the nodes in the CMS until all nodes are restarted.
-### Take out a node for maintenance {#node-maintenance}
+### Take out a host for maintenance {#host-maintenance}
-{% note info "Functionality in development" %}
+To take out a host for maintenance, follow these steps:
-Functionality is expected in upcoming versions of the `ydbops`.
+1. Create a maintenance task using the command:
-{% endnote %}
+ ```bash
+ $ ydbops maintenance create --hosts=<fqdn> --duration=<seconds>
+ ```
+
+ This command creates a maintenance task that will acquire an exclusive lock for `<seconds>` seconds on the host with the fully qualified domain name `<fqdn>`.
+2. After creating a task, refresh its state until the lock is taken, using the command:
+
+ ```bash
+ $ ydbops maintenance refresh --task-id=<id>
+ ```
+
+ This command refreshes the task with identifier `<id>` and attempts to acquire the required lock. When a `PERFORMED` response is received, proceed to the next step.
+3. Perform host maintenance while the lock is acquired.
+4. After the maintenance is complete, release the lock using the command:
-To take out a node for maintenance, you can use the `ydbops` utility. When taking a node out, the `ydbops` will acquire an exclusive lock on this node in CMS.
+ ```bash
+ $ ydbops maintenance complete --task-id=<id> --hosts=<fqdn>
+ ```
diff --git a/ydb/docs/ru/core/devops/manual/maintenance-without-downtime.md b/ydb/docs/ru/core/devops/manual/maintenance-without-downtime.md
index e81c1add5d..ff753e5e03 100644
--- a/ydb/docs/ru/core/devops/manual/maintenance-without-downtime.md
+++ b/ydb/docs/ru/core/devops/manual/maintenance-without-downtime.md
@@ -80,26 +80,41 @@
## Примеры {#examples}
-Утилита [ydbops](https://github.com/ydb-platform/ydbops) использует CMS для проведения обслуживания кластера без потери доступности. Также CMS можно использовать напрямую через [gRPC API](https://github.com/ydb-platform/ydb/blob/main/ydb/public/api/grpc/draft/ydb_maintenance_v1.proto).
+Утилита [ydbops](../../reference/ydbops/index.md) использует CMS для проведения обслуживания кластера без потери доступности. Также CMS можно использовать напрямую через [gRPC API](https://github.com/ydb-platform/ydb/blob/main/ydb/public/api/grpc/draft/ydb_maintenance_v1.proto).
### Rolling restart {#rolling-restart}
Чтобы выполнить rolling restart всего кластера можно воспользоваться командой:
```bash
-$ ydbops restart --endpoint grpc://<cluster-fqdn> --availability-mode strong
+$ ydbops restart
```
-Если используемое имя systemd unit отличается от стандартного, его можно переопределить с помощью флага `--systemd-unit`.
+По умолчанию, будет использован режим доступности `strong`, минимизирующий риск потери доступности. Его можно переопределить с помощью параметра `--availability-mode`.
Утилита `ydbops` автоматически создаст задачу обслуживания на рестарт всего кластера, используя указанный режим доступности. По ходу продвижения `ydbops` будет обновлять задачу обслуживания и получать эксклюзивные блокировки на узлы в CMS, пока все узлы не будут перезапущены.
-### Вывести узел для обслуживания {#node-maintenance}
+### Вывести хост для обслуживания {#host-maintenance}
-{% note info "Функциональность в разработке" %}
+Чтобы вывести хост для обслуживания, выполните следующие шаги:
-Функциональность ожидается в ближайших версиях `ydbops`.
+1. Cоздать задачу обслуживания с помощью команды:
-{% endnote %}
+ ```bash
+ $ ydbops maintenance create --hosts=<fqdn> --duration=<seconds>
+ ```
+
+ Эта команда создаст задачу обслуживания, в рамках которой на хост с полным доменным именем `<fqdn>` будет взята эксклюзивная блокировка на `<seconds>` секунд.
+2. После создания задачи необходимо обновлять ее состояние, пока блокировка не будет взята, с помощью команды:
+
+ ```bash
+ $ ydbops maintenance refresh --task-id=<id>
+ ```
+
+ Эта команда обновит задачу с идентификатором `<id>` и попытается взять требуемую блокировку. При получении ответа `PERFORMED` можно переходить к следующему пункту.
+3. Провести обслуживание хоста пока взята блокировка.
+4. После завершения работ необходимо отпустить блокировку на хост с помощью команды:
-Чтобы вывести узел для обслуживания можно воспользоваться утилитой `ydbops`. При выведении узла `ydbops` возьмет эксклюзивную блокировку на этот узел в CMS.
+ ```bash
+ $ ydbops maintenance complete --task-id=<id> --hosts=<fqdn>
+ ```