Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

OpenSSI - это односистемная система кластеризации образов с открытым исходным кодом . Это позволяет рассматривать совокупность компьютеров как одну большую систему, позволяя приложениям, работающим на любой машине, получать доступ к ресурсам всех машин в кластере. [2] [3]

OpenSSI основан на операционной системе Linux и был выпущен Compaq как проект с открытым исходным кодом в 2001 году. [4] Это заключительный этап длительного процесса разработки, восходящего к LOCUS , разработанного в начале 1980-х годов.

Описание [ править ]

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

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

Особенности [ править ]

Пространство единого процесса [ править ]

OpenSSI предоставляет единое пространство процессов - каждый процесс виден с каждого узла и может управляться с любого узла с помощью обычных команд Linux (ps, kill, renice и т. Д.). Виртуальная файловая система Linux / proc показывает все запущенные процессы на всех узлах.

Реализация единого пространства процессов выполняется с использованием абстракции VPROC, изобретенной Locus для операционной системы OSF / 1 AD .

Миграция [ править ]

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

Процессы можно перенести вручную , либо с помощью процесса, вызывающего специальный системный вызов OpenSSI migrate (2) , либо путем записи номера узла в специальный файл в каталоге процессов / proc.

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

Единый корень [ править ]

OpenSSI предоставляет единый корень для кластера - с любого узла доступны одни и те же файлы и каталоги. OpenSSI использует несколько механизмов для обеспечения единого корня - CFS (кластерная файловая система OpenSSI), файловые системы кластера SAN и параллельное монтирование сетевых файловых систем.

OpenSSI использует функцию контекстно-зависимой символической ссылки (CDSL), вдохновленную системой HP TruCluster , чтобы разрешить доступ к файлам, зависящим от узла, прозрачным для приложений, не поддерживающих кластер . CDSL может указывать на разные файлы на каждом узле кластера.

CFS [ править ]

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

КВПБ укладывается поверх реального файловой системы и координирует доступ из различных узлов с помощью маркеров механизма. Один узел имеет физический доступ к базовой файловой системе и выполняет все операции чтения и записи. В любой момент времени один узел владеет токеном, представляющим часть базового файла, это означает, что эта часть файла находится в кэше узла-владельца. Если другой узел пытается получить доступ к этой части файла, токен крадется, а содержимое кеша копируется на узел кражи. Реализация OpenSSI CFS очень похожа на ту, что используется в HP TruCluster . [5]

CFS также используется для координации доступа к сегментам разделяемой памяти.

CFS может использоваться в отказоустойчивой системе с использованием совместно используемых дисковых подсистем (двухпортовый SCSI или SAN ) или с помощью DRBD . Если узел, который в настоящее время напрямую обращается к файловой системе, выходит из строя, то при монтировании CFS происходит переключение на другой узел, который напрямую подключен к диску, и теперь кластер обращается к файловой системе через этот узел.

Кластерные файловые системы SAN [ править ]

OpenSSI может использовать кластерные файловые системы на основе SAN для своего корня при условии, что они предоставляют интерфейс файловой системы, совместимый с POSIX . В настоящее время проходят испытания Lustre и GFS . [ когда? ]

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

NFS [ править ]

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

Единое пространство ввода / вывода [ править ]

OpenSSI обеспечивает доступ в масштабе кластера ко всем устройствам ввода-вывода в системе с некоторыми ограничениями - узел не может смонтировать блочное устройство с другого узла.

Udev диспетчер устройств используются для управления каталогом / Dev. Каждый узел запускает свою собственную копию udev для создания соответствующих узлов устройств в подкаталоге / dev, / dev / 1 для узла 1, / dev / 2 для узла 2 и так далее.

Единое пространство IPC [ править ]

OpenSSI обеспечивает доступ между узлами ко всем стандартным механизмам межпроцессного взаимодействия Linux, разделяемой памяти , семафорам , очередям сообщений SYSV , каналам и сокетам домена Unix .

