OCFS - кластерная файловая система, разработанная Oracle, с учетом кластеризации баз данных. Проста в установке и использовании - всё, что необходимо - модули для используемого ядра и набор утилит для работы с файловой системой.
Для установки в среде CentOS5 можно использовать бинарники, предназначенные для RHEL5:
ocfs2 modules - http://oss.oracle.com/projects/ocfs2/files/
ocfs2-tools - http://oss.oracle.com/projects/ocfs2-tools/files/
В Debian-репозитарии также имеется пакет ocfs2-tools с данными утилитами. А вот ядро, наверняка, придется пересобрать с включенными ocfs-модулями.
Лог действий достаточно прозрачен:
# wget http://oss.oracle.com/projects/ocfs2/dist/files/RedHat/RHEL5/x86_64/1.2.6-1/2.6.18-8.1.8.el5/ocfs2-2.6.18-8.1.8.el5-1.2.6-1.el5.x86_64.rpm
# wget http://oss.oracle.com/projects/ocfs2-tools/dist/files/RedHat/RHEL5/x86_64/1.2.6-1/ocfs2-tools-1.2.6-1.el5.x86_64.rpm
# rpm -Uvh ocfs2-2.6.18-8.1.8.el5-1.2.6-1.el5.x86_64.rpm ocfs2-tools-1.2.6-1.el5.x86_64.rpm
Теперь все необходимые модули должны появиться в каталоге /lib/modules/KERNEL_VERSION/kernel/fs/ocfs2. Осталось только подготовить конфигурационный файл для сервиса блокировок o2cb:
# mkdir /etc/ocfs2
# vi /etc/ocfs2/cluster.conf
cluster:
node_count = 2
name = fc
node:
ip_port = 7777
ip_address = 192.168.2.15
number = 1
name = centos1
cluster = fc
node:
ip_port = 7777
ip_address = 192.168.2.16
number = 22
name = centos2
cluster = fc
На данном этапе необходимо скопировать данный файл на все ноды и запустить сервис o2cb:
# /etc/init.d/o2cb start
Теперь можно форматировать доступное блочное устройство /dev/sdb в формат ocfs и монтировать ее для дальнейшей работы:
# mkfs.ocfs2 -b 4K -C 128K -N 2 -L ocfs1 /dev/sdb
# mount -t ocfs2 /dev/sdb /mnt
Ссылки:
2007/08/21
Собираем кластер. Часть 2: Storage
Для функционирования кластерной системы, необходимо наличие единой дисковой подсистемы, доступной для всех серверов (node), работающих внутри кластера.
С дисковой подсистемой (storage) можно общаться на уровне:
- сервиса (примеры - NFS-директория, примонтированная на всех нодах, DNBD)
- блочного устройства, доступного всем нодам (SAN)
Самым простым решением является использование сетевой файловой системы - NFS. В данном случае все проблемы по обслуживанию блокировок при совместной работе с данными NFS-служба берет на себя. Статья [1] прекрасно описывает пример создания storage на основе NFS. Я попробовал на Debian 4.0 - все отлично работает. Но присутствие уровня сервиса накладывает некоторый отрицательный отпечаток на производительность.
Более низкий уровень общения с дисковой системой - уровень обычного блочного устройства (block device). В этом случае Вы имете в системе дополнительный диск (/dev/sdb, /dev/hdb), с которым работаете как с обычным жестким диском, но есть несколько "но":
Ссылки:
С дисковой подсистемой (storage) можно общаться на уровне:- сервиса (примеры - NFS-директория, примонтированная на всех нодах, DNBD)
- блочного устройства, доступного всем нодам (SAN)
Самым простым решением является использование сетевой файловой системы - NFS. В данном случае все проблемы по обслуживанию блокировок при совместной работе с данными NFS-служба берет на себя. Статья [1] прекрасно описывает пример создания storage на основе NFS. Я попробовал на Debian 4.0 - все отлично работает. Но присутствие уровня сервиса накладывает некоторый отрицательный отпечаток на производительность.
Более низкий уровень общения с дисковой системой - уровень обычного блочного устройства (block device). В этом случае Вы имете в системе дополнительный диск (/dev/sdb, /dev/hdb), с которым работаете как с обычным жестким диском, но есть несколько "но":
- если данный диск доступен нескольким нодам в режиме записи (RW), Вы должны обеспечить на нем функционирование кластерной файловой системы, которая позволит работать одновременно с одними и теми же данными с разных нодов.
- Вам придется раскошелиться на приобретение SAN (на основе Fibre Channel или более дешевого - iSCSI. Точных цен я не знаю, но это недешевая покупка :)
Ссылки:
Subscribe to:
Posts (Atom)