Введение. Кластеры как экономическая категория


Существует немало классификаций кластеров в зависимости от разных признаков. Вот некоторые из них.

Первой из рассматриваемых классификаций является выделение двух основных категорий кластеров, сформированных по пространственной и функциональной осям: функционально-связанные системы, которые менее ограничены строго определенными регионами обычно относятся к промышленным кластерам, тогда как пространственные группировки подобных и связанных фирм и отраслей относятся к региональным кластерам.

Промышленный кластер фокусируется на конкуренции внутри сектора. Он состоит из всевозможных действующих лиц, ресурсов и видов деятельности, которые объединяются вместе для развития, производства и продажи разнообразных типов товаров и услуг. Промышленный кластер, как правило, пространственно не привязан к какой-либо урбанизированной области. В противоположность региональному кластеру, он обладает тенденцией иметь более широкие границы, возможно охватывая весь регион или страну.

Региональный кластер - это пространственная агломерация подобной и связанной экономической деятельности, формирующая основу местной среды, способствующая переливам знания и стимулирующая различные формы обучения и адаптации. Такие кластеры, обычно, состоят из малых и средних предприятий, и центральный элемент их успеха сосредоточен в силах социального капитала и географической близости. Другая их особенность состоит в том, что фирмы менее взаимосвязаны, чем в промышленных кластерах.

По мнению К.З.Адамовой кластеры рациональнее всего разделить на следующие типы :

  • 1. «Маршаллианские» кластеры - кластеры, в которых мелкие фирмы в одной и той же отрасли используют экономию от масштаба благодаря совместному (вследствие компактного расположения) использованию общих ресурсов. Типично для обувной промышленности Италии, швейных производств Турции, Индии. В настоящее время реализуется программа по формированию подобного сельскохозяйственно-пищевого кластера в Грузии.
  • 2. «Ступицы и спицы» (hub-and-spoke) или «радиальные» кластеры. Такие кластеры создаются крупными сборочными предприятиями автомобильной и электронной отраслей промышленности (как, например, в Детройте или Северной Италии). Ключевая черта подобных кластеров состоит в том, что крупная фирма (одна или несколько) выполняет роль «центра», «корневого бизнеса» для региональной экономики. При этом взаимоотношения между «центром» и прочими компонентами кластера могут быть и жесткими, и слабыми. Связи обычно носят иерархический характер, с выраженно доминирующим «центром». Основой механизма существования подобных кластеров является применение субконтрактации и аутсорсинга.
  • 3. «Спутниковый» кластер представляет собой совокупность компаний, ориентированных на поставку товаров, услуг и работ предприятию, внешнему по отношению к кластеру. Такой тип кластеров часто возникает в результате успешной политики привлечения в регион иностранных инвестиций (перемещение производства комплектующих). Фирмы в таких кластерах относительно независимы как от других производителей в той же технологической цепочке, так и от конкурентов в регионе. В то же время конкуренция между «спутниками» ограничена, в том числе и потому, что они зачастую производят различные виды продукции.
  • 4. «Прикованный к государству» кластер (англ. state anchored cluster) - кластер, в котором экономическая активность в регионе привязана к государственному предприятию, такому, как военная база, оборонный завод, университет, или органу государственного управления, связанного с государственным (оборонным) заказом.

Следующая классификация основана на принципе образования кластера и подразделяет последние на два основных типа.

К первому относятся технокластеры (techno clusters), ориентированные на высокие технологии и создаваемые на базе ведущих университетов и исследовательских центров (как научно-промышленный парк Hsinchu в сфере компьютерных технологий во всемирно известной Силиконовой Долине в Калифорнии). Это,т.н. кластеры «от ВУЗа».

Ко второму типу - кластеры, исторически сложившиеся на более традиционных (часто специфически отраслевых) видах деятельности и имеющие определенные преимущества именно за счет ноу-хау (historic knowhow-based clusters). Это кластеры «от предсприятия».

Кластер (в общем смысле) – объедение нескольких однородных элементов в единую самостоятельную единицу, имеющую уникальные свойства. Понятие «кластер» применяется в разных отраслях – математике, музыке, сфере информационных технологий, астрономии, лингвистке, экономике.

Кластер в экономике – определенная группа компаний (финансово-кредитных учреждений, университетов), которые дополняют друг друга и усиливают конкурентные особенности одной отдельно взятой организации и кластера в целом. Особенность кластера – наличие здоровой конкуренции среди его участников, определенные связи в отношении комплектующих, сырья, товаров, услуг и так далее.

Кластер можно выделить по нескольким характерным признакам :

Родству технологий, применяемых в организациях, входящих в один кластер;
- максимальной географической приближенности друг к другу;
- активному применению инновационных технологий и участию в их разработке;
- общих чертах в сырьевой базе.

Кластер, как образование, имеет следующие цели :

Обеспечить эффективное прогнозирование и анализ в интересующей отрасли. Кластер представляет собой мощный объект для изучения;
- сформировать полноценную стратегию и поддержку развития региона, повысить конкурентоспособность, ускорить процессы создания инновационной продукции, увеличить уровень прибыли и занятость населения, поднять производительность.

Кластер: развитие, структура и особенности

В экономике понятие «кластер» появилось весьма недавно. Первым исследователем в данной отрасли был Альфред Маршал, которому удалось разработать подходы кластерной политики еще в конце 19 века, но в дальнейшем идею никто не подхватил. Понадобилось много времени, чтобы сформировать типы экологических районов и объединить их в единые «подгруппы».

При этом сам термин «кластер» является и вовсе молодым. Он появился лишь в начале 90-х годов прошлого века, благодаря деятельности Майкла Портера. При этом условно все кластеры можно разбить на несколько типов участников:

- основные субъекты . К таковым можно отнести различные виды компаний, начиная от самых мелких до настоящих гигантов;

- органы власти – субъекты местного, регионального или национального уровня. В эту же категорию можно отнести институты развития;

- инновационно-исследовательское формирования. Здесь речь идет об объединении в кластер целой группы образовательных учреждений (в том числе и крупных вузов), центров коммерциализации, инжиниронговых структур, исследовательских компаний и так далее;

- структуры, предлагающие смежные типы услуг . В основе такого кластера – консалтинговые компании, финансовые структуры и так далее.