Чтобы реализовать общекластерную разделяемую память - распределенную разделяемую память - OpenSSI использует систему токенов CFS . В любой момент времени сегмент памяти может быть прочитан одним или несколькими узлами или записан одним узлом. Если узел без доступа на запись к сегменту пытается выполнить запись, то сегмент помечается как нечитаемый на всех других узлах и доступный для записи на текущем узле. Если узел без доступа для чтения пытается прочитать сегмент, то текущее значение копируется с узла, на котором оно было допустимым, и если оно было доступным для записи, оно помечается как доступное для чтения.

IP-адрес кластера [ править ]

OpenSSI использует LVS для предоставления отказоустойчивых IP- служб с балансировкой нагрузки . Входящие сетевые соединения принимаются узлом- директором, который перенаправляет их на наименее загруженный узел сервера. (Узел может быть и директором, и сервером). В случае отказа узла-директора другой узел-директор берет на себя управление, и система продолжает принимать входящие соединения.

Распределения [ править ]

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

В настоящее время поддерживаются следующие дистрибутивы: [ когда? ]

  1. Fedora Core 3
  2. Debian Sarge

Ведется работа по переносу OpenSSI на Debian Etch и Lenny. [6]

История [ править ]

Истоки OpenSSI восходят к началу 1980-х годов, когда в Калифорнийском университете в Лос-Анджелесе была разработана распределенная операционная система LOCUS . Команда, которая разработала LOCUS, впоследствии сформировала Locus Computing Corporation и произвела различные версии технологии LOCUS под несколькими названиями, что привело к разработке продукта UnixWare NonStop Clusters в компании Tandem Computers , которая к тому времени приобрела команду и права LOCUS. к технологии. Кластеры NonStop для Unixware были коммерциализированы SCO как надстройка для UnixWare. Когда SCO перестала продавать NonStop Clusters, бывшая команда Locus теперь работает на Compaq.(которая тем временем приобрела Tandem), перенесла код NonStop Clusters на Linux и выпустила его как открытый исходный код. Команда Compaq продолжала разрабатывать систему, которая теперь называется OpenSSI, еще некоторое время после того, как HP приобрела Compaq. OpenSSI в настоящее время разрабатывается независимой командой. [ когда? ]

См. Также [ править ]

  • Kerrighed
  • OpenMosix
  • LinuxPMI
  • DIPC

Ссылки [ править ]

  1. ^ a b c Кластеры OpenSSI (единый образ системы) для Linux , получено 07 июля 2008 г. CS1 maint: обескураженный параметр ( ссылка )
  2. ^ Ферри, Ричард; Уотсон, Брайан Дж. (1 августа 2003 г.), Sys Admin Magazine> Управление сервером> Введение в проект OpenSSI , получено 6 июля 2008 г. CS1 maint: обескураженный параметр ( ссылка )
  3. Пфистер, Грегори Ф. (1998), В поисках скоплений , Верхняя река Сэдл, Нью-Джерси: Prentice Hall PTR, ISBN 978-0-13-899709-0, OCLC  38300954
  4. ^ Орловский, Андрей (2001-11-14), "кластеры Compaq кавалерийские выручает Linux" , Реестр , извлекаться 2008-10-06 CS1 maint: обескураженный параметр ( ссылка )
  5. ^ Фафрак, Скотт; Лола, Джим А .; Николс, Брэд; Йейтс, Грегори (2003), Справочник по серверу TruCluster , Digital Press, стр. 342–345, ISBN 1-55558-259-1
  6. ^ OpenSSI на Debian Etch, предварительная версия , получено 7 октября 2008 г. CS1 maint: обескураженный параметр ( ссылка )

Внешние ссылки [ править ]

  • Домашняя страница OpenSSI (мертвая ссылка)
  • Страница сводки проекта Sourceforge.net
  • Проект кластерной инфраструктуры
  • Домашняя страница OpenSSI Webview
  • Попкорн Linux