Создание отказоустойчивого кластера высокой доступности на Windows.
Импортозамещение! Распродажа российских серверов Рикор. В наличии на складе в Москве. Внесены в реестр Минпромторга. Конфигурация на заказ. Количество ограничено!
Несмотря на неоднозначное отношение к Microsoft необходимо отметить, что компания сделала высокие технологии доступными для простых пользователей. Так или иначе, но современное положение сферы информационных технологий не в последнюю очередь определено именно компанией Microsoft.
Далеко не всегда решения и продукты от компании Microsoft сразу занимали позиции на уровне специализированных решений, однако наиболее важные все равно постепенно выбивались в лидеры в соотношении цена/функциональность, а также по простоте внедрения. Одним из таких примеров являются кластеры.
Разработка вычислительных кластеров не является сильной стороной Microsoft. Об этом свидетельствует, в том числе, тот факт, что разработки компании не попали в список Top-500 суперкомпьютеров. Поэтому совершенно логично, что в линейке Windows Server 2012 отсутствует редакция HPC (High-performance computing –высокопроизводительные вычисления).
Кроме того, учитывая особенности высокопроизводительных вычислений, платформа Windows Azure кажется более перспективной. Поэтому компания Microsoft сосредоточила свое внимание на кластерах высокой доступности.
Кластеры в Windows.
Впервые поддержка кластеров была реализована компанией Microsoft еще в операционной системе в Windows NT 4 Server Enterprise Edition в виде технологии Microsoft Cluster Service (MSCS). В операционной системе Windows Server 2008 она превратилась в компонент Failover Clustering. По сути это кластеры с обработкой отказа или высокодоступные кластеры, хотя иногда их не вполне корректно называют отказоустойчивыми.
В общем случае при выходе из строя узла, к которому идет запрос, как раз и будет проявляться отказ в обслуживании, однако при этом произойдет автоматический перезапуск кластеризуемых сервисов на другом узле, и система будет приведена в состояние готовности в кратчайший срок.
Кластер высокой доступности на Windows включает в себя как минимум два узла с установленными операционными системами и соответствующими ролями. Узлы должны быть подключены к внешней сети и внутренней сети, необходимой для обмена служебными сообщениями, к общему хранилищу служебных ресурсов (например, диск-свидетель для кворума). Кроме того, в систему входят и данные кластеризуемых приложений. В ситуации, когда сервисы исполняются только на одном из узлов, реализуется схема Active-Passive, то есть сервисы выполняются на одном узле, а второй работает в дежурном режиме. Когда оба узла несут полезную нагрузку, реализуется схема Active-Active.
С момента первой реализации, поддержка кластеров в Windows существенно изменилась. Была реализована поддержка файловых и сетевых служб, позже SQL Server (в операционной системе Windows Server 2000), Exchange Server ( в Windows Server 2003), и другие стандартные службы и роли, включая Hyper-V (в операционной системе Windows Server 2008). Была улучшена масштабируемость (до 64 узлов в Windows Server 2012), список кластеризуемых сервисов был расширен.
Поддержка виртуализации, а также позиционирование Windows Server как облачной операционной системы, стали поводом для дальнейшего развития поддержки кластеров, поскольку высокая плотность вычислений предъявляет высокие требования к надежности и доступности инфраструктуры. Поэтому, начиная с операционной системы Windows Server 2008, именно в этой области сосредоточена основная масса усовершенствований.
В операционной системе Windows Server 2008 R2 реализованы общие тома кластера Hyper-V (CSV), позволяющие узлам одновременно обращаться к одной файловой системе NTFS. В результате несколько кластерных виртуальных машин могут использовать один адрес LUN и мигрировать с узла на узел независимо.
В Windows Server 2012 кластерная поддержка Hyper-V была усовершенствована. Была добавлена возможность управления на уровне целого кластера приоритетами виртуальных машин, определяющих порядок перераспределения памяти, восстановления вирутальных машин в случае выхода из строя узлов или запланированной массовой миграции. Были расширены возможности мониторинга – в случае сбоя контролируемой службы появилась возможность перезапуска не только самой службы, но и всей виртуальной машины. Есть возможность осуществления миграции на другой, менее загруженный узел. Реализованы и другие, не менее интересные нововведения, касающиеся кластеризации.
Кластеры в Windows Server 2012.
Сначала остановимся на нововведениях в базовых технологиях, которые используются кластерами или помогаю расширить их возможности.
SMB 3.0
Новая версия протокола SMB 3.0 используется для сетевого обмена данными. Этот протокол востребован при выполнении чтения, записи и других файловых операций на удаленных ресурсах. В новой версии реализовано большое количество усовершенствований, которые позволяют оптимизировать работу SQL Server, Hyper-V и файловых кластеров. Обратим внимание на следующие обновления:
- прозрачная отказоустойчивость. Это новшество обеспечивает непрерывность выполнения операций. При сбое одного из узлов файлового кластера текущие операции автоматически передаются другому узлу. Благодаря этому нововведению стала возможной реализация схемы Active-Active с поддержкой до 8 узлов.
- масштабирование. Благодаря новой реализации общих томов кластера (версия 2.0) существует возможность одновременного доступа к файлам через все узлы кластера, за счет чего достигается агрегация пропускной способности и осуществляется балансировка нагрузки.
- SMB Direct. Реализована поддержка сетевых адаптеров с технологией RDMA. Технология RDMA (удаленный прямой доступ к памяти) позволяет передавать данные непосредственно в память приложения, существенно освобождая центральный процессор.
- SMB Multichannel. Позволяет агрегировать пропускную способность и повышает отказоустойчивость при наличии нескольких сетевых путей между сервером с поддержкой SMB 3.0 и клиентом.
Необходимо сказать, что для использования этих возможностей поддержка SMB 3.0 должна присутствовать на обоих концах соединения. Компания Microsoft рекомендует использование серверов и клиентов одного поколения (в случае с Windows Server 2012 такой клиентской платформой является Windows 8). К сожалению, на сегодня Windows 7 поддерживает только SMB версии 2.1.
Storage Spaces.
Технология Storage Spaces реализована впервые в операционных системах Windows Server 2012 и Windows 8. Реализована поддержка новой файловой системы ReFS, которая обеспечивает функции повышения отказоустойчивости. Есть возможность назначения дисков в пуле для горячей замены (в случае отказа других носителей или для быстрой замены исчерпавшего свой ресурс SSD). Кроме того, расширены возможности тонкой настройки с использованием PowerShell.
По сути, технология Storage Spaces является программной реализацией RAID, расширенной за счет большого числа дополнительных функций. Во-первых, накопители с прямым доступом должны быть объединены в пулы. В принципе накопители могут быть любых типов и мощностей, однако для организации стабильной работы необходимо четкое понимание принципов функционирования технологии.
Далее на пулах можно создавать виртуальные диски следующих типов (не путать с VHD/VHDX):
- простой (является аналогом RAID 0);
- зеркало (двухстороннее зеркало является аналогом RAID1, трехстороннее зеркало представляет собой более сложную схему наподобие RAID 1E)
- с контролем четности (является аналогом RAID 5. Данный вариант обеспечивает минимальный перерасход пространства при минимальной отказоустойчивости).
Технология Storage Spaces не является абсолютным новшеством. Похожие возможности были давно реализованы в Windows Server, например в форме динамических дисков. Технология Storage Spaces позволяет сделать использование всех этих возможностей более удобными и обеспечить новый уровень использования. Среди прочих преимуществ Storage Spaces необходимо отметить тонкую инициализацию (thin provisioning), которая дает возможность назначать виртуальным дискам размеры сверх доступных в реальности из расчета на добавление в соответствующий пул новых накопителей впоследствии.
Один из наиболее непростых вопросов, связанных с технологией Storage Spaces – это производительность. Как правило, программные реализации RAID уступают по производительности аппаратным вариантам. Однако, если речь идет о файловом сервере, то Storage Spaces получает в свое распоряжение большой объем оперативной памяти и мощный процессор, поэтому необходимо тестирование с учетом различных видов нагрузки. С этой точки зрения особую ценность приобретают возможности тонкой настройки с использованием PowerShell.
Технология Storage Spaces предлагает отказ от RAID-контроллеров и дорогих систем хранения, перенеся из логику на уровень операционной системы. Эта идея раскрывает все свои достоинства и оказывается достаточно привлекательной вместе с еще одним новшеством.
Scale-Out File Server (SOFS).
Еще одним новшеством является режим кластеризуемой роли File Server в Windows Server 2012, который получил название Scale-Out File Server. Теперь реализована поддержка двух типов кластеризации, названия которых полностью звучат как File Sever for General Use и Scale-Out File Server (SOFS) for application data. Каждая из технологий имеет свои сферы применения, а также свои достоинства и недостатки.
Всецелевой файловый сервер представляет собой хорошо известный тип кластера Active-Passive. В свою очередь SOFS представляет собой кластер Active-Active, являясь действительно отказоустойчивой конфигурацией. Для совместного доступа к соответствующим папкам используется опция Continuously Available.
Помимо отличных характеристик отказоустойчивости это обеспечивает повышение пропускной способности при условии рационального проектирования сетевой архитектуры. Проксирующая файловая система CSV 2.0 (CSVFS) позволяет уменьшить влияние CHKDSK, позволяя утилите выполнять необходимые операции, сохраняя при этом возможность работы с томом активных приложений. Реализовано кэширование чтения с CSV. Использование CSV обеспечивает простоту и удобство развертывания и управления. Пользователю нужно создать обычный кластер, настроить том CSV и активировать роль файлового сервера в режиме Scale-Out File Server for application data.
Благодаря простоте и функциональности предложенного решения сформировался новый класс оборудования «кластер-в-коробке» (Сluster-in-a-Box, CiB). Как правило, это шасси с двумя блейд-серверами и дисковым массивом SAS JBOD с поддержкой Storage Spaces. Здесь важно, чтобы SAS JBOD были двухпортовыми, и имелся SAS HBA для реализации перекрестного подключения.
Такая организация системы ориентирована именно на поддержку SOFS. Учитывая, что iSCSI target стандартно интегрирован в Windows Server 2012 и также может быть кластеризована, таким образом может реализовать «самодельную» систему хранения данных на базе всецелевой операционной системы.
Однако следует иметь ввиду, что владельцем CSV по-прежнему является один из узлов, который отвечает за все операции с метаданными. При большом количестве метаданных может наблюдаться снижение производительности, поэтому для SOFS не рекомендуется использовать сценарий Information Worker, тогда как Hyper-V и SQL Server идеально подходят для этого, в том числе благодаря функциям агрегации пропускной способности.
Виды кластеров
- Отказоустойчивые кластеры (High-availability clusters, HA)
- Кластеры с балансировкой нагрузки (Load balancing clusters)
- Вычислительные кластеры (High performance computing clusters, HPC)
- Системы распределенных вычислений
Создаются для обеспечения высокой доступности сервиса, предоставляемого кластером. Избыточное число узлов, входящих в кластер, гарантирует предоставление сервиса в случае отказа одного или нескольких серверов. Типичное число узлов — два, это минимальное количество, приводящее к повышению доступности.
Что такое кластер в экономике
В экономике понятие кластер включает в себя взаимозаменяемые элементы, относящиеся к самодостаточной локализованной сфере производства или услуг определённого направления.
Это может быть группа взаимосвязанных организаций, компаний, банков, учреждений образования, поставщиков продукции и комплектующих, научно-исследовательских институтов, которые сконцентрированы на некоторой территории, взаимодополняющие друг друга и усиливающие конкурентные преимущества отдельных компаний, а также всего кластера в целом.
Понятие кластера в экономике было предложено в 1990 году американским экономистом М. Портером. Этим термином обозначалась группа конкурентоспособных смежных отраслей хозяйства страны. Причем компании, которые действуют в кластерных отраслях имеют тенденцию к географической концентрации. Поэтому современное определение кластера включает в себя следующее:
группа географически соседствующих, взаимосвязанных компаний и организаций, которые действуют в определённом секторе экономики и характеризуются общностью деятельности и взаимодополняющие друг друга
По своей сути, они являются не какой-то организацией, а всего на всего, определенной группой, в которую объединяются предприятия одного региона. Эти предприятия являются независимыми и конкурируют с остальными участниками кластера.
Такая форма объединения обладает достаточно высокими показателями конкуренции, кооперации и, само собой эффективностью экономики.
У кластера имеется свой центр, куда входит группа конкурирующих компаний данного кластера. Эта группа выпускает конечный продукт, который реализуется вне кластера.
Кластеры в экономике являются очень важным моментом, поскольку развивая сам кластер, тем самым развивается и экономика региона, повышается качество продукции.
Это связано с усилением конкуренции и более легкого доступа к новым технологиям. Кроме того, увеличивается занятость, повышается качество рабочей силы и, соответственно, повышается конкурентоспособность региона.
Как с этим взлетать и что стоит понимать
Визуально Вы думаю представили, как оно выглядит. Давайте разбираться как работает.
Предположим, что размер кластера равен 4 КБ (как правило, — это значение по умолчанию, не считая самых старших версий систем). Так устроено, что файл, меньшего размера, помещенный туда всё равно будет занимать 4 КБ . Наглядный пример:
Два файла меньшего размера уже 8 Кб :
Т.е, условно говоря, в показанном выше примере, — Вы теряете место, — ибо хранение небольших файлов в файловой системе с б о льшими (чем размер файлов) кластерами приведет к, условно, потери (простою) места на диске.
Но при этом хранение больших файлов на малом размере кластера привет к излишней фрагментации (не критично для SSD ) этого файла на много маленьких кусочков, что потребует б о льшего времени доступа к нему и скажется на производительности. При этом, зачастую (но не всегда), свободное место теряться не будет.
Говоря проще, отсюда стоит вынести следующее:
- Вы выбираете средний (ни туда, ни сюда) размер кластера, если наверняка не знаете какие файлы у Вас будут храниться на диске, за всеми не уследить и вообще пытаетесь попасть в золотую середину ;
- Вы точно знаете, что на диске будут храниться в основном мелкие файлы и выбираете наименьший возможный размер кластера;
- Вам не важен небольшой выигрыш в производительности , ценой потери места и потому выбираете наименьший возможный размер кластера;
- Вы точно знаете, что на диске будут храниться в основном большие файлы и выбираете наибольший доступный размер кластера;
- Вы неиллюзорно важен выигрыш в производительности, ценой потери места и выбираете наибольший доступный размер кластера;
- Вы адепт майкрософт_всё_знает_лучше_меня_зачем_я_читаю_эту_статью и оставляете размер по умочанию .
Но это еще не всё. Для адептов последнего пути, далее приводится набор таблиц, которые используются Miscrosoft по умолчанию, в зависимости от размера носителя, т.е это значения по умолчанию, задаваемые системой. Пользоваться ими или нет, — дело Ваше.
Вместо послесловия
Мы с вами коротко разобрались с кластерами на жестком диске и с влияет их размера на хранение данных. Как видите, универсальный совет об оптимальном размере кластера дать очень сложно – здесь нужно выбрать оптимальное значение в зависимости от конкретных потребностей. Ну а в большинстве случаев наверное стоит оставить значение, предложенное системой.
Кластер — группа компьютеров, объединённых высокоскоростными каналами связи, представляющая с точки зрения пользователя единую машину.
Один из первых архитекторов кластерной технологии Грегори Пфистер (Gregory F. Pfister) дал кластеру следующее определение: «Кластер — это разновидность параллельной или распределённой системы, которая:
Иными словами, кластер компьютеров представляет собой несколько объединённых компьютеров, управляемых и используемых как единое целое. Они называются узлами и могут быть одно- или мультипроцессорными. В классической схеме при работе с приложениями все узлы разделяют внешнюю память на массиве жёстких дисков, используя внутренние дисковые накопители для специальных функций (например, системных).
Обычно различают следующие основные виды кластеров:
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 рекомендует использовать ASM в качестве решения для управления хранением данных вместо традиционных менеджеров томов, файловых систем или RAW-устройств.
Обмен данными и обмен данными [ править ]
Обмен данными [ править ]
Как компьютерные кластеры появились в 1980-х годах, так и суперкомпьютеры . Одним из элементов, которые отличали эти три класса в то время, было то, что первые суперкомпьютеры полагались на разделяемую память . На сегодняшний день кластеры обычно не используют физически разделяемую память, хотя многие архитектуры суперкомпьютеров также отказались от нее.
Однако использование кластерной файловой системы необходимо в современных компьютерных кластерах. [ необходима цитата ] Примеры включают IBM General Parallel File System , Microsoft Cluster Shared Volumes или Oracle Cluster File System .
Передача сообщений и общение [ править ]
Два широко используемых подхода для связи между узлами кластера — это MPI ( интерфейс передачи сообщений ) и PVM ( параллельная виртуальная машина ). [18]
PVM был разработан в Национальной лаборатории Ок-Ридж примерно в 1989 году, до того, как появился MPI. PVM должен быть установлен непосредственно на каждом узле кластера и предоставляет набор программных библиотек, которые изображают узел как «параллельную виртуальную машину». PVM предоставляет среду выполнения для передачи сообщений, управления задачами и ресурсами, а также уведомления об ошибках. PVM может использоваться в пользовательских программах, написанных на C, C ++, Fortran и т. Д. [18] [19]
MPI возник в начале 1990-х в результате дискуссий между 40 организациями. Первоначальные усилия были поддержаны ARPA и Национальным научным фондом . Вместо того, чтобы начинать заново, при разработке MPI использовались различные функции, доступные в коммерческих системах того времени. Затем спецификации MPI привели к конкретным реализациям. Реализации MPI обычно используют TCP / IP и сокетные соединения. [18] В настоящее время MPI представляет собой широко доступную модель коммуникации, которая позволяет писать параллельные программы на таких языках, как C , Fortran , Python и т. Д. [19] Таким образом, в отличие от PVM, который обеспечивает конкретную реализацию, MPI — это спецификация, реализованная в таких системах, как MPICH и Open MPI . [19] [20]