インストールガイド · 2 min read · Jan 31, 2026

OpenfilerのインストールとDRBDおよびHeartbeatの設定

OpenfilerのインストールとDRBDおよびHeartbeatの設定

はじめに

Openfilerは、SAN/NASアプライアンスとして使用するために特化された高性能オペレーティングシステムです。この構成により、2つのOpenfilerアプライアンスがアクティブ/パッシブの高可用性シナリオで動作することができます。

要件

ハードウェア

  • Openfilerのハードウェア仕様の最小要件を満たす2台のボックス。
  • 各ボックスに2つのイーサネットインターフェース
  • Openfiler 2.3のインストールメディア。
  • 両方のボックスには、レプリケーションの不整合を避けるために同じサイズのドライブが必要です。

ソフトウェア

以下のようなディスクセットアップを使用して、両方のボックスにOpenfiler 2.3をインストールします。

  • 3 GBのルート(”/“)パーティション
  • 2 GBの”swap”パーティション
  • 512 MBの”/meta”パーティション(DRBD0用)
  • DRBD1用に未マウントのLVMとして構成されたデータパーティション

設定

ネットワーク

各Openfilerアプライアンスには2つのNICがあります:1つはLANとの通信用、もう1つは他のSANとの通信用(直接ケーブル経由)。最初のものは管理用に使用され、各ノードと直接通信します。

3つ目の「仮想」インターフェースはHeartbeatサービスによって使用され、LAN上のコンピュータによって使用されます。

以下が使用される設定です:

filer01

  • LANインターフェース(eth0)192.168.1.18
  • レプリケーションインターフェース(eth1)10.188.188.1

filer02

  • LANインターフェース(eth0)192.168.1.19
  • レプリケーションインターフェース(eth1)10.188.188.2

HA NAS/SANアドレス(eth0)192.168.1.17

  • これはcluster.xmlファイルで設定されます(他の場所で設定しないでください)

ホスト名の設定

両方のノードが名前で互いを認識できるように、各コンピュータのhostsファイルを設定します。 / etc / hostsを次のように修正します(filer01で):

# 以下の行を削除しないでください。さもなければ、ネットワーク機能を必要とするさまざまなプログラムが失敗します。
127.0.0.1 filer01 localhost.localdomain localhost
10.188.188.2 filer02

/ etc / hostsを次のように修正します(filer02で):

# 以下の行を削除しないでください。さもなければ、ネットワーク機能を必要とするさまざまなプログラムが失敗します。
127.0.0.1 filer02 localhost.localdomain localhost
10.188.188.1 filer01

SSH共有キー

2つのOpenfilerアプライアンスがパスワードなしで互いに通信できるように、SSH共有キーを使用します。

filer01で:

  root@filer01 ~# ssh-keygen -t dsa

プロンプトでEnterを押します(キーにパスワードを設定しないでください)。

filer02で:

  root@filer02 ~# ssh-keygen -t dsa

プロンプトでEnterを押します(キーにパスワードを設定しないでください)。

上記のコマンドは、~/.ssh/に”id_dsa.pub”というファイルを生成します。これは、他のノードにコピーする必要がある公開鍵です:

root@filer01 ~# scp .ssh/id_dsa.pub root@filer02:~/.ssh/authorized_keys2
root@filer02 ~# scp .ssh/id_dsa.pub root@filer01:~/.ssh/authorized_keys2

DRBDの設定

DRBDは、2つのノード間でデータを一貫性を保つためのものです。

filer01で:

  root@filer01 ~# mv /etc/drbd.conf /etc/drbd.conf.org

次に、以下に従ってdrbd.conf(バージョン8)を修正します:

global {
 # minor-count 64;
 # dialog-refresh 5; # 5秒
 # disable-ip-verification;
 usage-count ask;
}

common {
 syncer { rate 100M; }
}

resource cluster_metadata {
 protocol C;
 handlers {
  pri-on-incon-degr "echo O > /proc/sysrq-trigger ; halt -f";
  pri-lost-after-sb "echo O > /proc/sysrq-trigger ; halt -f";
  local-io-error "echo O > /proc/sysrq-trigger ; halt -f";
  # outdate-peer "/usr/sbin/drbd-peer-outdater";
 }
 
 startup {
  # wfc-timeout 0;
  degr-wfc-timeout 120; # 2分。
 }

 disk {
  on-io-error detach;
 }

 net {
  after-sb-0pri disconnect;
  after-sb-1pri disconnect;
  after-sb-2pri disconnect;
  rr-conflict disconnect;
 }

 syncer {
  # rate 10M;
  # after "r2";
  al-extents 257;
 }

 on filer01 {
  device /dev/drbd0;
  disk /dev/sda3;
  address 10.188.188.1:7788;
  meta-disk internal;
 }

 on filer02 {
  device /dev/drbd0;
  disk /dev/sda3;
  address 10.188.188.2:7788;
  meta-disk internal;
 }
}

