インストールガイド · 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 filer01SSH共有キー
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 statusdrbdドライバが正常に読み込まれました;デバイスの状態:
バージョン: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 statusdrbdドライバが正常に読み込まれました;デバイスの状態:
バージョン: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によって管理され(すぐに設定されます)。
新しい投稿を受信箱で受け取る
スパムはありません。いつでも購読を解除できます。