Настройка восстановления после сбоев в 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 вы найдете в соответствующей документации.