resource vg0drbd {
 protocol C;
 startup {
  wfc-timeout 0; ## 無限!
  degr-wfc-timeout 120; ## 2分。
 }

 disk {
  on-io-error detach;
 }

 net {
  # timeout 60;
  # connect-int 10;
  # ping-int 10;
  # max-buffers 2048;
  # max-epoch-size 2048;
 }

 syncer {
  after "cluster_metadata";
 }

 on filer01 {
  device /dev/drbd1;
  disk /dev/sda5;
  address 10.188.188.1:7789;
  meta-disk internal;
 }

 on filer02 {
  device /dev/drbd1;
  disk /dev/sda5;
  address 10.188.188.2:7789;
  meta-disk internal;
 }
}

両方のホストは同じdrbd.confが必要ですので、filer01からfiler02にdrbd.confファイルをコピーします:

  root@filer01 ~# scp /etc/drbd.conf root@filer02:/etc/drbd.conf

両方のノードで/dev/drbd0(cluster_metadata)および/dev/drbd1(vg0drbd)にメタデータを初期化します:

root@filer01 ~# drbdadm create-md cluster_metadata
root@filer01 ~# drbdadm create-md vg0drbd
root@filer02 ~# drbdadm create-md cluster_metadata
root@filer02 ~# drbdadm create-md vg0drbd

注意: 上記のコマンドがファイルシステムをゼロにする必要があるというエラーを生成した場合は、次のコマンドを使用します:

  root@filer01 ~# dd if=/dev/zero of=/dev/sda3

このコマンドには注意し、正しいドライブであることを確認してください。

DRBDサービスを開始する前に、drbd0用に使用されるパーティション(drbd.confファイルのcluster_metadataリソース内)がすでにマウントされていないことを確認します(インストール中に作成された場合はデフォルトでマウントされます)。

  root@filer01 ~# umount /dev/sda3

さて、両方のホストでDRBDを開始します:

root@filer01 ~# service drbd start
  root@filer02 ~# service drbd start

すべてがうまくいけば、接続され、”service drbd status”を実行すると、次のような出力が表示されるはずです:

  root@filer1 /# service drbd status

drbdドライバが正常に読み込まれました;デバイスの状態:
バージョン:8.0.12(api:86/proto:86)
GITハッシュ:5c9f89594553e32adb87d9638dce591782f947e3 phil@mescalによってビルド、2008-04-24 13:29:44
m:res cs st ds p mounted fstype
0:cluster_metadata 接続済み セカンダリ/セカンダリ 不整合/不整合 C
1:vg0drbd 接続済み セカンダリ/セカンダリ 不整合/不整合 C

両方のdrbdリソースが接続され、両方のノードがセカンダリ状態(上記のように)である場合、プライマリノードを設定します:

root@filer01 ~# drbdsetup /dev/drbd0 primary -o
root@filer01 ~# drbdsetup /dev/drbd1 primary -o

これにより、次のようなステータス結果が得られるはずです:

  root@filer1 /# service drbd status

drbdドライバが正常に読み込まれました;デバイスの状態:
バージョン:8.0.12(api:86/proto:86)
GITハッシュ:5c9f89594553e32adb87d9638dce591782f947e3 phil@mescalによってビルド、2008-04-24 13:29:44
m:res cs st ds p mounted fstype
… 同期中:17.9%(247232/297152)K
0:cluster_metadata SyncSource? プライマリ/セカンダリ 最新/不整合 C
1:vg0drbd 一時停止同期中? プライマリ/セカンダリ 最新/不整合 C

注意: vg0drbd LVMが大きい場合、同期に時間がかかることがあります(おそらく一晩)。

DRBDがブート時に起動するように設定します:

root@filer01 ~# chkconfig –level 2345 drbd on
root@filer02 ~# chkconfig –level 2345 drbd on

次に、cluster_metadataファイルシステムを作成します。この512 MBのパーティションを使用して、すべてのOpenfiler設定データとHAで利用可能なサービスのデータ(例:NFS、iSCSI、SMB)を保持します。

  root@filer01 ~# mkfs.ext3 /dev/drbd0

このパーティションを/etc/fstabに追加しないでください。これはHeartbeatによって管理され(すぐに設定されます)。

Share: X/Twitter LinkedIn

新しい投稿を受信箱で受け取る

スパムはありません。いつでも購読を解除できます。