>>Кстати, что ты можешь сказать по поводу OCFS2.
>>То, что я описал в предыдущем message можно проделать с помощью OCFS2?
>
>OCFS2 - это shared ФС (точнее файловая система которая позволяет использовать сетевое
>блочное устройство одновременно на нескольких машинах одновременно), т.е. вроде сетевая, но
>работает именно на уровне блочного устройства -- соответственно данные одновременно доступны
>на всех нодах.
Во,во, во Именно, оно. Ты с ней разбирался?
Есть у меня 2 сервера redhat 4EL (ядро - 2.6.9-34EL)
Hа обоих серверах установлен дисковый массив 1.1Т
Хочется их объединить в кластер, выбрал для этого ocfs2, установил такие
пакеты:
ocfs2-2.6.9-34.EL-1.2.4-2
ocfs2-tools-1.2.3-1
ocfs2console-1.2.3-1
Hа обоих серверах создал cluster.conf такого содержания:
cluster:
node_count = 2
name = sonopia
node:
ip_port = 777
ip_address = 192.168.232.131
number = 1
name = node1.gfsdomain
cluster = sonopia
node:
ip_port = 777
ip_address = 192.168.232.130
number = 2
name = node2.gfsdomain
cluster = sonopia
В /etc/sysconfig/
файл o2cb вот такой:
#
# This is a configuration file for automatic startup of the O2CB
# driver. It is generated by running /etc/init.d/o2cb configure.
# Please use that method to modify this file
#
# O2CB_ENABELED: 'true' means to load the driver on boot.
O2CB_ENABLED=true
# O2CB_BOOTCLUSTER: If not empty, the name of a cluster to start.
O2CB_BOOTCLUSTER=sonopia
# O2CB_HEARTBEAT_THRESHOLD: Iterations before a node is considered dead.
O2CB_HEARTBEAT_THRESHOLD=3
Создал пустой слайс
создал фс ocfs2 на нем:
[root@node2 ~]# mkfs.ocfs2 -b 4k -C 32K -L "web-content" -N 4 /dev/sda3
Правлю /etc/fstab (Добавляю строку)
/dev/sda3 /cluster ocfs2 _netdev 0 0
После этого (на обоих серверах)
[root@node2 ~]# /etc/init.d/ocfs2 start
[root@node2 ~]# /etc/init.d/o2cb enable
[root@node2 ~]# /etc/init.d/o2cd load
Перегружаю сервак (поверка все ли поднимется автоматом.)
После перезагрузки вижу, что раздел подмонтирован (sda3)
[root@node2 ~]# mount
configfs on /config type configfs (rw)
ocfs2_dlmfs on /dlm type ocfs2_dlmfs (rw)
/dev/sda3 on /cluster type ocfs2 (rw,_netdev,heartbeat=local)
Hа второй машине проделаны такие же действия.
После этого с первой сканирую вторую (открыт ли 777 порт)
[root@node2 ~]# nmap 192.168.232.131
Starting nmap 3.70 ( http://www.insecure.org/nmap/ ) at 2007-03-18 13:18 EET
Interesting ports on node1 (192.168.232.131):
(The 1656 ports scanned but not shown below are in state: closed)
PORT STATE SERVICE
777/tcp open unknown
Hо. Если записую файл на /cluster host-a node1
[root@node1 ~]# cp ./expect-5.42.1-1.i386.rpm /cluster/
[root@node1 ~]# ls -lA /cluster/
total 152
-rw-r--r-- 1 root root 151232 Mar 16 23:47 expect-5.42.1-1.i386.rpm
drwxrwxrwx 2 root root 4096 Mar 16 23:57 lost+found
А на хосте node2 делаю
[root@node2 ~]# ls -lA /cluster/
total 152
drwxrwxrwx 2 root root 4096 Mar 16 23:57 lost+found
И никааких признаков этого файла нет.
Причем, если ввожу такую команду:
[root@node2 ~]# mounted.ocfs2 -f
Device FS Nodes
/dev/sda3 ocfs2 node2.gfsdomain
и на node1 соотвественно:
[root@node1 ~]# mounted.ocfs2 -f
Device FS Nodes
/dev/sda3 ocfs2 node1.gfsdomain
то вижу, что слайс .sda3 каждый хост экспортирует только для себя.
В итоге получается, что никакого кластера нет.
В документации с сайта
http://oss.oracle.com/projects/ocfs2/dist/documentation/ocfs2_users_guide.pdf
они приводят следующий пример:
To list all the nodes that have mounted the OCFS2 volumes on a system, do,
# mounted.ocfs2 -f
Device FS Nodes
/dev/sdb1 ocfs2 node31, node32, node33, node34
/dev/sdb2 ocfs2 node31, node32, node33, node34
/dev/sdb3 ocfs2 node31, node32, node33, node34
/dev/sdb5 ocfs2 node31, node32, node33, node34
/dev/sdb6 ocfs2 node91, node90
/dev/sdf1 ocfs2 Not mounted
/dev/sdq1 ocfs2 node34, node35
/dev/sdcf1 ocfs2 Not mounted
/dev/sdcf2 ocfs2 Not mounted
Hо не объяснят как они "расшарили" слайс для нескольких нод. (Тюе как добится
того, чтобы в графе Nodes отображались несколько нод)
Подскажит как?
Андрей