DRBDとOCFS2を使って、sambaをリダンダント構成にしてみました。構成は以下の通りです。
今回の設定では、レプリケーションセグメントは、別のデータセグメントにしています。なお、環境はdebian 10/busterを使用しています。またペースメーカなどのハートビート疎通確認ソフトは今回使用していませんので設定自体は非常にシンプルです。
以下設定方法です。まず、初めにdrbd-utilsとocfs2-toolsをインストールします。
a. Volume初期化 ステップ1
続いて、drbdのbitmapをクリアします。これは片方のマシンで実行します。
c. Volume初期化 ステップ3
今度はocfs2でvolumeをフォーマットします。 どちらかのサーバで以下のコマンドを使用し、drbdでいうprimaryノードに昇格させます。
d. Volume初期化 ステップ4
今回のリダンダント構成では、もう一方のサーバでもdrbdにてプライマリノードに昇格し、ディスクをマウントします。
この時、ad dcに参加させる/etc/smb.confではサーバ名(NetBIOS Name)は、sv92とsv94にしておきます。/etc/samba/smb.confの設定が済んだら、net ads join -UAdministratorでドメインに両方とも参加させてください。ドメイン参加に問題がなければ、設定は基本的に完了です。両方のマシンで同じ共有設定を行い、sambaを再起動します。ここで片方のマシンの共有ホルダーにファイルやフォルダーを新規作成すると、もう一方の共有フォルダーに同じフォルダーができていること等を確認してみてください。
DRBD+OCFS2を使ったsambaのリダンダント構成は以上です。
今回の設定では、レプリケーションセグメントは、別のデータセグメントにしています。なお、環境はdebian 10/busterを使用しています。またペースメーカなどのハートビート疎通確認ソフトは今回使用していませんので設定自体は非常にシンプルです。
以下設定方法です。まず、初めにdrbd-utilsとocfs2-toolsをインストールします。
apt-get install drbd-utils ocfs2-tools続いて、ネットワークインターフェースの設定を行ってください。その後、ホスト名の編集等を行います。drbdとocfs2はデータセグメントのインターフェース名とホスト名を使用します。つまり、上述の構成でいえば、sv92/sv94ではなくsv92-local, sv94-localをそれぞれのホスト名にする必要があります。これに対し、sambaはサービスセグメントのインターフェース名(sv92/sv94)を使用しますので、注意してください。
# on sv92 #edit /etc/hosts 10.1.2.92 sv92 10.1.4.93 sv92-local # on sv92 hostname sv92-local #edit /etc/hostname sv92-local
# on sv94 #edit /etc/hosts 10.1.2.94 sv94 10.1.4.95 sv94-local # on sv94 hostname sv94-local #edit /etc/hostname sv94-local続いて、/etc/drbd.d/drbd.resを以下の様に編集します。両方のサーバで行ってください。
resource drbd { net { protocol C; allow-two-primaries; after-sb-0pri discard-zero-changes; after-sb-1pri discard-secondary; after-sb-0pri disconnect; } volume 1 { device /dev/drbd1; disk /dev/sda; meta-disk internal; } volume 2 { device /dev/drbd2; disk /dev/sdb; meta-disk internal; } on sv92-local { address 10.1.4.93:7788; } on sv94-local { address 10.1.4.95:7788; } }続いて, /etc/ocfs2/cluster.confを以下の様に編集します。こちらも両方のサーバで行ってください。
cluster: node_count = 2 name = ocfs2 node: ip_port = 7777 ip_address = 10.1.4.93 number = 0 name = sv92-local cluster = ocfs2 node: ip_port = 7777 ip_address = 10.1.4.95 number = 1 name = sv94-local cluster = ocfs2ocfs2の設定には、これだけではなく、ocfs2をブート時起動させる必要がありますので、以下のコマンドで設定します。これも両方のサーバで行います。
dpkg-reconfigre ocfs2-toolsこちらの構成では、初めのブート時起動設定以外は、デフォルト値のままで設定できました。 続いて、ディスクを初期化します。
a. Volume初期化 ステップ1
# on both drbdadm down drbd drbdadm create-md drbd # on both drbdadm up drbdここで、volme 1. 2. が両方とも以下の様になっているか確認します。
# check on both cat /proc/drbd cs:Connected ro:Secondary/Secondary ds:Inconsistent/Inconsistent C r-----b. Volume初期化 ステップ2
続いて、drbdのbitmapをクリアします。これは片方のマシンで実行します。
drbdadm new-current-uuid --clear-bitmap drbd/1 drbdadm new-current-uuid --clear-bitmap drbd/2ここでの確認は以下の通りです。volume 1. 2. が両方とも以下の様になっているか確認します。
# check on both. cat /proc/drbd cs:Connected ro:Secondary/Secondary ds:UpToDate/UpToDate C r-----ここまでできれば、ocfs2でのフォーマットを開始できる状態になります。
c. Volume初期化 ステップ3
今度はocfs2でvolumeをフォーマットします。 どちらかのサーバで以下のコマンドを使用し、drbdでいうprimaryノードに昇格させます。
# on one node. drbdadm primary drbd昇格はすぐに完了しますので、続いて昇格したノード上で、volume 1. 2. をocfs2にてフォーマットします。
#on the same above node(参考:1volumeのフォーマット時間は、テスト環境の500Gのディスクで数分。2TBで約17分。ともにGigabit Ethernet でローカル接続。) mkfs -t ocfs2 -N 4 --fs-feature-level=max-features -L ocfs2_drbd1 /dev/drbd1 mkfs -t ocfs2 -N 4 --fs-feature-level=max-features -L ocfs2_drbd2 /dev/drbd2以上で、BRDBの同期とOCFSの基本設定は完了です。続いて、/etc/fstabに以下の様に追加します。
LABEL=ocfs2_drbd1 /media/ocfs2_drbd1 ocfs2 _netdev,defaults 0 0 LABEL=ocfs2_drbd2 /media/ocfs2_drbd2 ocfs2 _netdev,defaults 0 0ここまで設定できれば、
mkdir /media/ocfs2_drbd1 mkdir /media/ocfs2_drbd2 mount -a以上でマウントできるはずです。(注:できるはずなのですが、どうやらバグまたは設定にコツがあるようで、fstabへの記述ではマウントできませんでしたので、当方の設定ではスクリプトでマウントするようにしています...)
d. Volume初期化 ステップ4
今回のリダンダント構成では、もう一方のサーバでもdrbdにてプライマリノードに昇格し、ディスクをマウントします。
# 残りのノードで drbdadm primary drbd # fstab (on another node) LABEL=ocfs2_drbd1 /media/drbd1 ocfs2 _netdev,defaults 0 0 LABEL=ocfs2_drbd2 /media/drbd2 ocfs2 _netdev,defaults 0 0 mkdir /media/ocfs2_drbd1 mkdir /media/ocfs2_drbd2 mount -aこれでvol1, 2 共にリダンダント構成はできていますので、あとは、両方のサーバでドメインメンバーサーバを設定します。
この時、ad dcに参加させる/etc/smb.confではサーバ名(NetBIOS Name)は、sv92とsv94にしておきます。/etc/samba/smb.confの設定が済んだら、net ads join -UAdministratorでドメインに両方とも参加させてください。ドメイン参加に問題がなければ、設定は基本的に完了です。両方のマシンで同じ共有設定を行い、sambaを再起動します。ここで片方のマシンの共有ホルダーにファイルやフォルダーを新規作成すると、もう一方の共有フォルダーに同じフォルダーができていること等を確認してみてください。
DRBD+OCFS2を使ったsambaのリダンダント構成は以上です。
コメント
コメントを投稿