Документация по LinuxLinuxDoc.Ru 🔍
🕛

CoreOS - новый подход к организации серверных Linux-систем

Группа энтузиастов, живущих в "Силиконовой долине", развивает проект новой серверной Linux-системы CoreOS, основанной на архитектуре, существенно отличающейся от обычных дистрибутивов Linux. По своей сути CoreOS основана на идеях ChromeOS, адаптированных для массового развёртывания серверных систем. Для тестирования уже доступны первые альфа-сборки CoreOS, пригодные для запуска под управлением VirtualBox и QEMU/KVM. Наработки проекта распространяются под лицензией Apache 2.0.


Ключевые особенности CoreOS:



Минималистичность. Система содержит минимальный набор компонентов, достаточных для выполнения только изолированных контейнеров (cgroups+namespaces), которые в свою очередь содержат произвольную начинку для запуска только необходимых серверных приложений. По сути, в состав базовой системы входит только ядро Linux, системный менеджер systemd и ряд служебных сервисов для управления конфигурацией и установки обновлений.

Корневой системный раздел монтируется в режиме только для чтения и не изменяется в процессе работы. Для установки обновлений используется подход ChromeOS, при котором одновременно создаётся два дисковых раздела. Один из разделов является активным, а второй используется для копирования обновления, после установки которого активным становится второй раздел, а первый остаётся для установки следующего обновления и предоставляет возможность быстрого отката изменений. Таким образом, при каждом обновлении разделы меняются местами. Обновления могут устанавливаться автоматически, по аналогии с ChromeOS. По задумке разработчиков, обновление серверов на базе CoreOS должно производиться также просто, как в настоящее время осуществляется обновление браузеров.


В состав не входит пакетный менеджер, вместо которого предлагается использовать преднастроенные изолированные контейнеры, содержащие все необходимые компоненты для выполнения того или иного серверного приложения. В качестве системы управления контейнерами поддерживается
Docker, предоставляющий средства для автоматизации создания изолированных окружений для запуска произвольных процессов и возможности по переносу и клонированию окружений на другие серверы. При этом Docker не является обязательным, присутствует возможность создания контейнеров вручную или использования уже готовых образов, пригодных для использования с инструментарием LXC. Упаковка приложений в произвольные обособленные контейнеры позволяет не задумываться об особенностях базовой ОС и свободно переносить контейнеры от одной ОС к другой и с сервера на сервер.




Средства автоматического определения доступных сервисов, использования единой конфигурации для группы серверов и объединения набора серверов во взаимосвязанные кластерные системы. Для обмена и управления конфигурацией используется система etcd, развиваемая специально для CoreOS. Код etcd написан на языке Go и поставляется под лицензией Apache. Etcd представляет собой высоконадёжное хранилище параметров конфигурации в форме ключ/значение. Для доступа к конфигурации предоставляется простой интерфейс, основанный на использовании HTTP и JSON (запросы могу отправляться при помощи утилиты curl или специальной утилиты etcdctl). Аутентификация выполняется на основе SSL-ключей. Хранилище конфигурации и логи реплицируются на все узлы и поддерживается в синхронизированном состоянии с использованием протокола Raft.




Алекс Полви (Alex Polvi), один из основателей CoreOS, ранее известен созданием системы управления и мониторинга облачными серверами Cloudkick, впоследствии купленной компанией Rackspace. Из известных участников разработки CoreOS можно отметить известного разработчика ядра Linux Грега Кроа-Хартмана и бывшего работника Google Майкла Морено (Michael Marineau).

Также по теме:
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.
Linux - Новости Linux - CoreOS - новый подход к организации серверных Linux-систем
Мы в соцсетях ✉