2007/08/21

Собираем кластер. Часть 2: Storage

Для функционирования кластерной системы, необходимо наличие единой дисковой подсистемы, доступной для всех серверов (node), работающих внутри кластера.

С дисковой подсистемой (storage) можно общаться на уровне:
- сервиса (примеры - NFS-директория, примонтированная на всех нодах, DNBD)
- блочного устройства, доступного всем нодам (SAN)
Самым простым решением является использование сетевой файловой системы - NFS. В данном случае все проблемы по обслуживанию блокировок при совместной работе с данными NFS-служба берет на себя. Статья [1] прекрасно описывает пример создания storage на основе NFS. Я попробовал на Debian 4.0 - все отлично работает. Но присутствие уровня сервиса накладывает некоторый отрицательный отпечаток на производительность.
Более низкий уровень общения с дисковой системой - уровень обычного блочного устройства (block device). В этом случае Вы имете в системе дополнительный диск (/dev/sdb, /dev/hdb), с которым работаете как с обычным жестким диском, но есть несколько "но":
  • если данный диск доступен нескольким нодам в режиме записи (RW), Вы должны обеспечить на нем функционирование кластерной файловой системы, которая позволит работать одновременно с одними и теми же данными с разных нодов.
  • Вам придется раскошелиться на приобретение SAN (на основе Fibre Channel или более дешевого - iSCSI. Точных цен я не знаю, но это недешевая покупка :)
Перед написанием этих строк я попробовал две кластерные файловые системы - GFS и OCFS2. Если сравнивать "на глаз" производительность, то можно сказать, что обе файловые системы работают более менее одинакого быстро. Но GFS по сравнению с OCFS на первых порах более сложен в запуске, так как требует установки и настройки Red Hat Cluster Suite. Данный Suite включает в себя все необходимые "примочки" для работы кластера, начиная от heartbeat'а, поддержки множества сетевых служб, заканчивая фенсингом кластерной файловой системы (fencing). Информации по GFS доступно достаточно, чего не скажешь об OCFS. Обе данные кластерные файловые системы опробованы на CentOS 5, все работает стабильно без каких-либо оговорок, лог действий скоро выложу.


Ссылки:
  1. Setting Up A Highly Available NFS Server
  2. Distributed filesystem for Debian clusters? (discussion)
  3. DRBD/NFS: Linux HA
  4. Обзор сетевых и кластерных ФС: Lustre, GFS, AFS, GFarm

6 comments:

Anonymous said...

А можно ли использовать вместо SAN ATA over Ethernet?

Roman Sozinov said...

SAN это подход, это не протокол.
ATA over Ethernet это один из протоколов SAN подхода, наряду с iSCSI, Fibre Channel.
Не запутал? 6)

Roman Sozinov said...

Да, конечно, можно использовать ATA over Ethernet. Только я не знаю, как там будет с производительностью.

Anonymous said...

ATA over Ethernet протокол, насколько я знаю, проще чем iSCSI и его КПД должен быть больше. Если конечно не нужны все возможности iSCSI

preacher said...

Привет!
>>>Информации по GFS доступно достаточно, >>>чего не скажешь об OCSF.
Может стоит поменять OCSF на OCFS или OCFS2.

Roman Sozinov said...

to preacher:
Благодарю, поправил.