В историческом формате кластер имеет промышленный тип. Первые подобные образования появились ближе к середине двадцатого века в Италии. Со временем вектор развития кластера начал смещаться в сторону инновационной деятельности. В частности, все больше внимания уделяется развитию промышленно-инновационному кластеру.

Главная отличительная особенность кластера от обычного промышленного региона с группой схожих предприятий – это не только между собой, но и активное сотрудничество. Поиск решения происходит коллегиально, что ускоряет процесс создания новых технологий и способствует развитию науки в целом.

При этом сфера сотрудничества очень широка (речь идет о взаимодействии не только в научном плане). Внутри кластера могут коллегиально решаться вопросы инфраструктуры, проблемы подбора кадров, общие тенденции развития и так далее. В таких условиях на первые роли выходит структура взаимодействия, наличие стойких социальных связей между предприятиями, уровень доверия между ними.

С другой стороны внутри кластера может вестись борьба за лучшие кадры и сбыта. Но при наличии активного сотрудничества все эти стремления направляются в одно русло, что позволяет эффективно подготовить рынок рабочей силы, обеспечить производство качественным сырьем, наладить обмен знаниями и так далее.

Чаще всего кластер – это сеть, которая может работать при наличии или отсутствии центрального звена. Функционирование может осуществляться в различных форматах – в виде оформленной официально структуры или же без какой-то одной управляющей организации и членства.

Кластер – это одна из самых благоприятных зон для начинающих предприятий, которые только начали свой путь развития. При этом ядром такого объедения все равно остаются крупные компании (одна или целая группа). Такие ситуации все чаще складываются в сфере ядерных технологий или автомобильной промышленности.

Классификация и виды кластеров

За годы существования кластеров появилось множество подходов к их классификации. Сегодня существует множество признаков, по которым те или иные компании объединяются в общие группы. Так, к основным параметрам можно отнести наличие капитала, географическое расположение, трудовой потенциал, объемы предоставляемых услуг, наличие специальных заведений, отраслевая принадлежность и так далее.

Если же исходить из общих принципов экономики, то кластеры можно разделить классифицировать по следующим признакам:

1. По характеру появления кластеры бывают:

- стихийно (спонтанно) сформированные . В этом случае специальные планы по объединению тех или иных компаний не строятся – все происходит естественным образом, на основе взаимных целей, единых интересов и сотрудничества;

- осознано . К такой категории относятся кластеры, которые создаются с определенной целью, а их сближение является спланированным, искусственным.

2. По природе все объединения можно разделить на реальные и ложные кластеры. К последним, как правило, относятся индустриальные районы, доминирующие фирмы и так далее.

3. По технологическим параметрам – интеллектуальные (инновационные), кустарные и индустриальные (производящие обычные товары) кластеры.

4. По способу образования можно выделить:

- кластеры с вертикальными связями в производственной сфере. В этом случае небольшие предприятия объединяются вокруг одной или сети крупных компаний. При этом в задачу последней входит регулирование основных процессов сбыта, поставки и производства продукции;

- кластеры с региональной формой. В этом случае имеют место региональные ограничения внутри схожих структур в промышленном и научном секторе деятельности;

- отраслевые кластеры. К таковым относятся компании, которые работают в различных сферах промышленности. К примеру, можно выделить «ядерный кластер», «фармацептический кластер» и так далее;

- промышленные кластеры.

Каждый из кластеров имеет свои особенности:

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

В свою очередь все региональные кластеры условно разделяются на несколько типов:

Сильные кластеры – характеризуются мощной конкуренцией и активным взаимодействием;
- устойчивые кластеры отличаются позитивной динамикой развития;
- потенциальные кластеры имеют неравномерную структуру и много слабых «звеньев»;
- латентные кластеры представляют собой объединение нескольких успешных компаний, которые еще далеки от формирования полноценного кластера.


2. Отраслевой кластер – это образование, в которое входят организации отраслевых и смежных компаний. Основой их взаимоотношений являются конкурентные и кооперационные связи. При этом конкурентные преимущества таких структур усиливаются, благодаря синергетическому эффекту – отраслевому взаимодействию.

Характерные черты такого кластера – объединение более мелких компаний вокруг одного крупного предприятия, . Часто такие модели характерны для тяжелой индустрии. Стоит отметить, что в отраслевых кластерах одним из главных направлений является внедрение инновационных технологий. При этом взаимосвязь между структурами может быть как вертикальной, так и горизонтальной. Одним из самых популярных отраслевых кластеров является компания Airbas.

Промышленный кластер основывается на базе конкуренции внутри какого-то одного сектора. В него входят различные лица, компании, источники ресурсов, объединяющиеся для изготовления товаров, продажи услуг и товаров. Чаще всего промышленный кластер не привязан к какой-то конкретной отрасли, может охватывать большой регион или даже страну. К примеру, в Финляндии есть целый лесопромышленный кластер, охватывающий группу отраслей – целлюлозно-бумажную, деревообрабатывающую и лесозаготовительную.

Будьте в курсе всех важных событий United Traders - подписывайтесь на наш

Как известно, кластеры позволяют решать проблемы, связанные с производительностью, балансировкой нагрузки и отказоустойчивостью. Для построения кластеров используются различные решения и технологии, как на программном, так и на аппаратном уровне. В этой статье будут рассмотрены программные решения, предлагаемые компаниями Microsoft и Oracle.

Виды кластеров

Кластер - это группа независимых компьютеров (так называемых узлов или нодов), к которой можно получить доступ как к единой системе. Кластеры могут быть предназначены для решения одной или нескольких задач. Традиционно выделяют три типа кластеров:

  • Кластеры высокой готовности или отказоустойчивые кластеры (high-availability clusters или failover clusters) используют избыточные узлы для обеспечения работы в случае отказа одного из узлов.
  • Кластеры балансировки нагрузки (load-balancing clusters) служат для распределения запросов от клиентов по нескольким серверам, образующим кластер.
  • Вычислительные кластеры (compute clusters), как следует из названия, используются в вычислительных целях, когда задачу можно разделить на несколько подзадач, каждая из которых может выполняться на отдельном узле. Отдельно выделяют высокопроизводительные кластеры (HPC - high performance computing clusters), которые составляют около 82% систем в рейтинге суперкомпьютеров Top500.

