OCFS2でクラスタしてみる


以下のアドレスの2台のノードでクラスタを構成します。

1.2.3.1
1.2.3.2

FireWallの設定
クラスタに参加するノードはそれぞれ7777をお互いに受け入れるように設定する必要があります。

UFWなら
1.2.3.1

ufw allow from 1.2.3.2 to any port 3260

1.2.3.2

ufw allow from 1.2.3.1 to any port 3260

1台目(1.2.3.1)

$ hostname
iscsi-client-01
$ sudo vi /etc/ocfs2/cluster.conf
node:
	name = iscsi-client-01
	cluster = ocfs2
	number = 0
	ip_address = 1.2.3.1
	ip_port = 7777
node:
	name = iscsi-client-02
	cluster = ocfs2
	number = 1
	ip_address = 1.2.3.2
	ip_port = 7777
cluster:
	name = ocfs2
	node_count = 2
$ sudo service o2cb restart
$ sudo mount -t ocfs2 /dev/sda /mnt/ocfs2/

2台目(1.2.3.2)

$hostname
iscsi-client-02
$sudo vi /etc/ocfs2/cluster.conf
node:
	name = iscsi-client-01
	cluster = ocfs2
	number = 0
	ip_address = 1.2.3.1
	ip_port = 7777
node:
	name = iscsi-client-02
	cluster = ocfs2
	number = 1
	ip_address = 1.2.3.2
	ip_port = 7777
cluster:
	name = ocfs2
	node_count = 2
$ sudo service o2cb restart
$ sudo mount -t ocfs2 /dev/sda /mnt/ocfs2/

トラブルシューティング

2台目のマウントに以下のエラーで失敗した場合

mount.ocfs2: Transport endpoint is not connected while mounting /dev/sda on /mnt/ocfs2/. Check 'dmesg' for more information on this error.

/var/log/syslog エラー1

Aug 16 18:58:09 localhost kernel: [ 4520.624131] o2net: Connect attempt to node iscsi-client-01 (num 0) at 1.2.3.1:7777 failed with errno -22

以下を確認してください

  • ポート7777が開いているか?
  • 各nodeのip_addressは正しく設定されているか?
    各ノードは自分のノードに指定してあるIPアドレスでバインドされるため、127.0.0.1などでなく実際にアクセスされるアドレスを指定します。

/var/log/syslog エラー2

Jun 22 00:14:51 isci-client-02 kernel: [17472.209613] Please double check your configuration values for 'O2CB_HEARTBEAT_THRESHOLD'
Jun 22 00:14:51 isci-client-02 kernel: [17472.345474] (20121,0):o2net_check_handshake:1264 node ubuntu21 (num 0) at 1.2.3.1:7777 uses a heartbeat timeout of 238000 ms, but we use 60000 ms locally.  disconnecting

ログに出ている通りO2CB_HEARTBEAT_THRESHOLDの長さが足りないので設定する

$ sudo /etc/init.d/o2cb offline
$ sudo dpkg-reconfigure ocfs2-tools

O2CB heartbeat thresholdを設定
ocfs2-tools
反映を確認後、起動

$ cat /sys/kernel/config/cluster/ocfs2/heartbeat/dead_threshold
61
$ sudo service o2cb start
$ sudo mount -t ocfs2 /dev/sda /mnt/ocfs2/
,