Corosync

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску
Corosync
Тип Система группового общения для отказоустойчивых кластеров
Разработчик The Corosync Development Community
Написана на Си
Операционная система Кроссплатформенное программное обеспечение
Первый выпуск январь 2008[1]
Последняя версия 2.4.3[2] (7 ноября 2016)
Лицензия "модифицированная" BSD
Сайт corosync.github.io/corosync/

Corosync (Corosync Cluster Engine) — проект с открытым исходным кодом, реализующий систему группового общения для отказоустойчивых кластеров. Является развитием проекта OpenAIS и опубликован в соответствии с модифицированной лицензией BSD.

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

Проект предоставляет четыре набора API для языка Си:

  • «Закрытая группа процессов» (англ. Closed Process Group — CPG) — модель взаимодействия, реализующая виртуальную синхронизацию[en], которая гарантирует, что процессы на узлах кластера получат одинаковые сообщения в одинаковом порядке.
  • «Простой менеджер доступности» (англ. Simple Availability Manager — SAM), отслеживающий состояния приложений и позволяющий их перезапускать после сбоя.
  • «База данных конфигурации» (англ. Configuration database — confdb) в оперативной памяти, позволяющая получать конфигурацию и статистику Corosync, менять конфигурацию и получать уведомления об её изменениях.
  • «Кворум[en]» (англ. quorum) — система, оповещающая приложения о том, достигнут кворум (необходимое минимальное количество активных узлов кластера) или нет.

Программное обеспечение предназначено для работы в сетях UDP/IP и InfiniBand.

Архитектура[править | править код]

Программное обеспечение создано как исполняемые бинарные файлы, использующие клиент-серверную модель взаимодействия между библиотеками и сервисными инструментами. Модули, называемые сервисными инструментами, загружаются в Corosync и используют сервисы, предоставляемые внутренним API Corosync.

Сервисы, предоставляемые внутренним API Corosync:

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

Проект был анонсирован в июле 2008 года на конференции Linux Symposium[en] в Оттаве[1]. Исходный код проекта OpenAIS был реорганизован так, что инфраструктурные компоненты были помещены в Corosync, а API SA Forum[en] остался в OpenAIS.

Во второй версии corosync (2012) изменена система кворума, ставшая составной частью демона[6], и отключена поддержка сторонних дополнений. Corosync 2 доступен с Fedora 17 и RHEL 7[7].

Примечания[править | править код]

  1. 1 2 Dake, S.; Caulfield, C.; Beekhof, A. (July 2008). «The Corosync Cluster Engine». Proceedings of the Linux Symposium: 85–99.
  2. Releases
  3. Amir, Y.; Moser, L.E.; Melliar-Smith, P.M.; Agarwal, D.A.; Ciarfella, P. (November 1995). «The Totem Single Ring Ordering and Membership Protocol». ACM Transactions on Computer Systems 13 (4): 311–342. DOI:10.1145/210223.210224.
  4. Moser, L.E.; Amir, Y.; Melliar-Smith, P.M.; Agarwal, D.A. (1994). «Extended Virtual Synchrony». Proceedings of the IEEE 14th International Conference on Distributed Computing Systems: 56-65.
  5. Dake, S. (July 2009). «The Corosync High Performance Shared Memory IPC Reusable C Library». Proceedings of the Linux Symposium: 61–68.
  6. Christine Caulfield,New quorum features in Corosync 2 - 2012-2016  (англ.)
  7. Linux Cluster next generation, LVEE, 2013

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