Системы распределенных вычислений (gird) иногда относят к отдельному типу кластеров, который может состоять из территориально разнесенных серверов с отличающимися операционными системами и аппаратной конфигурацией. В случае грид-вычислений взаимодействия между узлами происходят значительно реже, чем в вычислительных кластерах. В грид-системах могут быть объединены HPC-кластеры, обычные рабочие станции и другие устройства.

Такую систему можно рассматривать как обобщение понятия «кластер». ластеры могут быть сконфигурированы в режиме работы active/active, в этом случае все узлы обрабатывают запросы пользователей и ни один из них не простаивает в режиме ожидания, как это происходит в варианте active/passive.

Oracle RAC и Network Load Balancing являются примерами active/ active кластера. Failover Cluster в Windows Server служит примером active/passive кластера. Для организации active/active кластера требуются более изощренные механизмы, которые позволяют нескольким узлам обращаться к одному ресурсу и синхронизовать изменения между всеми узлами. Для организации кластера требуется, чтобы узлы были объединены в сеть, для чего наиболее часто используется либо традиционный Ethernet, либо InfiniBand.

Программные решения могут быть довольно чувствительны к задержкам - так, например, для Oracle RAC задержки не должны превышать 15 мс. В качестве технологий хранения могут выступать Fibre Channel, iSCSI или NFS файловые сервера. Однако оставим аппаратные технологии за рамками статьи и перейдем к рассмотрению решений на уровне операционной системы (на примере Windows Server 2008 R2) и технологиям, которые позволяют организовать кластер для конкретной базы данных (OracleDatabase 11g), но на любой поддерживаемой ОС.

Windows Clustering

У Microsoft существуют решения для реализации каждого из трех типов кластеров. В состав Windows Server 2008 R2 входят две технологии: Network Load Balancing (NLB) Cluster и Failover Cluster. Существует отдельная редакция Windows Server 2008 HPC Edition для организации высокопроизводительных вычислительных сред. Эта редакция лицензируется только для запуска HPC-приложений, то есть на таком сервере нельзя запускать базы данных, web- или почтовые сервера.

NLB-кластер используется для фильтрации и распределения TCP/IPтрафика между узлами. Такой тип кластера предназначен для работы с сетевыми приложениями - например, IIS, VPN или межсетевым экраном.

Могут возникать сложности с приложениями, которые полага ются на сессионные данные, при перенаправлении клиента на другой узел, на котором этих данных нет. В NLB-кластер можно включать до тридцати двух узлов на x64-редакциях, и до шестнадцати - на x86.

Failoverclustering - это кластеризации с переходом по отказу, хотя довольно часто термин переводят как «отказоустойчивые кластеры».

Узлы кластера объединены программно и физически с помощью LAN- или WAN-сети, для multi-site кластера в Windows Server 2008 убрано требование к общей задержке 500 мс, и добавлена возможность гибко настраивать heartbeat. В случае сбоя или планового отключения сервера кластеризованные ресурсы переносятся на другой узел. В Enterprise edition в кластер можно объединять до шестнадцати узлов, при этом пятнадцать из них будут простаивать до тех пор, пока не произойдет сбой. Приложения без поддержки кластеров (cluster-unaware) не взаимодействуют со службами кластера и могут быть переключены на другой узел только в случае аппаратного сбоя.

Приложения с поддержкой кластеров (cluster-aware), разработанные с использованием ClusterAPI, могут быть защищены от программных и аппаратных сбоев.

Развертывание failover-кластера

Процедуру установки кластера можно разделить на четыре этапа. На первом этапе необходимо сконфигурировать аппаратную часть, которая должна соответствовать The Microsoft Support Policy for Windows Server 2008 Failover Clusters. Все узлы кластера должны состоять из одинаковых или сходных компонентов. Все узлы кластера должны иметь доступ к хранилищу, созданному с использованием FibreChannel, iSCSI или Serial Attached SCSI. От хранилищ, работающих с Windows Server 2008, требуется поддержка persistent reservations.

На втором этапе на каждый узел требуется добавить компонент Failover Clustering - например, через Server Manager. Эту задачу можно выполнять с использованием учетной записи, обладающей административными правами на каждом узле. Серверы должны принадлежать к одному домену. Желательно, чтобы все узлы кластера были с одинаковой ролью, причем лучше использовать роль member server, так как роль domain controller чревата возможными проблемами с DNS и Exchange.

Третий не обязательный, но желательный этап заключается в проверке конфигурации. Проверка запускается через оснастку Failover Cluster Management. Если для проверки конфигурации указан только один узел, то часть проверок будет пропущена.

На четвертом этапе создается кластер. Для этого из Failover Cluster Management запускается мастер Create Cluster, в котором указываются серверы, включаемые в кластер, имя кластера и дополнительные настройки IP-адреса. Если серверы подключены к сетям, которые не будут использоваться для общения в рамках кластера (например, подключение только для обмена данными с хранилищем), то в свойствах этой сети в Failover Cluster Management необходимо установить параметр «Do not allow the cluster to use this network».

После этого можно приступить к настройке приложения, которое требуется сконфигурировать для обеспечения его высокой доступности.

Для этого необходимо запустить High Availability Wizard, который можно найти в Services and Applications оснастки Failover Cluster Management.

Cluster Shared Volumes

В случае failover-кластера доступ к LUN, хранящему данные, может осуществлять только активный узел, который владеет этим ресурсом. При переключении на другой узел происходит размонтирование LUN и монтирование его для другого узла. В большинстве случаев эта задержка не является критичной, но при виртуализации может требоваться вообще нулевая задержка на переключение виртуальных машин с одного узла на другой.

Еще одна проблема, возникающая из-за того, что LUN является минимальной единицей обхода отказа, заключается в том, что при сбое одного приложения, находящегося на LUN, приходится переключать все приложения, которые хранятся на этом LUN, на другой сервер. Во всех приложениях (включая Hyper-V до второго релиза Server 2008) это удавалось обходить за счет многочисленных LUN, на каждом из которых хранились данные только одного приложения. В Server 2008 R2 появилось решение для этих проблем, но предназначенное для работы только с Hyper-V и CSV (Cluster Shared Volumes).

