- Установка
- Настройка
- Основные понятия. Внутреннее устройство.
- Выводы
- Ссылки
Установка
Установка на системе Linux/Ubuntu сводится к выполнению#sudo apt-get install glusterfs-server glusterfs-client glusterfs-examplesУстановка для FreeBSD немного сложнее.
Install and start fuse:
# cd /usr/ports/sysutils/fusefs-kmodInstall bison
# make && make install
# echo 'fusefs_enable="YES"' >> /etc/rc.conf
#
# cd /usr/ports/devel/bisonА теперь хак :) специально для FreeBSD
# make && make install
# echo '#include
А теперь сам GlusterFS server
ARF - репликация:
- пример конфигурации
Unify - единое пространство:
- пример конфигурации
Запуск сервера
Монтирование раздела GlusterFS
Рис.1 Пример использования GlusterFS, для организации
репликации папки /var/www/html на 2 сервера 10.0.0.12 и 10.0.0.13
В GlusterFS существует 2 основных понятия:
server (нода) - сервис слушающий некоторый порт и имеющий возможность писать и читать в указанную в конфигурации папку.
client (клиент) - клиентский сервис, который позволяет монтировать удаленные разпределенные server (ноды).
GlusterFS Unify = JBOD - хорошая простая система позволяющая объеденять несколько физических устройств расположеных на различных серверах, в одно логическое единое устройство с объемом равным суммарному объему всех устройств. То есть если есть 2 сервера на каждом из них по 3 винта 200 Гб, то можно создать раздел объемом 1.2 Тб.
Но у GlusterFS Unify - есть свой недостаток, для хранения месторасположения данных на серверах и устройствах , требуется NS (namespace) нода. NS (namespace) - нода является реестром данных для GlusterFS Unify. И при выходе ее из строя - весь дисковый массив - разрушается. Поэтому требуется обеспечивать 2-3 резервирование NS ноды.
GlsuterFS ARF - replication / Stripe - stripe :) - механизмы предоставляемые GlusterFS по постороению систем репликации и стрипа.
Важнейшей особеностью GlusterFS является, то что серверные ноды, ничего не знают про другие ноды, и являются полностью автономными и независимыми. Все распределение и обработкой , синхронизацией данных, занимается клиент (описывается в конфигурации клиента).
Также GlusterFS поддерживает механизм псевдо-нод , что позволяет иметь несколько уровней. К примеру существует 2 сервера на каждом по 3 винта по 200 Гб. Можно гибко создать единый Unify раздел размером по 600 Гб на каждом из серверов, а после этого объединить их в ARF (репликацию). Что позволяет при входе одного или нескольких винтов , или одного из серверов, сохранять работоспособность. После замены вышедшего из строя оборудования GlusterFS в режиме реально времени, без необходимости остановки приложения, синхронизирует разделы.
Wikipedia: http://ru.wikipedia.org/wiki/GlusterFS
Описание на русском: http://www.insight-it.ru/net/scalability/glusterfs/
Тест производительности: http://wt.knc.ru/wiki/index.php/Производительность_параллельных_файловых_систем:_Lustre_и_GlusterFS
JBOD: http://ru.wikipedia.org/wiki/JBOD#JBOD
RAID: http://ru.wikipedia.org/wiki/RAID
# cd /tmp
# wget -b http://ftp.zresearch.com/pub/gluster/glusterfs/2.0/LATEST/glusterfs-2.0.7.tar.gz
# tar -xvf glusterfs-2.0.7.tar.gz
# cd glusterfs-2.0.7
#
# ./configure --enable-fuse-client
# make
# make install
Настройка
Конфигурирование достаточно простоеARF - репликация:
- пример конфигурации
Unify - единое пространство:
- пример конфигурации
Запуск сервера
# glusterfs -f /etc/glusterfs/glusterfs-server.vol
Монтирование раздела GlusterFS
# glusterfs -f /etc/glusterfs/glusterfs-client.vol /mnt/glusterfs
Основные понятия. Внутреннее устройство.
репликации папки /var/www/html на 2 сервера 10.0.0.12 и 10.0.0.13
В GlusterFS существует 2 основных понятия:
server (нода) - сервис слушающий некоторый порт и имеющий возможность писать и читать в указанную в конфигурации папку.
client (клиент) - клиентский сервис, который позволяет монтировать удаленные разпределенные server (ноды).
Выводы
Система глядит конечно странно. Очень похода на самый обычный рейд контроллер , который умеет делать RAID 1/RAID 0 / RAID 10 и JBOD. Конечно возможности конфигурирования больше и гибче, а также нет необходимости тратится на дорогие контролеры, достаточно самого просто. Все остальное организуется на софтверном уровне.GlusterFS Unify = JBOD - хорошая простая система позволяющая объеденять несколько физических устройств расположеных на различных серверах, в одно логическое единое устройство с объемом равным суммарному объему всех устройств. То есть если есть 2 сервера на каждом из них по 3 винта 200 Гб, то можно создать раздел объемом 1.2 Тб.
Но у GlusterFS Unify - есть свой недостаток, для хранения месторасположения данных на серверах и устройствах , требуется NS (namespace) нода. NS (namespace) - нода является реестром данных для GlusterFS Unify. И при выходе ее из строя - весь дисковый массив - разрушается. Поэтому требуется обеспечивать 2-3 резервирование NS ноды.
GlsuterFS ARF - replication / Stripe - stripe :) - механизмы предоставляемые GlusterFS по постороению систем репликации и стрипа.
Важнейшей особеностью GlusterFS является, то что серверные ноды, ничего не знают про другие ноды, и являются полностью автономными и независимыми. Все распределение и обработкой , синхронизацией данных, занимается клиент (описывается в конфигурации клиента).
Также GlusterFS поддерживает механизм псевдо-нод , что позволяет иметь несколько уровней. К примеру существует 2 сервера на каждом по 3 винта по 200 Гб. Можно гибко создать единый Unify раздел размером по 600 Гб на каждом из серверов, а после этого объединить их в ARF (репликацию). Что позволяет при входе одного или нескольких винтов , или одного из серверов, сохранять работоспособность. После замены вышедшего из строя оборудования GlusterFS в режиме реально времени, без необходимости остановки приложения, синхронизирует разделы.
Ссылки
Официальный сайт: http://www.gluster.com/Wikipedia: http://ru.wikipedia.org/wiki/GlusterFS
Описание на русском: http://www.insight-it.ru/net/scalability/glusterfs/
Тест производительности: http://wt.knc.ru/wiki/index.php/Производительность_параллельных_файловых_систем:_Lustre_и_GlusterFS
JBOD: http://ru.wikipedia.org/wiki/JBOD#JBOD
RAID: http://ru.wikipedia.org/wiki/RAID
3 коментарі:
Как обстоят дела с гарантированностью записи? Можно ли с нодами работать асинхронно?
Да, ноды могут работать асинхронно. Это настраиватся в конфигах. Вообще я достаточно жестко гонял кластер. Начиная от внезаплоно отключения нод и винтов во время записи и заканчивая дропом пакетов между нодами. Работает стабильно и само востанавливается после сбоя. Не требуется никакой ручной работы, остановки ластера, перезпуска процессов.
Есдинтсвенное когда требутеся перезапуск, когда вносятся изменения в конфиги.
Могу посоветовать почитать эту статью по тестированию распределения контента в GlusteFS - http://sysadm.pp.ua/linux/glusterfs-setup.html .Очень толково написано, может кому-то понадобиться.
Дописати коментар