/sys/storage
В настоящее время данный подраздел API используется только для управления бэкендом хранилища Raft.
1. /sys/storage/raft
Конечные точки /sys/storage/raft используются для управления бэкендом хранения Raft в StarVault.
1.1. Присоединение к кластеру Raft
Данная конечная точка присоединяет новый серверный узел к кластеру Raft. Когда используется запечатывание Shamir - как только сервер StarVault запущен, этот API должен быть использован вместо sys/init. Этот API выполняется в два этапа. После вызова присоединяющийся узел получит запрос от ведущего узла Raft. Присоединяющийся узел сможет ответить на этот запрос только после успешного распечатывания. Следовательно, присоединяющийся узел должен быть распечатан с помощью ключей распечатывания ведущего узла Raft.
Метод |
Путь |
|
|
1.1.1. Параметры
-
leader_api_addr(string: <required>)– адрес узла-лидера в кластере Raft, к которому этот узел пытается присоединиться. -
retry(bool: false)- в случае сбоев повторить попытку присоединения к кластеру Raft. -
leader_ca_cert(string: "")- сертификат CA, используемый для связи с узлом-лидером Raft. -
leader_client_cert(string: "")- клиентский сертификат, используемый для связи с узлом-лидером Raft. -
leader_client_key(string: "")- клиентский ключ, используемый для связи с узлом-лидером Raft. -
leader_tls_servername(string: "")- имя сервера TLS, используемое при подключении по HTTPS. Должно совпадать с одним из имен в DNS-именах SAN сертификата удаленного сервера. -
auto_join(string: "")- определяет все метаданные автоматического присоединения. Если они указаны, StarVault попытается автоматически обнаружить одноранговые узлы в дополнение к тому, что может быть предоставлено через «leader_api_addr». -
auto_join_scheme(string: "https")- схема URI, которая будет использоваться дляauto_join. -
auto_join_port(int: 8200)- порт, который будет использоваться дляauto_join. -
non_voter(bool: false)- флаг используется для исключения сервера из Raft-кворума, позволяя ему только получать поток репликации данных. На non-voter узел реплицируются все данные StarVault, но он не участвует в подсчете кворума. Данный тип узлов может использоваться для повышения масштабируемости нагрузки на чтение. Значение по умолчанию —false.
{
"leader_api_addr": "https://127.0.0.1:8200",
"leader_ca_cert": "-----BEGIN CERTIFICATE-----\nMIIDKTCCAhGgAwIBAgIUcd+Uyk1Tz+FhcbYP0zmynlkARoEwDQYJKoZIhvcNAQEL\nBQAwFDESMBAGA1UEAxMJbG9jYWxob3N0MB4XDTE5MDYyNDIyMjgzNVoXDTE5MDYy\nNzIyMjkwNVowADCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKdYr6rU\n21vYf7q/cpPigtBchqHvGZvpbA9DZucuUdQ0g4oAXRyShQ8omzmZOmO4A1GI3gqz\nHBePSYl+1IZCwgbPBk2CH7MhlMMINdwoEH6IxFgHNBkNK6GbwnGLyKL0Sym88ly1\n+sPP6+llS8uWNKu5GcObHLysD3Ce6QTt3usDPiw0cxp/KL1EkMi2dT7PvxTsX137\nsEsuQcylltGEtRb67xvFBP8XhQZAEGw+u4S3EmtwWMwZixB45WQhj2Ncz5U0+w8V\ncp9DSqB1QheoGPBBI62jHle05kzG85ZKmLBgHE6HEGS8biIHpannM7dgI0cRH6i2\nF69N0rcbzK+NInUCAwEAAaOBhjCBgzAOBgNVHQ8BAf8EBAMCA6gwHQYDVR0lBBYw\nFAYIKwYBBQUHAwEGCCsGAQUFBwMCMB0GA1UdDgQWBBQelJT5fthHdbCyD5zaI4tw\n7mfp8zAfBgNVHSMEGDAWgBSuG6hyoOWoiGvSA3kqwo9DirS+pzASBgNVHREBAf8E\nCDAGhwR/AAABMA0GCSqGSIb3DQEBCwUAA4IBAQCmetSH5w835RbbyHZD8e3ClHzi\n210SrvzWkx3N0JcBOjs47jlLuqVTl0HRr2xMoIkErFbhPDBXARYV8eezhQ6G5M60\n8AwVsG56rCa1l0weK2JfnEWgkwXZ/zbpZ2yNkWatWNSHdlJwGp99JTSriQYNOnMG\nWvBDA8ukoOkIJd/a8+aXZBdUiAcFvlLWmX73pYGTlnQDiIqJvhrlkgCKPvzZqvV+\njtz7kCt9EfT6sN6Xcny7GusRBSs+XfEe8u10+mbud+ufE/QSJ2D3tTYrS6eGqpVD\nrezD8jS9PfZgQfHXVaphMADyw4flaSVxfJ/ZRFxXql3oJSuj02+VX6QsXex+\n-----END CERTIFICATE-----",
"leader_client_cert": "-----BEGIN CERTIFICATE-----\nMIIDNTCCAh2gAwIBAgIULkPFG+qu7tGv21Plc1sg4eGbMPkwDQYJKoZIhvcNAQEL\nBQAwFDESMBAGA1UEAxMJbG9jYWxob3N0MB4XDTE5MDYyNDIyMjgwNVoXDTI5MDYy\nMTIyMjgzNVowFDESMBAGA1UEAxMJbG9jYWxob3N0MIIBIjANBgkqhkiG9w0BAQEF\nAAOCAQ8AMIIBCgKCAQEAwszD+A5vWD8S1N632ElHA5Px2dk97wJBKNYc/7RPNptn\n+EOmMTXPfuA3LB92FoSMCR7ye3wvSTzyK9nqafS7U2tlOF4PJrJoNZyzrVwBVLXg\n7Pd8qQxnxbonc3bscWZuEfbFsugkPHgBtnSkyCffXKhhwM5LbJqmK5cfJRZZ0eRy\nwmOCQCJ8ZmN2KfjHiGSEw9v19CNtvFNLyfiTZZLO9M5n4dgainZZCs+vdKD7tSJf\nycwWiZ4ezOwLMIgxdbLYKVglbZsPcMVVPLTskmY8WiHUM6sy3HAbFQn20Rj7JGE6\nldR3NX80YtCMt8/d+xzBfxu4x8juxHCgZFGt3nUS0wIDAQABo38wfTAOBgNVHQ8B\nAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUrhuocqDlqIhr0gN5\nKsKPQ4q0vqcwHwYDVR0jBBgwFoAUrhuocqDlqIhr0gN5KsKPQ4q0vqcwGgYDVR0R\nBBMwEYIJbG9jYWxob3N0hwR/AAABMA0GCSqGSIb3DQEBCwUAA4IBAQBRno9NOaat\n8g1ma/6OxP1JUt1VRao4+t2GQTCJ697d2SmpHr8CYanMPog+QhDj/lderA/oS0V3\n2jruH9CyH0smFMIsLBZpnRIwdhTISbIXdU3Uvcd6nne/f7LiUUmqf8YS9SHxWPFq\nI72QvtPrsjYKCZwJsHZe071lYScjrjGnlUhhbrug2g6/ZMHJ7mndGE022zMn/XD/\njrrKE6fCDCjJ4PRrta7+G7BvsFHqMSQ+2/947TGohxW69cbNyDeiQVDQ5mpJUy2b\nnOCVVnq0nafSuvBTHCCLxjd7f+9TiB/B3qT8GA9V6LANDSdQ15MRIhpup/yosmqX\nl5goCY/j3bDh\n-----END CERTIFICATE-----",
"leader_client_key": "-----BEGIN RSA PRIVATE KEY-----\nMIIEpAIBAAKCAQEAp1ivqtTbW9h/ur9yk+KC0FyGoe8Zm+lsD0Nm5y5R1DSDigBd\nHJKFDyibOZk6Y7gDUYjeCrMcF49JiX7UhkLCBs8GTYIfsyGUwwg13CgQfojEWAc0\nGQ0roZvCcYvIovRLKbzyXLX6w8/r6WVLy5Y0q7kZw5scvKwPcJ7pBO3e6wM+LDRz\nGn8ovUSQyLZ1Ps+/FOxfXfuwSy5BzKWW0YS1FvrvG8UE/xeFBkAQbD67hLcSa3BY\nzBmLEHjlZCGPY1zPlTT7DxVyn0NKoHVCF6gY8EEjraMeV7TmTMbzlkqYsGAcTocQ\nZLxuIgelqeczt2AjRxEfqLYXr03StxvMr40idQIDAQABAoIBAHCOhhkw8hnklITX\nIAm34KSklylz2JW1eqkJfL0huogwigjYFciSBE0d0sn69fr8Wb8Nf8tSjSKLjbqd\nQ/TKEhbiSCr5yriBbb2AWDmr+OwisW1D6xaudRpN2Yrlqh1wkt2P6LPS8sehodtp\n9oEIloSqC1o1ii6czAXD3JckJzuJ66yoVyCo2oVC3NETujjJRhdRcNY0dYUGx47M\n+hQo7b4s79wlMFmccrgyJcKI7Ra3DtMrBIaVXm4WcjX2x4DduZX6L4mfG83uLWng\nhbvcEPKGamUErjPGYixKE5XOwgJT6Nzq/ZZJZpok6DbHBCtqvwwByWlfLzh8lc4o\nz+Pl5EECgYEA3pJXRM+SdVUCnWIpMFOAiNstOwz3nm0/c8GDdYYNq0ere1tKCVV0\nii+ujMQY8vEdRrp7fbqJEPJANyI6sM4Jc2nxMveFuBoEsEClZuE4KBFquW8CQU4R\nGNkzKF1W0GaTI5O4QDUag+lFG6TPCwZiejTIkt65o5bnSzGLgdC546sCgYEAwHr9\nlq9HytWkV9OLz0zbcAUEIrFAljnC32Mybsj8LzdSKIZ3wErf9Txh8zqZqMyhedxL\nOn17cpJAq5Vi71uXOaxnhkf7TPuRs8nBRRJfgyNHPXuXLkuWeuvXEe/PIC+nvOIX\nas0Ab0Pvx0fRGl4EkZ2pV9oDAEUezbVVZCoO8l8CgYEAp4p3YNfzwpj0d+5tXPBu\ngBakzJ+tQjewnP1dbLk1TuqLXjdQ2wfVyzOrbFEtCquPwy8bSICDLxt8VURR88eU\n+6kTJK+InBYR029GUtRUhmzd7qpugyQ14IOXa9ofQI8GUbCf8M1IoWWWXQHJzN3I\ngX98QHqiOU+d2k94WYb6dzMCgYA3E7p2oMdZShLRss3hzqtH/Zd2WeQSWIrjox3u\nR4Kp/Bl9UST5GDPHl7SrhcwsWgmmthusq/VkDmeE8aUyurGmJigla3mESMQjfwrX\nue8sti6PcEsNS0HPAKc1EbriCeDkkomC3RBPxk/ZZTp3YgnKpSOs6MxNCnpLAKVj\nmQlX3wKBgQCFYyYJdCKMoaoMrNjMM34sAfTqmZT4Hbxg9KM4OMDSxyvIi0ZaVcnB\nkzssvt0FOMucp4o7h8Iujt8xsgnBHwg81IV7WOw+ZwpUDAzgVc7+kCU6CLd2Q40j\n5uFnuRgiWeGm1aT4arNLWlJrDLSGbyrf59SlGJV1hmu/7SMaYIZHSQ==\n-----END RSA PRIVATE KEY-----"
}
curl \
--request POST \
--data @payload.json \
http://127.0.0.1:8200/v1/sys/storage/raft/join
|
Распечатайте присоединяемый узел сразу после вызова этого API. |
1.2. Чтение конфигурации кластера Raft
Эта конечная точка возвращает сведения обо всех узлах в кластере Raft.
Метод |
Путь |
|
|
curl \
--header "X-Vault-Token: ..." \
http://127.0.0.1:8200/v1/sys/storage/raft/configuration
{
"request_id": "ca4b5a1d-38d6-e27e-e756-269521328a15",
"lease_id": "",
"lease_duration": 0,
"renewable": false,
"data": {
"config": {
"index": 24,
"servers": [
{
"address": "127.0.0.1:8201",
"leader": true,
"node_id": "raft1",
"protocol_version": "\u0003",
"voter": true
},
{
"address": "127.0.0.2:8201",
"leader": false,
"node_id": "raft2",
"protocol_version": "\u0003",
"voter": true
}
]
}
},
"warnings": null
}
1.3. Удаление узла из кластера Raft
Данная конечная точка удаляет узел из кластера Raft.
Метод |
Путь |
|
|
{
"server_id": "raft1"
}
curl \
--header "X-Vault-Token: ..." \
--request POST \
--data @payload.json \
http://127.0.0.1:8200/v1/sys/storage/raft/remove-peer
1.3.1. Создание снимка кластера Raft хранилище
Данная конечная точка возвращает снимок текущего состояния кластера Raft. Снимок возвращается в виде бинарных данных и должен быть перенаправлен в файл. Недоступно, если Raft используется исключительно для ha_storage.
| Метод | Путь |
|---|---|
|
|
1.3.1.1. Большие снимки Raft
Создание и восстановление снимков Raft может превышать стандартные и рекомендуемые настройки таймаута OpenBao. Переменная окружения VAULT_CLIENT_TIMEOUT может быть использована для увеличения времени на создание или восстановление снимка.
$ curl \
--header "X-Vault-Token: ..." \
--request GET \
http://127.0.0.1:8200/v1/sys/storage/raft/snapshot > raft.snap
1.3.2. Автоматическое создание снимков в Raft
Данная конечная точка позволяет создавать новую или обновлять существующую конфигурацию. Каждая конфигурация имеет интервал, определяющий частоту создания снимков, место назначения для записи снимков, а также политику хранения, определяющую, когда удаляются более старые снимки.
Обратите внимание, что для облачных хранилищ вы можете либо явно указать учетные данные, используя параметры ниже, либо, для AWS, опустить их и полагаться на другие механизмы аутентификации, предоставляемые SDK облачного провайдера, например, переменные среды или файлы на диске в предопределенных местах.
| Метод | Путь |
|---|---|
|
|
{
"interval": "24h",
"retain": 7,
"path_prefix": "/opt/starvault/data/snapshots/",
"storage_type": "local",
"local_max_space": 10000000
}
$ curl \
--header "X-Vault-Token: ..." \
--request POST \
--data @payload.json \
http://127.0.0.1:8200/v1/sys/storage/raft/snapshot-auto/config/config1
1.3.2.1. Параметры
-
name(string: <required>) – название конфигурации, которую необходимо изменить. -
storage_type (string: <required>) — один из параметров: "local", "aws-s3". Остальные параметры, описанные ниже, являются специфичными для выбранного варианта storage_type и имеют соответствующий префикс.
-
interval(int / string: <required>) — время между снимками. Это может быть либо целое число секунд, либо строка в формате Go, описывающая длительность (например, 24 часа). -
path_prefix (string: <required>) — для параметра
storage_type=localуказывается каталог, в который будут записываться снимки. Для типов облачного хранилища указывается путь в бакете для снимков. Для типов local и aws-s3 завершающий символ/необязателен. -
enabled(bool: true) - флаг включения/выключения автозагрузки. -
file_prefix(string: starvault-snapshot) - в пределах указанного префикса каталога или сегментаpath_prefixимя файла или объекта для файлов снимков будет начинаться с этой строки. -
retain(int: 1)- сколько снимков следует сохранить; при записи снимка, если уже сохранено больше снимков, чем это число, самые старые будут удалены.
Локальное хранилище
-
local_max_space(int: <required>)- максимальное пространство в байтах, используемое для всех снимков с заданными параметрамиfile_prefixвpath_prefixкаталоге. Попытки создания снимков завершатся неудачей, если в этом объеме будет недостаточно места.
Облачное хранилище S3
-
aws_s3_upload_timeout(int / string: <required>) - время ожидания хранилища S3. -
aws_s3_bucket(string: <required>) - S3-хранилище для записи снимков. -
aws_s3_region(string: <required>) - региональный сегмент AWS находится в системе. -
aws_secret_access_key(string) - секретный ключ доступа AWS. -
aws_access_key_id(string) - идентификатор ключа доступа AWS. -
aws_s3_endpoint(string) - конечная точка AWS. -
aws_ca_certificate(string) - доверенный CA сертификат для проверки TLS эндпоинта S3. -
aws_s3_disable_tls(bool) - отключите TLS для конечной точки S3. Это следует использовать только в целях тестирования, как правило, в сочетании сaws_s3_endpoint. -
aws_s3_force_path_style(bool) - используйте стиль URL-адреса конечной точки/бакета вместо bucket.endpoint. Это может потребоваться при настройкеaws_s3_endpoint. -
aws_s3_insecure_skip_verify- флаг отключения проверки сертификата TLS эндпоинта S3.Небезопасно! Рекомендуется использовать только для тестирования.
-
aws_s3_enable_kms(bool) - используйте KMS для шифрования содержимого корзины. Для использования шифрования KMS соответствующая учетная запись AWS должна иметь следующие разрешения: -
aws_s3_server_side_encryption(bool)- Использовать AES256 для шифрования содержимого корзины. Нельзя использовать с aws_s3_enable_kmsпараметром. -
aws_s3_kms_key(string)- Используйте именованный ключ KMS, когдаaws_s3_enable_kms=true
1.3.2.2. Список конфигураций авто-снимков
Данная конечная точка отображает список всех конфигураций.
| Метод | Путь |
|---|---|
|
|
curl \
--header "X-Vault-Token: ..." \
--request GET \
http://127.0.0.1:8200/v1/sys/storage/raft/snapshot-auto/config?list=true
"snapshots": {
"04503638-5352-70b4-9d38-e9539ca1faf3": {
"snapshot_end": "2026-03-25 09:06:35",
"snapshot_start": "2026-03-25 09:06:35",
"snapshot_status": "success",
"snapshot_url": "/opt/starvault/snapshots/local-test/starvault-snapshot-20260325-090635.snap"
},
"08a62b88-b194-5cc8-a4a0-600de080f92a": {
"snapshot_end": "2026-03-25 09:10:37",
"snapshot_start": "2026-03-25 09:10:37",
"snapshot_status": "success",
"snapshot_url": "/opt/starvault/snapshots/local-test/starvault-snapshot-20260325-091037.snap"
},
"d3e2f005-3ff3-4f90-2218-e795d279a58a": {
"snapshot_end": "2026-03-25 09:09:38",
"snapshot_start": "2026-03-25 09:09:38",
"snapshot_status": "success",
"snapshot_url": "/opt/starvault/snapshots/local-test/starvault-snapshot-20260325-090938.snap"
},
"e8bbf1e9-c1af-ac13-1fd4-bc1dca878c9d": {
"snapshot_end": "2026-03-25 09:08:39",
"snapshot_start": "2026-03-25 09:08:39",
"snapshot_status": "success",
"snapshot_url": "/opt/starvault/snapshots/local-test/starvault-snapshot-20260325-090839.snap"
},
"f1feb570-a6c8-d70e-a67e-4a67b27b22bf": {
"snapshot_end": "2026-03-25 09:07:38",
"snapshot_start": "2026-03-25 09:07:38",
"snapshot_status": "success",
"snapshot_url": "/opt/starvault/snapshots/local-test/starvault-snapshot-20260325-090738.snap"
}
}
1.3.2.3. Чтение конфигурации автоматических снимков
Данная конечная точка позволяет вывести параметры конфигурации.
| Метод | Путь |
|---|---|
|
|
$ curl \
--header "X-Vault-Token: ..." \
http://127.0.0.1:8200/v1/sys/storage/raft/snapshot-auto/config/config1
"data": {
"enabled": true,
"file_prefix": "",
"interval": 60,
"last_snapshot_error": "",
"last_snapshot_status": "success",
"local_max_space": 10240000,
"name": "local-test",
"path_prefix": "/opt/starvault/snapshots/local-test",
"retain": 7,
"storage_type": "local"
}
1.3.2.4. Удаление конфигурации автоматических снимков
Данная конечная точка позволяет удалить выбранную конфигурацию.
| Метод | Путь |
|---|---|
|
|
-
delete_snapshots(bool) - флаг отвечающий за удаление снимков. Если параметр не передан или= false, то снимки не удаляются при удалении конфигурации, если флаг= true, то конфигурация удаляется вместе со всеми связанными снимками.
$ curl \
--header "X-Vault-Token: ..." \
--request DELETE \
http://127.0.0.1:8200/v1/sys/storage/raft/snapshot-auto/config/config1
$ curl \
--header "X-Vault-Token: ..." \
--request DELETE \
http://127.0.0.1:8200/v1/sys/storage/raft/snapshot-auto/config/config1?delete_snapshots=true
1.3.2.5. Получение списка снимков, полученных по конфигурации автоматического создания снимков
Данная конечная точка возвращает статус выбранной конфигурации.
| Метод | Путь |
|---|---|
|
|
$ curl \
--header "X-Vault-Token: ..." \
http://127.0.0.1:8200/v1/sys/storage/raft/snapshot-auto/config/config1/list?list=true
{
"snapshot_start": "2026-03-24T11:58:45.705Z",
"snapshot_end": "2026-03-24T11:58:45.705Z",
"snapshot_url": "string",
"snapshot_error": "string",
"snapshot_status": "succes"
}
1.3.3. Восстановление Raft из снимка
Устанавливает предоставленный снимок, возвращая кластер в состояние, определенное в нем. Недоступно, если Raft используется исключительно для ha_storage.
| Метод | Путь |
|---|---|
|
|
1.3.3.1. Большие снимки Raft
Создание и восстановление снимков Raft может превышать стандартные и рекомендуемые настройки таймаута OpenBao. Переменная окружения VAULT_CLIENT_TIMEOUT может быть использована для увеличения времени на создание или восстановление снимка.
$ curl \
--header "X-Vault-Token: ..." \
--request POST \
--data-binary @raft.snap \
http://127.0.0.1:8200/v1/sys/storage/raft/snapshot
1.3.4. Принудительное восстановление кластера Raft с использованием снимка
Устанавливает предоставленный снимок, возвращая кластер в состояние, заданное в нем. Это то же самое, что и запись, /sys/storage/raft/snapshot за исключением того, что при этом обходят проверки соответствия ключей autounseal или shamir с данными снимка. Недоступно, если Raft используется исключительно для ha_storage.
| Метод | Путь |
|---|---|
|
|
curl \
--header "X-Vault-Token: ..." \
--request POST \
--data-binary @Raft.snap \
http://127.0.0.1:8200/v1/sys/storage/raft/snapshot-force
1.4. Начальная загрузка узла HA
Когда узел использует Raft исключительно для ha_storage, эта конечная точка используется для активации Raft. Это аналогично использованию sys/init для инициализации хранилища, поскольку выполняется только один раз для каждого кластера, после чего starvault operator raft join используется для добавления новых узлов в кластер Raft.
Метод |
Путь |
|
|
curl \
--header "X-Vault-Token: ..." \
--request POST \
http://127.0.0.1:8200/v1/sys/storage/raft/bootstrap
2. /sys/storage/raft/autopilot
Конечные точки /sys/storage/raft/autopilot используются для управления кластерами Raft с помощью автопилота с бэкендом встроенного хранилища StarVault.
2.1. Получение состояния кластера
Данная конечная точка используется для получения состояния кластера Raft. Описание выходных данных см. на странице документации.
Метод |
Путь |
|
|
curl \
--header "X-Vault-Token: ..." \
http://127.0.0.1:8200/v1/sys/storage/raft/autopilot/state
{
"healthy": true,
"failure_tolerance": 1,
"servers": {
"raft1": {
"id": "raft1",
"name": "raft1",
"address": "127.0.0.1:8201",
"node_status": "alive",
"last_contact": "0s",
"last_term": 3,
"last_index": 459,
"healthy": true,
"stable_since": "2021-03-19T20:14:11.831678-04:00",
"status": "leader",
"meta": null
},
"raft2": {
"id": "raft2",
"name": "raft2",
"address": "127.0.0.2:8201",
"node_status": "alive",
"last_contact": "516.49595ms",
"last_term": 3,
"last_index": 459,
"healthy": true,
"stable_since": "2021-03-19T20:14:19.831931-04:00",
"status": "voter",
"meta": null
},
"raft3": {
"id": "raft3",
"name": "raft3",
"address": "127.0.0.3:8201",
"node_status": "alive",
"last_contact": "196.706591ms",
"last_term": 3,
"last_index": 459,
"healthy": true,
"stable_since": "2021-03-19T20:14:25.83565-04:00",
"status": "voter",
"meta": null
}
},
"leader": "raft1",
"voters": ["raft1", "raft2", "raft3"],
"non_voters": null
}
2.2. Получение конфигурации
Данная конечная точка используется для получения конфигурации подсистемы автопилота встроенного хранилища.
Метод |
Путь |
|
|
curl \
--header "X-Vault-Token: ..." \
http://127.0.0.1:8200/v1/sys/storage/raft/autopilot/configuration
{
"cleanup_dead_servers": false,
"dead_server_last_contact_threshold": "24h0m0s",
"last_contact_threshold": "10s",
"max_trailing_logs": 1000,
"min_quorum": 0,
"server_stabilization_time": "10s"
}
2.3. Установка конфигурации
Данная конечная точка используется для изменения конфигурации подсистемы автопилота встроенного хранилища.
Метод |
Путь |
|
|
2.3.1. Параметры
-
cleanup_dead_servers(bool: false)- управляет удалением неработающих серверов из списка пиров Raft периодически или при подключении нового сервера. Требуетсяmin_quorumтакже настроить этот параметр. -
last_contact_threshold(string: "10s")- ограничение на время, в течение которого сервер может оставаться без контакта с лидером, прежде чем он будет признан нездоровым. -
dead_server_last_contact_threshold(string: "24h")– ограничение на время, в течение которого сервер может оставаться без связи с лидером, прежде чем будет считаться неработоспособным. Действует только при значенииtrueвcleanup_dead_servers. Значение не может быть меньше 1 мин. -
max_trailing_logs(int: 1000)- количество записей в журнале Raft, отстающих от сервера, прежде чем он будет признан неработоспособным. -
min_quorum(int: 3)– минимальное количество серверов, разрешенное в кластере, при котором автопилот сможет удалить неиспользуемые серверы. Должно быть не менее 3. Применимо только для голосующих узлов. -
server_stabilization_time(string: "10s")- минимальное время, в течение которого сервер должен находиться в стабильном, работоспособном состоянии, прежде чем его можно будет добавить в кластер.
{
"cleanup_dead_servers": true,
"last_contact_threshold": "10s",
"dead_server_last_contact_threshold": "24h",
"max_trailing_logs": "1000",
"min_quorum": "3",
"server_stabilization_time": "10s"
}
curl \
--header "X-Vault-Token: ..." \
--request POST \
--data @payload.json \
http://127.0.0.1:8200/v1/sys/storage/raft/autopilot/configuration