1. Общие механизмы, понятия и термины
#21

Готовишься к экзамену?

Полнофункциональный тренажер @bot_1cnik_bot с полноценным обучением, режимом экзамена и подробной статистикой.

Перейти в бота

Кластер сервера «1С:Предприятие» включает рабочие серверы под Windows и под Linux. Какое утверждение о поддержке СУБД в таком смешанном кластере является верным?

К Microsoft SQL Server можно подключаться только теми рабочими процессами, которые запущены на Windows; с другими поддерживаемыми СУБД (например, PostgreSQL/Oracle/DB2) можно работать и с Windows-, и с Linux-рабочих серверов.
Правильно: Для рабочих процессов кластера, работающих под Linux, действует ограничение: они не взаимодействуют с Microsoft SQL Server, поэтому база на MS SQL должна обслуживаться рабочими серверами под Windows. При этом для других поддерживаемых СУБД (в зависимости от конкретной СУБД и ее драйверов/версий) работа со стороны Linux-рабочих серверов обычно допустима.
К Microsoft SQL Server можно подключаться только с Windows-рабочих серверов, а к остальным СУБД - только с Linux-рабочих серверов.
Неправильно: Ограничение относится именно к связке «Linux-рабочий процесс ↔ Microsoft SQL Server» и не означает, что остальные СУБД обязательно требуют Linux. Большинство поддерживаемых СУБД могут использоваться и при Windows-рабочих серверах, поэтому утверждение про «только из-под Linux» неверно.
Никаких ограничений по выбору СУБД нет: любой рабочий сервер (Windows или Linux) может работать с любой поддерживаемой СУБД, включая Microsoft SQL Server.
Неправильно: Для Linux-рабочих процессов есть известное ограничение на взаимодействие с Microsoft SQL Server, поэтому «полной свободы» выбора и сочетаний нет. При использовании MS SQL Server нужно обеспечить, чтобы обслуживающие базу рабочие процессы работали под Windows.

Пояснение

В клиент-серверном варианте 1С важно учитывать, что «рабочий сервер/рабочий процесс» - это именно компонент сервера 1С, который выполняет код и обращается к СУБД. В смешанном кластере (часть рабочих серверов Windows, часть Linux) можно распределять нагрузку, но есть технологические ограничения для Linux. Ключевое правило по СУБД: рабочие процессы 1С, запущенные на Linux, не могут взаимодействовать с Microsoft SQL Server. Поэтому если информационная база размещена в MS SQL Server, ее обслуживание (подключения рабочих процессов к этой базе) должно идти с рабочих серверов под Windows. Linux-рабочие серверы при этом могут оставаться в кластере, но их нельзя использовать для обработки сессий/соединений именно этой базы на MS SQL. Практический пример: - У вас один кластер и две базы: База А на Microsoft SQL Server, База Б на PostgreSQL. - Для Базы А назначаете обслуживание только Windows-рабочими серверами (Linux-серверы для нее исключаете из использования). - Для Базы Б можно задействовать и Linux-, и Windows-рабочие серверы (по производительности/политике эксплуатации). Полезные админские рекомендации: - Если в компании одновременно используются базы на разных СУБД, часто удобнее логически разделять нагрузку (отдельные рабочие серверы/кластеры под MS SQL и под PostgreSQL), чтобы случайно не «отдать» MS SQL-базу на Linux-процессы. - При планировании Linux-сервера 1С учитывайте, что ограничения могут касаться не только MS SQL: в Linux-среде обычно есть особенности по COM-взаимодействию и некоторым механизмам интеграции/аутентификации, поэтому сценарии интеграций лучше проверять заранее на тестовом стенде.