Установка Ceph Storage Cluster за 15 минут

Установка  Ceph Storage Cluster  за 15 минут

Нам понадобится всего лишь несколько минут для того что бы поднять распределенную файловую систему Ceph FS

Краткая справка

Ceph — это open source разработка эластичного легко масштабируемого петабайтного хранилища. В основе лежит объединение дисковых пространств нескольких десятков серверов в объектное хранилище, что позволяет реализовать гибкую многократную псевдослучайную избыточность данных. Разработчики Ceph дополняют такое объектное хранилище еще тремя проектами:

  • RADOS Gateway — S3- и Swift-совместимый RESTful интерфейс
  • RBD — блочное устройство с поддержкой тонкого роста и снапшотами
  • Ceph FS — распределенная POSIX-совместимая файловая система

Описание примера

В моем небольшом примере я использую всего 3 сервера в качестве хранилища. В каждом сервере мне доступно 3 SATA диска: /dev/sda как системный и /dev/sdb и /dev/sdc под данные файловой системы Ceph FS. ОС в этом примере будет Debian 7.2. Еще один сервер будет монтировать файловую систему, то есть по сути выступать клиентом. Используем уровень избыточности по-умолчанию, то есть две реплики одного блока.

На момент написания статьи разработчики предлагают два метода создания простых конфигураций — старый, используя mkcephfs или новый ceph-deploy. Для новых версий, начиная с ветки 0.6x (cuttlefish), уже рекомендуется использовать ceph-deploy. Но в данном примере я использую mkcephfs.

Приступим. Установка Ceph Storage Cluster за 15 минут

Шаг 0. Установка ОС

Выполняем минимальную установку. Дополнительно необходимо установить ntpdate и ваш любимый редактор, например vim.

 Шаг 1. Инсталлируем пакеты Ceph

На каждую ноду кластера и клиент устанавливаем пакеты Ceph

 Шаг 2. Создаем конфигурационный файл

На каждой ноде и клиенте создаем единый файл конфигурации /etc/ceph/ceph.conf

 

Делаем файл читаемым для всех

Шаг 3. Делаем безпарольный вход между нодами

генерируем ssh ключи без указания пассфразы

ssh-copy-id root@ceph2
ssh-copy-id root@ceph3

Шаг 4. Разворачиваем кластер
Для начала подготовим необходимые диски к работе
Далее подготавливаем рабочие каталоги и монтируем диски соответственно нашему дизайну

Так для ceph1 выполним

для ceph2

и для ceph3

И наконец, на ceph1 запускаем скрипт создания хранилища Ceph

Шаг 5. Запуск и статус

Благодаря беспарольному входу между нодами выполняем старт всего кластера с любой ноды

Там же проверяем состояния кластера

Наиболее ожидаемый статус при нормальной работе это HEALTH_OK

Со стороны клиента создаем каталог в необходимом месте, например /opt, парсим ключ для модуля ядра ceph и монтируем файловую систему

Вот таким образом получаем распределенную файловую систему Ceph FS всего за 15 минут. Вопросы производительности, безопасности и обслуживания требуют более детального погружения и это материал на отдельную статью, а то и не одну.