ECS. Разница между строкой подключения CAS и отработкой отказа для чтения SDK с Centera
Summary: Centera и ECS работают по-разному, реагируя на первоначальную проверку после открытия пула для комплекта разработчика программного обеспечения (SDK).
Symptoms
При подключении к ECS с использованием протокола Content Addressable Storage (CAS) с JCASScript при запуске команды info , адрес реплики пуст.
Как происходит переключение пакета SDK при отказе во время операций чтения, если основная ECS недоступна?
Centera и ECS работают по-разному, реагируя на первоначальную проверку после открытия пула SDK.
Cause
Resolution
Centera:
При указании основных IP-адресов Centera в строке подключения в рамках первоначального тестирования и после открытия пула Centera отправляет обратно реплики IP-адресов в ответе на запрос проверки в пакет SDK. SDK использует эти IP-адреса реплик для оперативного переключения на резервный ресурс (чтение, запись, удаление, exist) при отказе основной стороны или подключения (Centera останавливается или сеть на основную сеть).
Если параметр SDK lazy_pool_open то SDK не проверяет вторичные адреса. Дополнительные адреса проверяются при аварийном переключении на резервный ресурс или сети.
ECS:
Если в строке подключения к приложению будет указан только основной IP-адрес как часть первоначального ответа на запрос после открытия пула, ECS не отправит реплики IP-адресов в ответе на запрос. Пакет SDK не знает о дополнительных IP-адресах. В ECS контейнер является глобальным и предназначен для обеспечения строгой согласованности. При записи объектов ECS извлекает объект независимо от состояния репликации. Это обеспечивает оперативное аварийное переключение (чтение, запись, существование и удаление) из любого виртуального центра обработки данных (VDC).
Для переключения подключения при отказе рекомендуется иметь в строке подключения основной и дополнительный адреса.
Сначала пакет SDK проверяет первый IP-адрес в строке подключения. Когда пакет SDK получает все основные IP-адреса виртуального ЦОД, в рамках проверки он не проверяет другие IP-адреса в строке подключения (как в случае с lazy_pool). Для переключения подключения при отказе используются другие IP-адреса в строке подключения.
Обычные открытые пулы (не использующие lazy_pool open - что рекомендует Engineering) сначала прощупайте первый IP в строке подключения. Получив ответ, он логически разделяет основной адрес и проверяет только следующий вторичный IP-адрес в соединении, сохраняя все вторичные IP-адреса в кэше. Если основной VDC недоступен и включен параметр Доступ во время перебоя (ADO) (15-минутное время ожидания), он пробует использовать все основные IP-адреса (так же, как и Centera). После того как все IP-адреса выдают сетевые ошибки, он пробует использовать дополнительный IP-адрес. После истечения 15-минутного тайм-аута ADO дополнительный VDC предоставляет доступ к операциям чтения, записи, удаления и существования.
Если дополнительные IP-адреса в строке подключения не используются, а также если основной VDC выходит из строя или теряет возможность подключения к сети. Строку подключения приложения необходимо обновить вручную, чтобы включить в нее IP-адреса дополнительных ресурсов VDC для доступа к дополнительному VDC. Для начала операций должен пройти тайм-аут ADO, равный 15 минутам.