CSV позволяет размещать на общем хранилище виртуальные машины, запускаемые на разных узлах кластера - тем самым разбивается зависимость между ресурсами приложения (в данном случае виртуальными машинами) и дисковыми ресурсами. В качестве файловой системы CSV использует обычную NTFS. Для включения CSV необходимо в Failover Cluster Manage выполнить команду Enable Cluster Shared Volumes. Отключить поддержку CSV можно только через консоль:

Get-Cluster | %{$_.EnableSharedVolumes = "Disabled"}

Для использования этой команды должен быть загружен Failover Clusters, модуль PowerShell. Использование CSV совместно с live migration позволяет перемещать виртуальные машины между физическими серверами в считанные миллисекунды, без обрыва сетевых соединений и совершенно прозрачно для пользователей. Стоит отметить, что копировать любые данные (например, готовые виртуальные машины) на общие диски, использующие CSV, следует через узел-координатор.

Несмотря на то, что общий диск доступен со всех узлов кластера, перед записью данных на диск узлы запрашивают разрешение у узлакоординатора. При этом, если запись требует изменений на уровне файловой системы (например, смена атрибутов файла или увеличение его размера), то записью занимается сам узел-координатор.

Oracle RAC

Oracle Real Application Clusters (RAC) - это дополнительная опция Oracle Database, которая впервые появилась в Oracle Database 9i под названием OPS (Oracle Parallel Server). Опция предоставляет возможность нескольким экземплярам совместно обращаться к одной базе данных. Базой данных в Oracle Database называет ся совокупность файлов данных, журнальных файлов, файлов параметров и некоторых других типов файлов. Для того, чтобы пользовательские процессы могли получить доступ к этим данным, должен быть запущен экземпляр. Экземпляр (instance) в свою очередь состоит из структур памяти (SGA) и фоновых процессов. В отсутствии RAC получить доступ к базе данных может строго один экземпляр.

Опция RAC не поставляется с Enterprise Edition и приобретается отдельно. Стоит отметить, что при этом RAC идет в составе Standard Edition, но данная редакция обладает большим количеством ограничений по сравнению с Enterprise Edition, что ставит под сомнение целесообразность ее использования.

Oracle Grid Infrastructure

Для работы Oracle RAC требуется Oracle Clusterware (или стороннее ПО) для объединения серверов в кластер. Для более гибкого управления ресурсами узлы такого кластера могут быть организованы в пулы (с версии 11g R2 поддерживается два варианта управления - на основании политик для пулов или, в случае их отсутствия, администратором).

Во втором релизе 11g Oracle Clusterware был объединен с ASM под общим названием Oracle Grid Infrastructure, хотя оба компонента и продолжают устанавливаться по различным путям.

Automatic Storage Management (ASM) - менеджер томов и файловая система, которые могут работать как в кластере, так и с singleinstance базой данных. ASM разбивает файлы на ASM Allocation Unit.

Размер Allocation Unit определяется параметром AU_SIZE, который задается на уровне дисковой группы и составляет 1, 2, 4, 8, 16, 32 или 64 MB. Далее Allocation Units распределяются по ASM-дискам для балансировки нагрузки или зеркалирования. Избыточность может быть реализована, как средствами ASM, так и аппаратно.

ASM-диски могут быть объединены в Failure Group (то есть группу дисков, которые могут выйти из строя одновременно - например, диски, подсоединенные к одному контролеру), при этом зеркалирование осуществляется на диски, принадлежащие разным Failure Group. При добавлении или удалении дисков ASM автоматически осуществляет разбалансировку, скорость которой задается администратором.

На ASM могут помещаться только файлы, относящиеся к базе данных Oracle, такие как управляющие и журнальные файлы, файлы данных или резервные копии RMAN. Экземпляр базы данных не может взаимодействовать напрямую с файлами, которые размещены на ASM. Для обеспечения доступа к данным дисковая группа должна быть предварительно смонтирована локальным ASM-экземпляром.

Развертывание Oracle RAC

Рассмотрим этапы установки различных компонентов, необходимых для функционирования Oracle RAC в режиме active/active кластера с двумя узлами. В качестве дистрибутива будем рассматривать последнюю на момент написания статьи версию Oracle Database 11g Release 2. В качестве операционной системы возьмем Oracle Enterprise Linux 5. Oracle Enterprise Linux - операционная система, базирующаяся на RedHat Enterprise Linux. Ее основные отличия - цена лицензии, техническая поддержка от Oracle и дополнительные пакеты, которые могут использоваться приложениями Oracle.

Подготовка ОС к установке Oracle стандартна и заключается в создании пользователей и групп, задании переменных окружения и параметров ядра. Параметры для конкретной версии ОС и БД можно найти в Installation Guide, который поставляется вместе с дистрибутивом.

На узлах должен быть настроен доступ к внешним общим дискам, на которых будут храниться файлы базы данных и файлы Oracle Clusterware. К последним относятся votingdisk (файл, определяющий участников кластера) и Oracle Cluster Registry (содержит конфигурационную информацию - например, какие экземпляры и сервисы запущены на конкретном узле). Рекомендуется создавать нечетное количество votingdisk. Для создания и настройки ASMдисков желательно использовать ASMLib, которую надо установить на всех узлах:

# rpm -Uvh oracleasm-support-2.1.3-1.el4.x86_64.rpm

rpm -Uvh oracleasmlib-2.0.4-1.el4.x86_64.rpm

rpm -Uvh oracleasm-2.6.9-55.0.12.ELsmp-2.0.3-1.x86_64.rpm

Кроме интерфейса для взаимодействия с хранилищем на узлах желательно настроить три сети - Interconnect, External и Backup.
Необходимо настроить IP-адресацию (вручную или с использованием Oracl e GNS) и DNS для разрешения всех имен (или только GNS).

Вначале осуществляется установка Grid Infrastructure. Для этого загружаем и распаковываем дистрибутив, затем запускаем установщик. В процессе установки необходимо указать имя кластера; указать узлы, которые будут входить в кластер; указать назначение сетевых интерфейсов; настроить хранилище.

В конце нужно выполнить с правами root скрипты orainstRoot.sh и root.sh. Первым на всех узлах выполняется скрипт orainstRoot.sh, причем запуск на следующем узле осуществляется только после завершения работы скрипта на предыдущем. После выполнения orainstRoot.sh последовательно на каждом узле выполняется root.sh. Проверить успешность установки можно с помощью команды:

