суббота, 12 ноября 2011 г.

OCFS2 + iSCSI

(ОС: CentOS)


1. Выполняем на всех нодах
Скачиваем и ставим следующие RPM пакеты:
ocfs2 modules - http://oss.oracle.com/projects/ocfs2/files/
ocfs2-tools - http://oss.oracle.com/projects/ocfs2-tools/files/
(обязательно сверяем версии пакетов и убеждаемся что скачали и собираемся ставить пакеты для нашей версии ядра)
После установки пакетов проверяем активировались ли целевые модули ядра:
[root@storage ~]# modprobe -l | grep -i ocfs
/lib/modules/2.6.18-194.11.1.el5/kernel/fs/ocfs2/ocfs2.ko
/lib/modules/2.6.18-194.11.1.el5/kernel/fs/ocfs2/dlm/ocfs2_dlm.ko
/lib/modules/2.6.18-194.11.1.el5/kernel/fs/ocfs2/dlm/ocfs2_dlmfs.ko
/lib/modules/2.6.18-194.11.1.el5/kernel/fs/ocfs2/cluster/ocfs2_nodemanager.ko
Должны подгрузиться все модули из пакета ocfs2 modules:
[root@storage ~]# rpm -ql ocfs2-2.6.18-194.11.1.el5-1.4.7-1.el5
/lib/modules/2.6.18-194.11.1.el5/kernel/fs
/lib/modules/2.6.18-194.11.1.el5/kernel/fs/ocfs2
/lib/modules/2.6.18-194.11.1.el5/kernel/fs/ocfs2/cluster
/lib/modules/2.6.18-194.11.1.el5/kernel/fs/ocfs2/cluster/ocfs2_nodemanager.ko
/lib/modules/2.6.18-194.11.1.el5/kernel/fs/ocfs2/dlm
/lib/modules/2.6.18-194.11.1.el5/kernel/fs/ocfs2/dlm/ocfs2_dlm.ko
/lib/modules/2.6.18-194.11.1.el5/kernel/fs/ocfs2/dlm/ocfs2_dlmfs.ko
/lib/modules/2.6.18-194.11.1.el5/kernel/fs/ocfs2/ocfs2.ko
Если модули не подхватились сразу, то пытаемся подгрузить из руками с помощью modprobe, пытаемся запустить o2cb:
modprobe <имя_модуля>
service o2cb start
Создаем главный конфигурационный файл /etc/ocfs2/cluster.conf
cluster:
 name = ocfs2
 node_count = 3
node:
 name = storage.ocfs2.lan
 cluster = ocfs2
 number = 0
 ip_address = 172.16.0.150
 ip_port = 7777

node:
 name = node01.ocfs2.lan
 cluster = ocfs2
 number = 1
 ip_address = 172.16.0.160
 ip_port = 7777

node:
 name = node02.ocfs2.lan
 cluster = ocfs2
 number = 2
 ip_address = 172.16.0.161
 ip_port = 7777
node_count - кол-во нод
ip_address - соответственно IP адреса нод
number - номер в кластере
cluster - имя кластера в котором учавствует нода
name - имя ноды
ip_port - сетевой порт для связи между нодами
Выполняем:
service o2cb configure
Cluster to start on boot (Enter "none" to clear): Ввести имя кластера, который указали в /etc/ocfs2/cluster.conf
2. Выполняем на ноде-сторадже
yum install scsi-target-utils.i386
chkconfig tgtd on
Cоздаем наше целевое устройство
tgtadm --lld iscsi --op new --mode target --tid 1 -T iqn.2010-10.lan.node:disk1
Добавляем к целевому устройству свежесозданный раздел:
tgtadm --lld iscsi --op new --mode logicalunit --tid 1 --lun 1 -b /dev/sdc
Разрешаем доступ ноде с IP-адресом 172.16.0.160 (так же разрешаем доступа для всех остальных нод)
tgtadm --lld iscsi --op bind --mode target --tid 1 -I 172.16.0.160
Проверяем
tgtadm --lld iscsi --op show --mode target
Настраиваем экспорт на постоянной основе:
vi /etc/tgt/targets.conf
<target iqn.2008-09.com.example:server.target1>
    backing-store /dev/sdc
</target>
(/dev/sdc это диск который будет выступать стораджем OCFS2)
Создаем ФС на целевом диске:
mkfs.ocfs2 -b 4K -C 128K -N 2 -L ocfs1 /dev/sdc
3. Выполняем всех остальных нодах (те которые будут импортировать OCFS2 диск с сервера-стораджа)
yum install iscsi-initiator-utils
chkconfig iscsid on
service iscsid start
Ищем таргет:
iscsiadm -m discovery -t sendtargets -p 172.16.0.150:3260
iscsiadm -m node -T iqn.2010-10.lan.node:disk1 -p 172.16.0.150:3260
iscsiadm -m node -T iqn.2010-10.lan.node:disk1 -p 172.16.0.150:3260 -l
(вместо 172.16.0.150 ставим IP сервера выполняющего роль iSCSI target)
Проверяем подключился ли диск:
fdisk -l
Если всё хорошо, то можно монтировать диск:
mount.ocfs2 /dev/sdс /mnt
Послесловие:
Не забываем добавить сервисы в автозапуск:
chkconfig o2cb on
Статус кластера можно посмотреть так:
service o2cb status

Комментариев нет:

Отправить комментарий