OCFS2
Перейти к навигации
Перейти к поиску
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 по ней (см. Ссылки)
Вобщем, всё очень просто. Рассмотрим первый вариант, т.к. второй не требует объяснений.
- В /etc/sysconfig/o2cb включаем флажок на ENABLED.
- Пишем конфиг кластера /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
- Форматируем общий раздел с одного из нодов <ref>по умолчанию в ФС создается несколько "слотов" и журналов: по одному на каждый узел кластера. Их число можно нарастить командой tune2fs.ocfs2</ref>
mkfs.ocfs2 /dev/sda1
- Настраиваем демоны кластерного стека
service o2cb online cluster-ocfs2
- На всех нодах всё запущено? Прописываем в /etc/fstab
- Монтируем и проверяем.
Ссылки
Примечания
<references/>