Россия, Москва, Московский государственный университет им. М. В. Ломоносова, 1989 |
Лекция 12: Microsoft SQL Server и Microsoft Cluster Services
Категории приложений, работающих с кластерами
Приложения, которые работают на системах с MSCS можно разделить на следующие четыре категории. Эти категории приложений и их взаимодействие с MSCS показаны на рис. 12.8.
- Приложения, не рассчитанные на кластеризацию. Приложения этой категории никак не взаимодействуют с MSCS. Хотя при обычных условиях они могут работать нормально, но при отказах узлов они могут заработать неверно, что воспрепятствует их переходу на другой узел кластера.
- Приложения, рассчитанные на кластеризацию. Эти приложения рассчитаны на работу совместно с MSCS. Они могут воспользоваться достоинствами MSCS, повышающими производительность и масштабируемость. Они правильно реагируют на события, происходящие на кластере, и при отказе компонент и переходе на другой узел кластера, как правило, им не требуется уделять большого внимания (а иногда и вообще никаких забот не потребуется). SQL Server может служить примером таких приложений, рассчитанных на кластеризацию.
- Приложения для управления кластером. Приложения этой категории служат для наблюдения за кластером и для управления окружением MSCS.
- Нестандартные типы ресурсов. Эти приложения являются нестандартными ресурсами управления кластером для приложений, служб и устройств.
Режимы MSCS
Поддержку кластеров для SQL Server и MSCS можно запускать в различных режимах. В активно-пассивном режиме один сервер находится в состоянии ожидания, готовый принять на себя работу в случае отказа первичного сервера. В активно-активном режиме каждый сервер работает со своей базой данных SQL Server. В случае отказа любого из серверов другой сервер берет работу на себя, и дело кончается тем, что один сервер работает с двумя базами данных. В этом разделе мы рассмотрим преимущества и недостатки применения каждого из этих двух режимов.
Активно-пассивные кластеры
В активно-пассивных кластерах для работы приложений SQL Server применяется первичный узел (primary node), а сервер – вторичный узел (secondary node) является запасным, резервным сервером (рис. 12.9).
В этой конфигурации один из серверов практически не используется. Этот сервер может месяцами стоять без дела. Фактически, во многих случаях резервный сервер вообще никогда не будет использоваться. И поскольку он не используется, его могут расценивать как дорогостоящее оборудование, простаивающее без дела. Так как этот сервер не может выполнять другие задачи, то для удовлетворения нужд пользователей придется покупать другое оборудование, что делает активно-пассивный режим потенциально неэкономичным.
Но, несмотря на эту неэкономичность, активно-пассивный режим имеет свои достоинства. В этой конфигурации при отказе первичного узла все ресурсы вторичного узла полностью готовы к тому, чтобы взять на себя его работу. Такая надежность важна, когда вы выполняете критически важные приложения, для которых требуются заданные показатели производительности или времени отклика. Если вы находитесь именно в такой ситуации, то тогда, возможно, активно-пассивный режим будет правильным решением.
Настоятельно рекомендуется, чтобы аппаратура вторичного узла была точно такая же, как и первичного узла (т.е., чтобы у первичного и вторичного узлов были бы одинаковые объемы оперативной памяти, одинаковые количество и типы центральных процессоров и т.д.). Если узлы имеют одинаковую аппаратуру, то вы можете быть уверены в том, что вторичная система будет работать почти с такой же скоростью, как и первичная. А иначе вы в случае перехода по отказу можете столкнуться с потерей производительности.
Активно-активные кластеры
В активно-активных кластерах выполнять приложения могут оба сервера, причем каждый сервер служит вторичным сервером для другого узла (см. рис. 12.10).
Каждый из этих двух серверов работает сразу и как первичный узел для некоторых приложений, и как вторичный узел для приложений другого сервера. Эта конфигурация наиболее эффективна в экономическом плане, потому что никакое оборудование не простаивает, ожидая отказа другой системы. Обе системы активно обслуживают пользователей. Кроме того, один пассивный узел может служить вторичным узлом для нескольких первичных узлов.
Недостатком активно-активной конфигурации является лишь то, что в случае отказа производительность выжившего узла существенно снизится, потому что нагрузка на него вырастет. Выжившему узлу теперь придется исполнять не только приложения, которые работали на нем первоначально, но и приложения с первичного узла. Во многих случаях это снижение производительности окажется неприемлемым, и тогда придется применять активно-пассивную конфигурацию.