/u01/grid/bin/crsctl check cluster –all

Выполнив проверку, можно приступать к установке базы данных. Для этого запускаем Oracle Universal installer, который используется и для обычной установки базы.

Кроме active/active-кластера в версии 11g R2 существуют две возможности для создания active/passive-кластера. Одна из них - Oracle RACOneNode. Другой вариант не требует лицензии для RAC и реализуется средствами Oracle Clusterware. В этом случае вначале создается общее хранилище; затем устанавливается Grid Infrastructure, с использованием ASM_CRS и SCAN; а после этого на узлы устанавливается база данных в варианте Standalone. Далее создаются ресурсы и скрипты, которые позволяют запускать экземпляр на другом узле в случае недоступности первого.

Заключение

Oracle RAC совместно с Oracle Grid Infrastructure позволяют реализовать разнообразные сценарии построения кластеров. Гибкость настройки и широта возможностей компенсируются ценой такого решения.

Решения же Microsoft ограничены не только возможностями самой кластеризации, но и продуктами, которые могут работать в такой среде. Хотя стоит отметить, что набор таких продуктов все равно шире, чем одна база данных.

Ссылки по теме

  • High Availability решения от Microsoft: microsoft.com/windowsserver2008/en/us/high-availability.aspx ;
  • Подборка ссылок на документацию и ресурсы по Failover Clustering и NLB: blogs.msdn.com/b/clustering/archive/2009/08/21/9878286.aspx (блог - Clusteringand HighAvailability содержит много полезной информации);
  • Документация и дистрибутивы Oracle RAC: oracle.com/technetwork/database/clustering/overview/index.html ;
  • Документация и дистрибутивы Oracle Clusterware и Oracle Grid Infrastructure: oracle.com/technetwork/database/clusterware/overview/index.html ;
  • Настройка Oracle Clusterware для защиты Single Instance Oracle Database 11g:

Условное деление на классы предложено Язеком Радаевским и Дугласом Эдлайном:

Класс I. Класс машин строится целиком из стандартных деталей, которые продают многие продавцы компьютерных компонент (низкие цены, простое обслуживание, аппаратные компоненты доступны из различных источников).

Класс II. Система имеет эксклюзивные или не широко распространенные детали. Этим можно достичь очень хорошей производительности, но при более высокой стоимости.

Как уже указывалось выше, кластеры могут существовать в различных конфигурациях. Наиболее употребляемыми типами кластеров являются: Системы высокой надежности. Системы для высокопроизводительных вычислений. Многопоточные системы.

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

Кластеры для высокопроизводительных вычислений предназначены для параллельных расчётов. Эти кластеры обычно собраны из большого числа компьютеров. Разработка таких кластеров является сложным процессом, требующим на каждом шаге аккуратных согласований таких вопросов как инсталляция, эксплуатация и одновременное управление большим числом компьютеров, технические требования параллельного и высокопроизводительного доступа к одному и тому же системному файлу (или файлам) и межпроцессорная связь между узлами и координация работы в параллельном режиме. Эти проблемы проще всего решаются при обеспечении единого образа операционной системы для всего кластера. Однако реализовать подобную схему удаётся далеко не всегда и обычно она обычно применяется лишь для не слишком больших систем.

Многопоточные системы используются для обеспечения единого интерфейса к ряду ресурсов, которые могут со временем произвольно наращиваться (или сокращаться) в размере. Наиболее общий пример этого представляет собой группа Веб-серверов.

В 1994 году Томас Стерлинг (Sterling) и Дон Беккер (Becker) создали 16-и узловой кластер из процессоров Intel DX4, соединенных сетью 10Мбит/с Ethernet с дублированием каналов. Они назвали его «Beowulf » по названию старинной эпической поэмы. Кластер возник в центре NASA Goddard Space Flight Center для поддержки необходимыми вычислительными ресурсами проекта Earth and Space Sciences. Проектно-конструкторские работы над кластером быстро превратились в то, что известно сейчас под названием проект Beowulf. Проект стал основой общего подхода к построению параллельных кластерных компьютеров и описывает многопроцессорную архитектуру, которая может с успехом использоваться для параллельных вычислений. Beowulf-кластер, как правило, является системой, состоящей из одного серверного узла (который обычно называется головным узлом), а также одного или нескольких подчинённых узлов (вычислительных узлов), соединённых посредством стандартной компьютерной сети. Система строится с использованием стандартных аппаратных компонент, таких как ПК, запускаемых под Linux, стандартных сетевых адаптеров (например, Ethernet) и коммутаторов. Нет особого программного пакета, называемого «Beowulf». Вместо этого имеется несколько кусков программного обеспечения, которые многие пользователи нашли пригодными для построения кластеров Beowulf. Beowulf использует такие программные продукты как операционную систему Linux, системы передачи сообщений PVM, MPI, системы управления очередями заданий и другие стандартные продукты. Серверный узел контролирует весь кластер и обслуживает файлы, направляемые к клиентским узлам.

    Транспьютерные системы.

Транспьютер (англ. transputer ) - элемент построения многопроцессорных систем, выполненный на одном кристалле большой интегральной схемы, продукт английской компании INMOS Ltd. (ныне - подразделение STMicroelectronics ).

Термин транспьютер происходит от слов Transistor и Computer . Такой генезис должен, по мнению разработчиков, подчёркивать возможность построения сложных вычислительных комплексов на базе транспьютеров, где их роль уподоблялась бы роли транзисторов, выступающих основным элементом при проектировании электронных схем. Другая интерпретация: trans-put-er -тот, кто передаёт , указывает на присутствие встроенных скоростных устройств ввода/вывода для обмена с соседними процессорами.

Параллельная система может создаваться из набора транспьютеров, которые функционируют независимо и взаимодействуют через последовательные каналы связи. Такие системы можно проектировать и программировать на языке Occam , основанном на концепции взаимодействующих процессов (англ.), или на других языках (например, Concurrent C, Concurrent Fortran), имеющих соответствующие средства.

