OCFS2

Материал из MediaWiki
Перейти к навигации Перейти к поиску

OCFS2 (ORACLE Cluster File System 2) - файловая система от корпрорации ORACLE, влючающая

  • Нижний уровень - хранение данных и метаданных
  • Децентрализованный кластерный стек o2cb c собственной систему блокировок ocfs_dlm.

Эта ФС есть в ядре Linux в чуточку урезанном варианте.

Установка

Для дистрибутивов RHEL и SLES есть возможность поставить "фирменную" версию OCFS2, зайдя в соответствующий раздел на сайте ORACLE, что мы и сделаем. На нужна ядерная часть (ocfs2 - модуль ядра) и утилиты (ocfs2-tools).

Опционально можно установить пакет ocfs2-console "на поиграться" - графическую утилиту настройки кластера ocfs2.

Особенности

  • На момент написания статьи (11.2009, v1.4.3) технология cluster-wide byte-range locks находилась в неготовом состоянии. Это делало невозможным "безкостыльное" использование CTDB с опцией RECOVERY_LOCK. <ref>CTDB+OCFS2: Иногда помогает это, либо NFS поверх OCFS2</ref>
  • В ветке 1.4 постепенно появляются и отлаживаются новые "фичи", что негативно отражается на стабильности. Так же на момент написания статьи поддерживалась ветка 1.2.
  •  Context Dependent Symbolic Links (CDSL). Это технология отображения различного наполнения директорий в зависимости от обращающегося к ФС узла. С помощью неё можно достигать как изоляции одних данных от части узлов кластера, так и обеспечить пресловутую "интероперабельность", ежели в вашем ocfs2-кластере учавствуют узлы, например, с различными ОС.
    Узли просто видят различное содержимое одной и той же директории.
  • В природе замечены две версии ядерной части ocfs2:
    • GPL-версия. Живет в ванильном ядре с давних времен, однако вырезана в RHEL5 ибо GFS2.
    • Официальная бинарная сборка (rpm для RHEL и SLES) на сайте проекта. Отличается от открытой наличием опции монтирования datavolume, позволяющей загадочным образом "улучшить производительность" кластера СУБД Oracle, при условии что на разделе лежат data-файлы одноименной базы (директория oradata/*)

Настройка

Для поднятия ocfs2-кластера можно:

  • Сделать всё вручную, написав/исправив самостоятельно конфиги и раскидав их по всем узлам
  • Использовать графическую утилиту ocfs2-console. Она довольно простая, хотя лучше всё же прочитать короткий User Guide по ней (см. Ссылки)

Вобщем, всё очень просто. Рассмотрим первый вариант, т.к. второй не требует объяснений.

  1. В /etc/sysconfig/o2cb включаем флажок на ENABLED.
  2. Пишем конфиг кластера /etc/ocsf2/cluster.conf. Содержание его довольно понятно и очевидно для любого человека.
cluster:
         node_count = 2
         name = cluster-ocfs2

node:
         ip_port = 7777
         ip_address = 10.0.0.1
         number = 1
         name = node1
         cluster = cluster-ocfs2

node:
         ip_port = 7777
         ip_address = 10.0.0.2
         number = 2
         name = node2
         cluster = cluster-ocfs2
  1. Форматируем общий раздел с одного из нодов <ref>по умолчанию в ФС создается несколько "слотов" и журналов: по одному на каждый узел кластера. Их число можно нарастить командой tune2fs.ocfs2</ref>
    mkfs.ocfs2 /dev/sda1
  2. Настраиваем демоны кластерного стека
    service o2cb online cluster-ocfs2 
  3. На всех нодах всё запущено? Прописываем в /etc/fstab
  4. Монтируем и проверяем.

Ссылки

Примечания

<references/>