Сервер - статьи

       

Кластеризация


В случаях, когда к вычислительной системе помимо высокой отказоустойчивости предъявляются жесткие требования и в отношении доступности и производительности, пожалуй, наиболее актуальным решением представляются кластеры. Конечно, кластерные решения обходятся намного дороже, чем резервный сервер или сегмент сети, отведенный под сетевое хранилище данных. Тем не менее, если вышеперечисленные характеристики становятся жизненно важными для деятельности предприятия, заказчик, как говорится, за ценой не постоит, чтобы впоследствии не пришлось платить вдвойне. Поэтому кластеры даже в нашей стране нередко оказываются единственно актуальным и жизнеспособным решением. Кроме того, только с их помощью возможно увеличение надежности до 99,999%, что соответствует нескольким минутам простоя системы в год.

Перед тем как перейти к описаниям типичных схем кластеризации, уточним, что же представляет собой кластер. Ведь на практике термин "кластер" имеет множество определений. Некоторые производители относят к кластерам системы NUMA (и аналогичные), массово-параллельные системы, а порой и системы с симметричной многопроцессорной обработкой (Symmetric Multiprocessing - SMP). К тому же одни изготовители ставят во главу угла отказоустойчивость, другие - масштабируемость, третьи - управляемость, четвертые - максимальную производительность.

Однако наиболее простое, доходчивое и понятное определение кластера базируется на аппаратной особенности его реализации, некогда сформулированное компанией Digital Equipment Corporation. Итак, кластер - это разновидность параллельной или распределенной системы, которая состоит из нескольких связанных между собой компьютеров и используется как единый, унифицированный компьютерный ресурс.

Следовательно, на каждом узле кластера находится своя копия операционной системы. Между тем такие системы, как SMMP, имеют одну общую копию ОС, и это исключение из правил. Узлом кластера может быть как однопроцессорный, так и многопроцессорный компьютер, причем в пределах одного DMMPS-кластера компьютеры могут иметь различную конфигурацию.
Узлы кластера соединяются между собой (внутрикластерное, или межузловое соединение) с помощью либо обычных сетевых соединений (Ethernet, Fibre Channel), либо посредством нестандартных (фирменных) технологий. Внутрикластерные соединения позволяют узлам взаимодействовать между собой независимо от внешней сетевой среды. По внутрикластерным каналам узлы не только обмениваются информацией, но и осуществляют взаимный контроль работоспособности. Основное назначение кластера, ориентированного на максимальную надежность, состоит в обеспечении высокого уровня доступности (иначе - уровня готовности); высокой степени масштабируемости; удобства администрирования по сравнению с разрозненным набором компьютеров или серверов. Кластеры должны быть нечувствительны к одиночным отказам компонентов (как аппаратных, так и программных); в общем случае при отказе какого-либо узла сетевые сервисы или приложения автоматически переносятся на другие узлы. При восстановлении работоспособности отказавшего узла приложения могут быть перенесены на него обратно. Классификация кластеров по критерию надежности производится в соответствии с доступностью не оперативной памяти узлов кластера (как в случае с кластерами высокой производительности), а устройств ввода/вывода и, прежде всего, дисков. Кластеры, которые относятся к системам высокой готовности (максимальной надежности), используются везде, где стоимость возможного простоя превышает стоимость затрат, необходимых для построения кластерной системы. Например биллинговые системы, банковские операции, электронная коммерция, управление предприятием. Как и резервные, кластерные системы могут быть с разделяемыми дисками и без. Понятие "кластер с разделяемыми дисками" (shared disk) подразумевает, что любой узел имеет прозрачный доступ к любой файловой системе общего дискового пространства. Естественно, помимо разделяемой дисковой подсистемы на узлах кластера предусмотрены и локальные диски, но в этом случае они используются, главным образом, для загрузки ОС на узле.


Такой кластер должен обладать специальной подсистемой, именуемой "распределенный менеджер блокировок" (Distributed Lock Manager) и служащей для устранения конфликтов при одновременной записи в файлы с разных узлов кластера. В свою очередь кластеры без разделения ресурсов (shared nothing), как и следует из названия, не имеют общих устройств ввода/вывода. Правда, есть одна тонкость: речь идет об отсутствии общих дисков на логическом, а не физическом уровне. Это означает, что дисковая подсистема может быть подключена сразу ко всем узлам. Если на дисковой подсистеме существует несколько файловых систем (или логических/физических дисков), то в любой момент времени доступ к определенной файловой системе предоставляется только одному узлу. К другой файловой системе доступ разрешен другому узлу. Такая управленческая иерархия системных ресурсов позволяет максимально обезопаситься от выхода из строя каких-либо компонентов из любого составляющего кластера надежности. Сбой одного сервера кластера мгновенно перекидывает управление на другой, а поврежденный отключается.

Содержание раздела