Язык программирования Occam был разработан компанией INMOS на основе теории Энтони Хоара (англ. C . A . R . Hoare ) о взаимодействии процессов. Occam является алголо -подобным языком высокого уровня; при этом язык оптимизирован с точки зрения эффективности его трансляции в систему команд транспьютера. Первоначально INMOS даже предлагала воспринимать Occam в качестве транспьютерного ассемблера, но позже выпустила пакет низкоуровневых средств для разработчиков компиляторов, а также включила в Occam предписание GUY, позволяющее вставлять код на уровне процессора.

Транспьютеры успешно использовались в различных областях - от встроенных систем до суперЭВМ. В настоящее время транспьютеры не производятся, будучи вытесненными похожими разработками конкурентов, особенно Texas Instruments (TMS320) и Intel (80860 ). Принято считать, что концепция транспьютеров оказала заметное влияние на развитие микропроцессорной техники 1980 -1990-х годов . Так, термин линк (link) - физический канал связи между параллельно работающими процессорами - пришёл из транспьютеров, а протокол транспьютерного линка стал стандартом IEEE.

Понятие «кластер» может варьироваться в зависимости от возлагаемых на него ролей. Цель данной статьи — ознакомить читателя с полным спектром кластерных решений, представленных на рынке, и помочь определиться в выборе варианта для тех или иных задач. Рассмотрим каждый вид кластеров на конкретных примерах решений от Microsoft.

Кластеры балансировки нагрузки
Итак, первая задача: есть серверное приложение (например, веб-сайт). Необходимо, чтобы оно выполнялось параллельно на нескольких серверах средней или малой мощности, причем вычислительная часть должна легко расширяться в зависимости от нагрузки.

Для решения используется метод балансировки нагрузки (Network Load Balancing, NLB). Он заключается в построении фермы объединенных сетевыми интерфейсами серверов (узлов), на которых выполняется общее серверное приложение. Под общ-ностью подразумеваются одинаковые параметры безопасности и конфигурации приложения на всех узлах. В то же время общие данные вынесены за пределы фермы и расположены на отдельных серверах или сетевых хранилищах.

Использование NLB позволяет не столько повысить скорость выполнения отдельного серверного приложения (время одного запроса бесконечно мало в сравнении с количеством запросов), сколько перераспределять нагрузку между несколькими узлами с идентичными приложениями. Для этого в общей сети фермы, которая объединяет узлы между собой и обеспечивает доступ пользователей к узлам, NLB регистрирует общий — публичный — IP-адрес будущего кластера. Именно этот IP-адрес будет доступен пользователям для обращения к серверным приложениям. Кроме того, все узлы фермы добавляются в кластер с собственными — приватными — IP-адресами.


Упрощенно механизм работы NLB-кластера выглядит следующим образом: при первом обращении пользователя на публичный IP-адрес, запрос перенаправляется на один из узлов кластера по приватному IP-адресу, где и обрабатывается конкретным серверным приложением. Связка «адрес пользователя — приватный адрес узла» (на практике параметров привязки намного больше) сохраняется службой NLB и при следующем обращении соединение происходит с тем узлом, на котором был обработан его предыдущий запрос. Запрос от другого пользователя перенаправляется на следующий узел кластера (или по какому-то другому принципу — нагрузке, приоритетов портов, — это зависит от конкретной реализации и настроек NLB).

Таким образом, благодаря NLB, создается эффективное серверное приложение, исполняемое на группе машин, фактически в линейной зависимости суммирующее общую производительность относительно количества узлов. При этом достигается высокая отказоустойчивость, поскольку под одной «точкой входа» к тому или иному сервису кластер может предоставить избыточное количество узлов одинаковой функциональности.

К недостаткам кластеров балансировки нагрузки следует отнести то, что серверное приложение должно быть приспособлено к работе в NLB, в частности, для сохранности данных и состояний пользователя на каждом узле.



В качестве примера представим веб-ферму на базе NLB-кластера с веб-приложением, куда пользователь вносит данные. Помимо переадресации запросов на конкретные узлы, других задач NLB не выполняет, поэтому по умолчанию все данные пользователя сохранятся на том узле кластера, к которому его подключила система при первом обращении. Если пользователь отключился от веб-приложения и вернулся через 15 минут — нет никакой гарантии, что он будет перенаправлен на тот же узел, следовательно, он может не увидеть введенные ранее данные. Кроме того, современные веб-приложения активно используют понятие «состояния сессии» для сохранения глобальных переменных (например, результат аутентификации пользователя при регистрации через веб-форму) или передачи параметров и массивов данных при переходе между веб-страницами. По умолчанию сессия сохраняется в рабочем процессе серверного веб-приложения, т.е. в случае сбоя узла, перезагрузки рабочего процесса или других нештатных ситуаций данные текущей сессии будут утеряны безвозвратно. При следующем обращении пользователя, чей текущий узел отключился, запрос будет переведен NLB на другой узел. Однако этот узел не будет «знать», какую аутентификацию прошел пользователь, в какой части сайта он находился. В результате вместо формы с заполненными данными на экране пользователя появится приглашение на ввод пароля или первая страница сайта. Поэтому для нормального функционирования кластера NLB, его узлы помимо публичной сети должны иметь и внутреннюю сеть, где будут присутствовать серверы общих ресурсов — базы данных, файловые хранилища, хранилища состояний сессий и т.п., — доступные одновременно всем серверным приложениям на всех узлах. И эти приложения должны «знать» о том, каким образом хранить общие данные на внешнем ресурсе.

Пример построения фермы веб-серверов

Требуемые программные продукты: Microsoft Windows Server 2008 любых редакций. Начиная с самой младшей редакции, Web Edition, и заканчивая Datacenter Edition, Windows Server 2008 поддерживает службу Windows Network Load Balancing (WNLB) и может выступать в роли узла кластера NLB. Для предыдущих версий Windows Server (2003, 2003 R2) смотри соответствующие спецификации. Максимальное поддерживаемое число узлов в кластере — 32.

Требуемое аппаратное обеспечение: рекомендуемые Microsoft конфигурации к выбранной редакции ОС (беспокоиться о требованиях службы WNLB к памяти не следует — понадобится от 1 до 32 МБ в зависимости от нагрузки; в среднем — 2 МБ) и требования программного обеспечения, которое будет выполняться как задача; сетевой коммутатор с поддержкой протокола IGMP (желательно) или, если поддержка мультикастинга сетевым оборудованием не обеспечивается, — два сетевых адаптера на каждом узле.

