Настройка восстановления после сбоев в Cartridge CLI
Конфигурировать восстановление после сбоев (failover) в Cartridge можно с помощью команды cartridge failover
.
cartridge failover [подкоманда] [параметры] [аргументы]
--name |
Имя приложения. |
--file |
Путь к файлу с настройками восстановления после сбоев. По умолчанию — failover.yml . |
Команда failover
также поддерживает глобальные параметры.
Восстановление после сбоев конфигурируется с помощью Lua API.
Чтобы запустить восстановление после сбоя, cartridge-cli
подключается к случайно выбранному сконфигурированному экземпляру. Поэтому предварительно следует настроить топологию кластера. Подробную информацию об этом вы найдете в описании команды cartridge replicasets. Кроме того, вы можете обратиться к документации по архитектуре восстановления после сбоев.
Управлять восстановлением после сбоев можно так:
- Задать режим восстановления после сбоев, передав нужные параметры в команде
cartridge failover set
. - Указать параметры в файле конфигурации и задать его в качестве настройки по умолчанию командой
cartridge failover setup
. - Проверить статус восстановления после сбоев с помощью команды
status
. - Отключить восстановление после сбоев с помощью команды
disable
.
set
cartridge failover set [режим] [параметры]
С помощью этой команды можно задать режим восстановления после сбоев. Подробную информацию вы найдете в документации о режимах восстановления после сбоев.
--state-provider
Поставщик состояния при восстановлении после сбоев. Возможные значения: stateboard
или etcd2
. Используется только в режиме stateful
.
--params
Параметры восстановления после сбоев, описанные в виде строки в формате JSON. Пример: "{'fencing_timeout': 10', 'fencing_enabled': true}"
.
--provider-params
Параметры поставщика состояния, описанные в виде строки в формате JSON. Пример: "{'lock_delay': 14}"
.
Информацию о параметрах вы найдете в соответствующем разделе руководства.
В отличие от команды setup
, set
не принимает параметры, неподходящие для выбранного режима. Например, если указать параметр --state-provider
для режима eventual
, произойдет ошибка.
setup
cartridge failover setup --file [файл_конфигурации]
По умолчанию для конфигурации восстановления после сбоев используется файл failover.yml
. См. описание параметров, используемых в этой конфигурации.
mode: stateful
state_provider: stateboard
stateboard_params:
uri: localhost:4401
password: passwd
failover_timeout: 15
В файле можно сохранять неиспользуемые параметры. Допустим, задан режим stateful
и информацию о состоянии передает поставщик etcd2
, а вы хотите указать вместо этого поставщика stateboard
. Вы можете не удалять из файла раздел etcd2_params
— достаточно добавить stateboard_params
и изменить значение state_provider
. Чтобы впоследствии перевести восстановление после сбоев в режим eventual
, не обязательно удалять из файла ни etcd2_params
, ни stateboard_params
.
Обратите внимание, что в Cartridge применяются все параметры, указанные в файле конфигурации. Это означает, что в примере выше параметры etcd2_params
и stateboard_params
будут применены и для режима eventual
, хотя они предназначены для режима stateful
.
status
cartridge failover status [параметры]
Проверка статуса восстановления после сбоев.
disable
cartridge failover disable [параметры]
Отключение восстановления после сбоев. Другой способ отключить его — задать режим disabled
с помощью команды set или в файле конфигурации.
mode
Режим восстановления после сбоев (обязательный параметр). Возможные значения: disabled
, eventual
, stateful
.
failover_timeout
Время в секундах до перевода экземпляра в кластере из статуса suspect
в статус dead
.
fencing_enabled
Сброс статуса лидера, если потерян кворум поставщиков состояний и хотя бы одна реплика (только для режима stateful
).
fencing_timeout
Время до срабатывания фенсинга после неудачной проверки.
fencing_pause
Время в секундах до выполнения проверки.
Остальные параметры связаны с выбранным режимом.
В режиме eventual
не требуется указывать дополнительные параметры.
Подробную информацию о режиме eventual
вы найдете в соответствующей документации.
Режим stateful
требует следующих параметров:
state_provider
Тип поставщика внешнего состояния. Поддерживаются следующие варианты: stateboard
, etcd2
.
stateboard_params
Конфигурация экземпляра stateboard:
uri
— URI экземпляра stateboard (обязательный параметр).
password
— пароль к экземпляру stateboard (обязательный параметр).
etcd2_params
Конфигурация etcd2
:
prefix
— префикс ключей etcd (<prefix>/lock
, <prefix>/leaders
).
lock_delay
— длительность блокировки в секундах. По умолчанию в Cartridge — 10
.
endpoints
— URI для поиска экземпляров etcd и подключения к ним. По умолчанию в Cartridge — ['http://localhost:2379', 'http://localhost:4001']
.
username
password
Подробную информацию о режиме stateful
вы найдете в соответствующей документации.
cartridge failover set [режим] [параметры]
С помощью этой команды можно задать режим восстановления после сбоев. Подробную информацию вы найдете в документации о режимах восстановления после сбоев.
--state-provider |
Поставщик состояния при восстановлении после сбоев. Возможные значения: stateboard или etcd2 . Используется только в режиме stateful . |
--params |
Параметры восстановления после сбоев, описанные в виде строки в формате JSON. Пример: "{'fencing_timeout': 10', 'fencing_enabled': true}" . |
--provider-params |
Параметры поставщика состояния, описанные в виде строки в формате JSON. Пример: "{'lock_delay': 14}" . |
Информацию о параметрах вы найдете в соответствующем разделе руководства.
В отличие от команды setup
, set
не принимает параметры, неподходящие для выбранного режима. Например, если указать параметр --state-provider
для режима eventual
, произойдет ошибка.
setup
cartridge failover setup --file [файл_конфигурации]
По умолчанию для конфигурации восстановления после сбоев используется файл failover.yml
. См. описание параметров, используемых в этой конфигурации.
mode: stateful
state_provider: stateboard
stateboard_params:
uri: localhost:4401
password: passwd
failover_timeout: 15
В файле можно сохранять неиспользуемые параметры. Допустим, задан режим stateful
и информацию о состоянии передает поставщик etcd2
, а вы хотите указать вместо этого поставщика stateboard
. Вы можете не удалять из файла раздел etcd2_params
— достаточно добавить stateboard_params
и изменить значение state_provider
. Чтобы впоследствии перевести восстановление после сбоев в режим eventual
, не обязательно удалять из файла ни etcd2_params
, ни stateboard_params
.
Обратите внимание, что в Cartridge применяются все параметры, указанные в файле конфигурации. Это означает, что в примере выше параметры etcd2_params
и stateboard_params
будут применены и для режима eventual
, хотя они предназначены для режима stateful
.
status
cartridge failover status [параметры]
Проверка статуса восстановления после сбоев.
disable
cartridge failover disable [параметры]
Отключение восстановления после сбоев. Другой способ отключить его — задать режим disabled
с помощью команды set или в файле конфигурации.
mode
Режим восстановления после сбоев (обязательный параметр). Возможные значения: disabled
, eventual
, stateful
.
failover_timeout
Время в секундах до перевода экземпляра в кластере из статуса suspect
в статус dead
.
fencing_enabled
Сброс статуса лидера, если потерян кворум поставщиков состояний и хотя бы одна реплика (только для режима stateful
).
fencing_timeout
Время до срабатывания фенсинга после неудачной проверки.
fencing_pause
Время в секундах до выполнения проверки.
Остальные параметры связаны с выбранным режимом.
В режиме eventual
не требуется указывать дополнительные параметры.
Подробную информацию о режиме eventual
вы найдете в соответствующей документации.
Режим stateful
требует следующих параметров:
state_provider
Тип поставщика внешнего состояния. Поддерживаются следующие варианты: stateboard
, etcd2
.
stateboard_params
Конфигурация экземпляра stateboard:
uri
— URI экземпляра stateboard (обязательный параметр).
password
— пароль к экземпляру stateboard (обязательный параметр).
etcd2_params
Конфигурация etcd2
:
prefix
— префикс ключей etcd (<prefix>/lock
, <prefix>/leaders
).
lock_delay
— длительность блокировки в секундах. По умолчанию в Cartridge — 10
.
endpoints
— URI для поиска экземпляров etcd и подключения к ним. По умолчанию в Cartridge — ['http://localhost:2379', 'http://localhost:4001']
.
username
password
Подробную информацию о режиме stateful
вы найдете в соответствующей документации.
cartridge failover setup --file [файл_конфигурации]
По умолчанию для конфигурации восстановления после сбоев используется файл failover.yml
. См. описание параметров, используемых в этой конфигурации.
mode: stateful
state_provider: stateboard
stateboard_params:
uri: localhost:4401
password: passwd
failover_timeout: 15
В файле можно сохранять неиспользуемые параметры. Допустим, задан режим stateful
и информацию о состоянии передает поставщик etcd2
, а вы хотите указать вместо этого поставщика stateboard
. Вы можете не удалять из файла раздел etcd2_params
— достаточно добавить stateboard_params
и изменить значение state_provider
. Чтобы впоследствии перевести восстановление после сбоев в режим eventual
, не обязательно удалять из файла ни etcd2_params
, ни stateboard_params
.
Обратите внимание, что в Cartridge применяются все параметры, указанные в файле конфигурации. Это означает, что в примере выше параметры etcd2_params
и stateboard_params
будут применены и для режима eventual
, хотя они предназначены для режима stateful
.
status
cartridge failover status [параметры]
Проверка статуса восстановления после сбоев.
disable
cartridge failover disable [параметры]
Отключение восстановления после сбоев. Другой способ отключить его — задать режим disabled
с помощью команды set или в файле конфигурации.
mode
Режим восстановления после сбоев (обязательный параметр). Возможные значения: disabled
, eventual
, stateful
.
failover_timeout
Время в секундах до перевода экземпляра в кластере из статуса suspect
в статус dead
.
fencing_enabled
Сброс статуса лидера, если потерян кворум поставщиков состояний и хотя бы одна реплика (только для режима stateful
).
fencing_timeout
Время до срабатывания фенсинга после неудачной проверки.
fencing_pause
Время в секундах до выполнения проверки.
Остальные параметры связаны с выбранным режимом.
В режиме eventual
не требуется указывать дополнительные параметры.
Подробную информацию о режиме eventual
вы найдете в соответствующей документации.
Режим stateful
требует следующих параметров:
state_provider
Тип поставщика внешнего состояния. Поддерживаются следующие варианты: stateboard
, etcd2
.
stateboard_params
Конфигурация экземпляра stateboard:
uri
— URI экземпляра stateboard (обязательный параметр).
password
— пароль к экземпляру stateboard (обязательный параметр).
etcd2_params
Конфигурация etcd2
:
prefix
— префикс ключей etcd (<prefix>/lock
, <prefix>/leaders
).
lock_delay
— длительность блокировки в секундах. По умолчанию в Cartridge — 10
.
endpoints
— URI для поиска экземпляров etcd и подключения к ним. По умолчанию в Cartridge — ['http://localhost:2379', 'http://localhost:4001']
.
username
password
Подробную информацию о режиме stateful
вы найдете в соответствующей документации.
cartridge failover status [параметры]
Проверка статуса восстановления после сбоев.
disable
cartridge failover disable [параметры]
Отключение восстановления после сбоев. Другой способ отключить его — задать режим disabled
с помощью команды set или в файле конфигурации.
mode
Режим восстановления после сбоев (обязательный параметр). Возможные значения: disabled
, eventual
, stateful
.
failover_timeout
Время в секундах до перевода экземпляра в кластере из статуса suspect
в статус dead
.
fencing_enabled
Сброс статуса лидера, если потерян кворум поставщиков состояний и хотя бы одна реплика (только для режима stateful
).
fencing_timeout
Время до срабатывания фенсинга после неудачной проверки.
fencing_pause
Время в секундах до выполнения проверки.
Остальные параметры связаны с выбранным режимом.
В режиме eventual
не требуется указывать дополнительные параметры.
Подробную информацию о режиме eventual
вы найдете в соответствующей документации.
Режим stateful
требует следующих параметров:
state_provider
Тип поставщика внешнего состояния. Поддерживаются следующие варианты: stateboard
, etcd2
.
stateboard_params
Конфигурация экземпляра stateboard:
uri
— URI экземпляра stateboard (обязательный параметр).
password
— пароль к экземпляру stateboard (обязательный параметр).
etcd2_params
Конфигурация etcd2
:
prefix
— префикс ключей etcd (<prefix>/lock
, <prefix>/leaders
).
lock_delay
— длительность блокировки в секундах. По умолчанию в Cartridge — 10
.
endpoints
— URI для поиска экземпляров etcd и подключения к ним. По умолчанию в Cartridge — ['http://localhost:2379', 'http://localhost:4001']
.
username
password
Подробную информацию о режиме stateful
вы найдете в соответствующей документации.
cartridge failover disable [параметры]
Отключение восстановления после сбоев. Другой способ отключить его — задать режим disabled
с помощью команды set или в файле конфигурации.
mode |
Режим восстановления после сбоев (обязательный параметр). Возможные значения: disabled , eventual , stateful . |
failover_timeout |
Время в секундах до перевода экземпляра в кластере из статуса suspect в статус dead . |
fencing_enabled |
Сброс статуса лидера, если потерян кворум поставщиков состояний и хотя бы одна реплика (только для режима stateful ). |
fencing_timeout |
Время до срабатывания фенсинга после неудачной проверки. |
fencing_pause |
Время в секундах до выполнения проверки. |
Остальные параметры связаны с выбранным режимом.
В режиме eventual
не требуется указывать дополнительные параметры.
Подробную информацию о режиме eventual
вы найдете в соответствующей документации.
Режим stateful
требует следующих параметров:
state_provider |
Тип поставщика внешнего состояния. Поддерживаются следующие варианты: stateboard , etcd2 . |
stateboard_params |
Конфигурация экземпляра stateboard:
|
etcd2_params |
Конфигурация
|
Подробную информацию о режиме stateful
вы найдете в соответствующей документации.