OpenSSI
![]() | |
Разработчик(и) | Команда OpenSSI [1] |
---|---|
Стабильная версия | 1.9.3 [1]
/ 1 сентября 2007 г. |
Предварительный выпуск | 1.9.6 [1]
/ 18 февраля 2010 г. |
Операционная система | Линукс |
Тип | Кластерное программное обеспечение |
Лицензия | Лицензия GPL v2 |
Веб-сайт | https://openssi.org (archive.org) |
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 или сетевым подключениям.
Процессы можно перенести вручную либо с помощью процесса, вызывающего специальный системный вызов OpenSSImigrate (2) , либо путем записи номера узла в специальный файл в каталоге процессов /proc.
По желанию пользователя процессы также могут быть автоматически перенесены, чтобы сбалансировать нагрузку на кластер. OpenSSI использует разработанный проектом MOSIX алгоритм определения нагрузки на каждый узел.
Один корень
[ редактировать ]OpenSSI обеспечивает единый корень для кластера — с любого узла доступны одни и те же файлы и каталоги. OpenSSI использует несколько механизмов для обеспечения единого корня — CFS (кластерная файловая система OpenSSI), файловые системы кластера SAN и параллельное монтирование сетевых файловых систем.
OpenSSI использует функцию контекстно-зависимой символической ссылки (CDSL), вдохновленную системой HP TruCluster , чтобы обеспечить доступ к файлам, специфичным для узла, прозрачным для приложений, не поддерживающих кластер . CDSL может указывать на разные файлы на каждом узле кластера.
КВПБ
[ редактировать ]CFS, кластерная файловая система OpenSSI, обеспечивает прозрачный межузловой доступ к базовой реальной файловой системе на одном узле.
CFS размещается поверх реальной файловой системы и координирует доступ с разных узлов с помощью механизма токенов . Один узел имеет физический доступ к базовой файловой системе и выполняет все операции чтения и записи. В любой момент один узел владеет токеном, представляющим часть базового файла. Это означает, что эта часть файла находится в кеше узла-владельца. Если другой узел пытается получить доступ к этой части файла, токен украден , а содержимое кэша копируется на украденный узел. Реализация OpenSSI CFS удивительно похожа на ту, что используется HP TruCluster . [5]
CFS также используется для координации доступа к сегментам общей памяти.
CFS можно использовать в отказоустойчивой системе, используя подсистемы общих дисков (двухпортовый SCSI или SAN ) или используя DRBD . Если узел, который в данный момент имеет прямой доступ к файловой системе, выходит из строя, то монтирование CFS переключается на другой узел, который напрямую подключен к диску, и кластер теперь получает доступ к файловой системе через этот узел.
Кластерные файловые системы SAN
[ редактировать ]OpenSSI может использовать SAN на базе кластерные файловые системы в качестве своего корня при условии, что они предоставляют интерфейс файловой системы, совместимый с POSIX . Lustre и Global File System также были протестированы.
В кластерной файловой системе каждый узел монтирует файловую систему параллельно, и доступ к файлам осуществляется непосредственно от узла к файловой системе.
НФС
[ редактировать ]OpenSSI монтирует файловые системы NFS параллельно на каждом узле. Каждый узел имеет прямой доступ к серверу NFS.
Единое пространство ввода-вывода
[ редактировать ]OpenSSI обеспечивает доступ на уровне кластера ко всем устройствам ввода-вывода в системе с некоторыми ограничениями — узел не может смонтировать блочное устройство с другого узла.
Диспетчер устройств udev используется для управления каталогом /dev. Каждый узел запускает свою собственную копию udev для создания соответствующих узлов устройств в подкаталоге /dev, /dev/1 для узла 1, /dev/2 для узла 2 и так далее.
Единое пространство IPC
[ редактировать ]OpenSSI обеспечивает межузловой доступ ко всем стандартным механизмам межпроцессного взаимодействия Linux, общей памяти , семафорам , SYSV очередям сообщений , каналам и доменным сокетам Unix .
Для реализации общей памяти на уровне кластера – распределенной общей памяти CFS – OpenSSI использует систему токенов . В любой момент сегмент памяти может быть доступен для чтения одному или нескольким узлам или доступен для записи одним узлом. Если узел, не имеющий доступа на запись в сегмент, пытается выполнить запись, то сегмент помечается как нечитаемый на всех других узлах и доступен для записи на текущем узле. Если узел без доступа на чтение пытается прочитать сегмент, то текущее значение копируется из узла, где оно было действительным, и, если оно было доступно для записи, оно помечается как доступное для чтения.
IP-адрес кластера
[ редактировать ]OpenSSI использует LVS для предоставления отказоустойчивых IP- сервисов с балансировкой нагрузки. Входящие сетевые соединения принимаются узлом -директором , который перенаправляет их на наименее загруженный серверный узел. (Узел может быть как директором, так и сервером). В случае сбоя узла-директора управление берет на себя другой узел-директор, и система продолжает принимать входящие соединения.
Распределения
[ редактировать ]Программное обеспечение OpenSSI доступно для различных дистрибутивов Linux . OpenSSI Ядро различные системы уровня пользователя не зависит от дистрибутива, но необходимо изменить Linux, специфичные для дистрибутива, например, процесс инициализации и сценарии запуска системы .
В 2010 году последними поддерживаемыми дистрибутивами Linux были:
С 2008 года велась работа по портированию OpenSSI на дистрибутивы Debian Etch и Lenny. [6]
История
[ редактировать ]Истоки OpenSSI относятся к началу 1980-х годов, когда LOCUS распределенная операционная система была разработана в Калифорнийском университете в Лос-Анджелесе . Группа, создавшая ″LOCUS″, в 1982 году сформировала Locus Computing Corporation и выпустила версии основанной на ней технологии под несколькими названиями. В середине 1990-х годов эта работа завершилась выпуском UnixWare NonStop Clusters продукта компании Tandem Computers , которая к 1995 году взяла на себя команду бывшего Locus CC и права на технологию. Compaq приобретет Tandem Computers в 1997 году. Кластеры NonStop были коммерциализированы компанией Santa Cruz Operation как дополнение к UnixWare. Когда группа SCO прекратила продажу продукта, разработчики (привлеченные в результате приобретения Tandem и теперь работающие в Compaq) портировали код ″NonStop Clusters″ на Linux и в 2001 году, теперь называвшийся OpenSSI , выпустили его с открытым исходным кодом. Сотрудники продолжали разработку в течение некоторого времени после приобретения Compaq компанией Hewlett-Packard (что произошло в 2002 году). В течение следующего десятилетия OpenSSI улучшался независимыми участниками.
См. также
[ редактировать ]Ссылки
[ редактировать ]- ^ Перейти обратно: а б с Кластеры OpenSSI (единый образ системы) для Linux , заархивировано из оригинала 26 декабря 2013 г. , получено 01 июля 2023 г. (в архиве)
- ^ Ферри, Ричард; Уотсон, Брайан Дж. (01 августа 2003 г.), samag.com, Sys Admin Magazine > Управление сервером > Знакомство с проектом OpenSSI , заархивировано из оригинала 27 октября 2004 г. , получено 6 июля 2008 г. (архивировано)
- ^ Пфистер, Грегори Ф. (1998), В поисках кластеров , Аппер-Седл-Ривер, Нью-Джерси: Prentice Hall PTR, ISBN 978-0-13-899709-0 , OCLC 38300954
- ^ Орловски, Эндрю (14 ноября 2001 г.), «Кавалерия Compaq спасает кластеры Linux» , The Register , получено 6 октября 2008 г.
- ^ Фафрак, Скотт; Лола, Джим А.; Николс, Брэд; Йейтс, Грегори (2003), Справочник по серверу TruCluster , Digital Press, стр. 342–345, ISBN 1-55558-259-1
- ^ OpenSSI в Debian Etch, предварительная версия , заархивировано из оригинала 26 апреля 2013 г. , получено 1 июля 2023 г. (в архиве)