Алгоритм процесса развертывания следующий:

1. Установить на всех узлах будущего NLB-кластера службу Network Load Balancing, добавляется как Feature сервера Windows Server 2008.

2. Запустить оснастку управления Network Load Balancing Manager на любом из узлов и запустить мастер создания NLB-кластера командой New Cluster.

3. Мастер после указания имени первого узла позволяет определить сетевой интерфейс узла, где будет работать публичная сеть, приоритеты узла и, собственно, IP-адрес(а) и FQDN будущего кластера, режим работы кластера (юникаст, мультикаст, аппаратный IGMP) и, самое главное, правила распределения запросов между узлами кластера. Правило по умолчанию — это равномерное распределение всех запросов на все IP-адреса кластера независимо от порта, с «привязкой» конкретного отвечающего узла к IP-адресу клиента.

4. По завершении работы мастера, кластер конфигурируется и запускается в указанной конфигурации с одним узлом (определенным в мастере создания). Команда Add Host To Cluster запускает мастер добавления новых узлов в кластер. При этом не обязательно загружать консоль Network Load Balancing Manager на подключаемом узле. Мастер автоматически связывается с указанным сервером, проверяет наличие установленной службы NLB и только после этого конфигурирует службу и добавляет узел в указанный кластер.

К слову, даже без использования стороннего ПО служба NLB поддерживает различные «хитрые» конфигурации. Например, она способна одновременно поддерживать и кластер для определенных приложений, и работу серверов как отдельных узлов по любому адресу/порту с балансировкой только при сбое. Также в NLB один сервер может одновременно выступать узлом в различных кластерах.



Конечно, не следует рассматривать NLB-кластер как панацею от всех бед, связанных с производительностью и высокой нагрузкой. По сути, функция NLB заключается в выполнении одной простой задачи — распределения обращений между узлами, поэтому такой кластер ничего не «знает» об особенностях тех или иных приложений и не учитывает их в своей работе. В результате многие службы — и простые, как File Sharing, Active Directory Domain Controller, и сложные, например, Windows Terminal Services, Microsoft SQL Server (либо СУБД других производителей) — не будут работать в режиме NLB-кластера, поскольку для распределения нагрузки между их сервисами требуется больше, чем просто распределение запросов. Для каждой из служб существуют сервисы балансировки нагрузки. Например, сервис Distributed File System (DFS) обеспечивает распределение данных и запросов пользователей между файловыми серверами в сети, а для SQL Server — специальные настройки репликации данных между серверами и механизмы контроля целостности на уровне приложений.

Кроме того, поскольку подход NLB по сути — сетевой, то критерий функционирования узлов для него ограничивается работой стека TCP/IP на узлах кластера. А работает ли на определенном порту узла какой-либо сервис (тот же IIS), NLB не проверяет и будет успешно передавать все http-запросы на узел, где служба IIS остановлена. Другими словами, работа службы NLB — отдать пакет узлу, а кто и как, и будет ли вообще его обрабатывать — ее уже не волнует.

Кластеры высокой доступности


Есть некотор ая многомерная задача, которую распараллелить невозможно, но требуется реализовать ее надежное выполнение на некотором наборе серверных ресурсов. При этом необходимо обеспечить не только физическую доступность сервиса, но и работу служб, нагрузку и т.д. Такие задачи решают кластеры высокой доступности (High Availability Cluster).

Кластеры высокой доступности обеспечивают гарантированную работу целевого приложения на одном из своих серверных узлов, объединенных высокоскоростной сетью для обмена состояниями процессов и общей дисковой СХД. В случае выхода из строя узла с приложением, вмешательства оператора, снижения производительности приложения до некоторого порога и т.п., целевое приложение запускается на другом доступном узле кластера. Поскольку данные приложения хранятся на общем дисковом массиве, они остаются доступными и при старте на другом узле, а сетевое имя и адрес маршрутизируется кластером между узлами. В отличие от NLB-кластера, который, по сути, является точкой обращения к приложениям, программы в HA-кластере представлены как отдельные сетевые серверные ресурсы. Каждый из таких сервисов имеет собственные IP-адрес и имя, отличные от IP-адресов/имен кластера и узлов. Кластеры высокой доступности обеспечивают надежное выполнение серверных приложений, но не повышают их производительность. Часто — даже наоборот, скорость работы несколько снижается, поскольку возникают накладные расходы на менеджмент ресурсов узла.

Таким образом, HA-кластер можно назвать «приложениецентричной» службой. Для нее важно, чтобы приложение получало все необходимые ресурсы — процессорное время, память, дисковую подсистему, сетевые соединения. Благодаря столь обширному контролю, пользователи всегда имеют доступ к приложению, которое мигрирует в случае сбоя отдельного узла на следующий свободный по задаваемому администраторами алгоритму. То есть, пожертвовав некоторым количеством серверов, которые в определенный момент простаивают «на подхвате» (пассивный режим, в отличие от активного режима того узла, где работает конкретная задача), можно быть уверенным, что аппаратный или программный сбой отдельного сервера не прервет бизнес-процессы организации.

В простейшем варианте HA-кластеры состоят из активного и пассивного узла. На активном выполняется задача, пассивный используется в случаях сбоев основного узла либо же при обновлении аппаратного или программного обеспечения. Для экономии аппаратных ресурсов порой используют конфигурации активный/активный, где на каждом из узлов выполняется своя задача. В таком случае при переносе задачи с одного узла на другой второй узел будет выполнять две задачи одновременно, но с более низкой производительностью обеих (если не сконфигурированы какие-то специальные приоритеты). Поэтому, если планируется отказоустойчивое решение для работы нескольких критических бизнес-приложений (или их отдельных служб), используется HA-кластер с 4, 8 или более узлами, один или два из которых работают в пассивном режиме, а остальные — в активном.

Однако наиболее важным нюансом при построении больших кластеров является общая дисковая система хранения данных. Она объединяет все узлы кластера и позволяет запущенным на них задачам получать доступ к необходимым данным независимо от узла, на котором они сейчас загружены. При большом количестве узлов и работающих на них «тяжелых» приложений, требуется очень высокая пропускная способность общей шины данных, а также большое количество выделяемых логических дисковых устройств на этой шине, поскольку каждому приложению необходимо, по крайней мере, одно такое устройство в единоличное пользование.

