DRBDで状況をわかるようにする。

ここはほとんど設定内容とか見たことがない。
ただ設定ファイルはほとんどなかった。

下記を見ているがさっぱりわからない。
DRBDバージョン9 | サイオステクノロジー株式会社

下記を見ても概要だけで先に進めない。
https://drbd.jp/drbd_is/

前に京都でこの話を聞いたはずなんだが、全然わかっていない。

下記でレプリケーションのイメージがわかる。
https://qiita.com/tutuz/items/f9ac59928166af80dd28

下記もとっつきやすい。
ネットワークミラーリング用ソフト「DRBD」/クラスタについて | クラスタ構築サービス

まあ、要は2台必要でレプリケーションするということである。

もうまとめようと思ったが、ちょっと下記サイトを見つけたので今一度確認

DRBD(Distributed Replicated Block Device)とは何か

www.atmarkit.co.jp

ブロック単位とは何かの説明もある。

上記サイトより引用
◼️DRBDとはどういったものか?

DRBDは「Distributed Replicated Block Device」の略で、名前の通りデータをブロックデバイス単位でリアルタイムにレプリケートするためのソフトウエアです。 ブロックデバイスとは、ハードディスクなどの記憶装置のことを指します。
そして「ブロックデバイス単位」とはハードディスクなどの記憶装置の中でも「パーティションで区切られたひとまとまりの部分」を指します。

ファイルシステムパーティション区切りは関係ない?
→記載あり!!

ブロックデバイス単位: ex: /dev/sda3

DRBDはGNU General Public License(GPL)v2に準拠したオープンソースソフトウエアです。ソースコードは公開されており、改変して再配布することも可能です。
→いつの日か試みたい。いつか、いつか・・・

◼️なぜデータレプリケート機能が必要なのか?
RAIDRAIDコントローラというものが壊れたらだめ?

◼️DRBDの基本的な構成はどんなものか?
基本はサーバー2台の冗長構成
DRBDばバックアップではない?、どういうこと?、バックアップじゃないの?

「高可用性システム」で、DRBDをどう活用するか

www.atmarkit.co.jp

Corosync
Corosyncはプライマリ機とセカンダリ機を相互に監視するソフトウェア
互いにノード監視を行い、障害を通知するとその情報をPaceMakerに通知する。

PaceMaker
PaceMakerはCorosyncから障害通知を受け取って、プライマリ機とセカンダリ機の切り替えを制御するソフトウェア
PaceMakerの役割はあくまでリソース(アプリケーション)の監視。実際のアプリケーションの起動、停止の制御は「リソースエージェント」が実施する。
→リソースエージェントもPaceMakerの役割ではないのか?

「Corosync」について
通信効率が「Heartbeat」より優れている。 通信をどうやっているかいずれ調査する。

障害発生時の動きを確認する  

今さら聞けない、「Sambaサーバーの冗長化」をDRBDでサクッと実現してしまう方法

www.atmarkit.co.jp

今まで概要ばかりだったので、設定のイメージを起こしたかったが意外にもここで導入手順が記載されている。
しかしながらSambaってなに?っという感じなので調べてみる。

www.atmarkit.co.jp Sambaとは、Linux上でWindowsの共有ディレクトリを作るネットワーク機能を実現するソフトウェア
ファイルサーバを構築できる。

共有というと他にあった気がするが・・・
下記参照
kenji148.hatenablog.com

話を元に戻す。

自動での切り替える際にはVIP(Visual IPAdress)を使用するのでIPアドレスは不要。
→当たり前のようにVIPが出てきている。次にこの説明でもあるのだろうか。

「Sambaファイルサーバーを冗長化する」方法
OSインストール前の準備で、インストール途中のパーティション構成で、DRBD専用の領域を作成しておくこと。

なお、AWSAmazon Web Services)やIBM SoftLayer、Microsoft AzureなどのパブリッククラウドのIaaS(Infrastructure as a Service)環境で仮想マシンを置いて運用する場合は、2台目のディスクを追加して、これをDRBD用ディスク(領域)としてください。
→ここは改めて調査したほうがいい。

(1-1)パッケージのアップデート
(1-2)DRBD用パーティション領域の作成
(1-3)「hosts」設定を行う
(1-4)selinux設定を無効にする
(2)DRBDをインストールする
(3)DRBD設定ファイルを用意する
(4)DRBDで、Sambaサーバーを冗長化する
(4-1)メタデータを作成する
(4-2)DRBDを起動する
(4-3)DRBDを初期化
(4-4)同期状況を確認する
(4-5)DRBDデータ領域をフォーマットする
最後にレプリケーションする「Sambaの共有領域」をDRBD領域にマウントする。

mount /dev/drbd0 /home/share

ここでは/home/shareをSambaのデータ領域としている。
→データ領域、よく聞くがよくわからない。

DRBD環境を実際に運用してみる
障害発生時、セカンダリ機へ切り替えるまでの手順
(5-1)一号機(プライマリ機)の降格を指示
一号機を操作し、共有領域の/home/ShareをアンマウントするためにSambaを止める。

systemctl stop smb

systemctl stop nmb

続いてSamba領域をアンマウントする。

umount /home/share

プライマリ機であった一号機をセカンダリ機に降格させる。

drbdadm secondary r0

(5-2)二号機(セカンダリ機)の昇格を指示
二号機を操作して、セカンダリ機であった二号機をプライマリに昇格する。

drbdadm primary r0

二号機のSambaサーバーを起動する。

systemctl start smb

systemctl start nmb

Samba領域をマウントする。

mount /dev/drbd0 /home/share

身近なファイルサーバーから、高可用性を求めるシステムまでカバーできるDRBD

まとめ

以上でDRBDとは、複数のサーバばでデータを複製(レプリケーション)して、使用するもので、
PaceMakerは切り替えに使用するソフトウェアであることがわかった。

これでDRBDに関して運用から状況を割り出していくことが可能となったはずである。