Пример построения HA-кластера



Таким образом, в отличие от NLB-кластера, здесь потребуется специ-фическое оборудование — общая дисковая подсистема.

Требуемые программные продукты: Microsoft Windows Server 2008 в редакциях Enterprise или Datacenter — только они поддерживают работу кластера высокой доступности с применением Windows Server Failover Clustering. Количество узлов в кластере — 16, все узлы должны быть участниками одного домена Active Directory. Без Active Directory установить HA-кластер под управлением Windows Server Failover Clustering невозможно. Программное обеспечение, которое будет выполняться как задача, должно поддерживать работу в HA-кластере (или обеспечивать возможность переноса конфигурации, состояний между узлами).

Требуемое аппаратное обеспечение: рекомендуемые Microsoft конфигурации к выбранной редакции ОС, требования ПО (с учетом вероятности работы нескольких приложений на одном узле); два высокоскоростных (не менее 100 Мбит) сетевых интерфейса. Первый — для публикации в общей сети ресурсов кластера и приложений, другой — как внутренний интерфейс обмена данными между службами Windows Server Failover Clustering узлов для информирования о сбоях и режимах работы; общая дисковая подсистема, подключенная ко всем узлам, построенная на технологиях Fiber Channel, SCSI, iSCSI и в которой присутствует дисковое хранилище, оснащенное по крайней мере двумя свободными логическими дисковыми устройствами (одно — для общих данных служб кластеризации узлов Windows Server Failover Clustering, второе — непосредственно для данных кластеризуемого приложения). Если предполагается исполнение на узлах более одного приложения или приложение требует нескольких дисков, число логических устройств можно увеличить.

Алгоритм процесса развертывания:

1. Добавить серверы, которые будут работать как узлы HA-кластера, в домен Active Directory.



2. Подключить и настроить аппаратные компоненты, требуемые для работы кластера на каждом из узлов (особенно касается дисковой подсистемы).

3. Установить на всех узлах службу Windows Server Failover Clustering, которая добавляется как свойство сервера Windows Server 2008.

4. Запустить на одном из узлов оснастку Failover Cluster Management. Командой Validate a Configuration запустить мастер проверки конфигурации оборудования будущего кластера. Мастеру указываются имена всех узлов, которые будут задействованы в кластере, он автоматически находит всё требуемое оборудование и проверяет его в различных режимах работы. Процесс проверки занимает от 15 минут до нескольких часов. Рекомендуется внести все изменения, которые будут предложены мастером по окончании работы.

5. В оснастке Failover Cluster Management запустить командой Create a Cluster мастер создания кластера. После указания имен всех будущих узлов кластера и проверки наличия на них службы Windows Server Failover Clustering, мастер потребует только IP-адрес и имя будущего кластера. Процесс непосредственного создания кластера занимает буквально минуту.

6. После создания кластера в Failover Cluster Management будет отображена структура нового кластера. После проверки конфигурации, подготавливаем целевое приложение или сервис для работы в отказоустойчивом режиме. (Если требуется сервер БД, то на данном шаге его необходимо установить в кластерном режиме на каждый из узлов кластера, где он должен работать. Если работа сервера не будет нормироваться отдельными узлами, лучше устанавливать на все узлы. Процесс кластерной установки сервера БД только копирует исполнимые файлы приложения, а дальнейшая настройка и конфигурирование выполняется непосредственно в оснастке.)



7. В оснастке Failover Cluster Management в разделе Services and Applications запускаем мастер создания приложения High Availability Wizard. Выбираем из списка установленных служб требующуюся, определяем IP-адрес и имя будущего сервера баз данных, указываем, какие из доступных дисков общего хранилища предоставляем для данного приложения. Мастер создает приложение, которое запускается в режим онлайн.

Если на HA-кластере работает несколько задач, нужно быть готовыми к тому, что они не всегда совместимы между собой на одном узле или не позволяют двухузловому кластеру работать в режиме активный/активный. Поэтому в решениях отказоустойчивой кластеризации на Windows Server 2008 рекомендуется использовать средства встроенной виртуализации Windows Hyper-V. Виртуальная машина с точки зрения кластеризации является обычным сервисом, выполнение которого следует остановить на одном узле, сохранив его данные в общем хранилище, и запустить на другом узле. При этом виртуальная машина не просто сохраняет данные (собственно, ее основные данные и так находятся в общем хранилище кластера) — сервис виртуализации приостанавливает работу переносимой виртуальной машины и сохраняет состояние оперативной памяти в виде файла на диске. Далее этот файл восстанавливается на другом узле как память запущенной там ранее остановленной виртуальной машины. Таким образом можно добиться более безопасного и изолированного исполнения нескольких несовместимых служб на одном узле, а также более полного использования аппаратных ресурсов, поскольку несколько виртуальных машин позволяют эффективнее распределять процессорное время между виртуальными процессорами. О вычислительных кластерах на базе решений Microsoft см. приложение PCWeek Review №3 «Ресурсоёмкие вычисления».

Выбор редакции
1.1 Отчет о движении продуктов и тары на производстве Акт о реализации и отпуске изделий кухни составляется ежед­невно на основании...

, Эксперт Службы Правового консалтинга компании "Гарант" Любой владелец участка – и не важно, каким образом тот ему достался и какое...

Индивидуальные предприниматели вправе выбрать общую систему налогообложения. Как правило, ОСНО выбирается, когда ИП нужно работать с НДС...

Теория и практика бухгалтерского учета исходит из принципа соответствия. Его суть сводится к фразе: «доходы должны соответствовать тем...
Развитие национальной экономики не является равномерным. Оно подвержено макроэкономической нестабильности , которая зависит от...
Приветствую вас, дорогие друзья! У меня для вас прекрасная новость – собственному жилью быть ! Да-да, вы не ослышались. В нашей стране...
Современные представления об особенностях экономической мысли средневековья (феодального общества) так же, как и времен Древнего мира,...
Продажа товаров оформляется в программе документом Реализация товаров и услуг. Документ можно провести, только если есть определенное...
Теория бухгалтерского учета. Шпаргалки Ольшевская Наталья 24. Классификация хозяйственных средств организацииСостав хозяйственных...