Topic13 Dominoクラスタ

 

前回は、東京とシンガポールといった、距離が離れたサーバー間の複製について例に挙げて説明しました。今回は、近くにあるサーバー向けの複製の仕組み、「Dominoクラスタ」について説明します。

 

新任太郎「大変です!弊社のDominoメールサーバーがシステムダウンしてしまいました。どうもHDDが壊れてしまったようです。メーカーが修理に向かっていますが数時間は復旧できなさそうです。どうしよう、メールが見られない!」

 

おやそれは大変ですね。御社のサーバーは冗長化されていないのですか?

 

新任太郎「冗長化?それは何ですか?第何部ですか?」

 

ジョ○ョではありません。試しにNotesクライアントからあなたのメールDBのアイコンをダブルクリックしてみてください。

 

新任太郎「あッッッ!メールDBが開いたッ!なぜだッ!不思議だ!メールサーバーは完全に『・止・ま・っ・て・い・た・』というのに!」

 

セリフをジョ○ョっぽくしなくていいです。それが冗長化という仕組み。要するに一台ダウンしても、控えている二番手のサーバーでサービスを維持するのです。そして、Dominoの世界でもっともメジャーな冗長化の仕組み、それがDominoクラスタです。

 

 

新任太郎「今まで受信したメールもすべて入っています。これはすごいですね」

 

サーバー2台をDominoクラスタとして設定すると、基本的にはすべての複製したDB(レプリカ)のデータが自動的にお互いに即時同期されます。メールの場合、1号機が受信したらすぐに2号機にもそのメールが複製されます。

 

新任太郎「いちいちサーバー接続文書を作って定期複製する設定がいらないのですね。これは便利だ」

 

はい。さらにDominoクラスタにしていると、今のように1号機がダウンした場合に自動的にユーザーのアクセスを二号機に振り向けることができます。これを「フェイルオーバー」と呼びます。

 

 

 

Topic14 複製とコピーは違う?

 

新任太郎「大変です、皆フェイルオーバーしたので一安心と思っていたら、ある一人のユーザーだけ、最近のメールが2号機に存在しないみたいです。」

 

それは残念ですね。おそらく最初にそのユーザーを登録した人が、間違えて2号機にその人のメールDBを「コピー」してしまったのでしょう。

 

新任太郎「いや、コピーしたっていいじゃないですか。要するに同じものを置いておけばいいんでしょう?」

 

いいえ。Dominoの世界では「複製(レプリカ)」と「コピー」は大きく異なるのです。

 

まず、作る際のオペレーションが違います。

例えばNotesクライアントから新しいレプリカDBを作ってみましょう。手順は以下のようになります。

 

 ・アイコンを右クリック‐「複製」‐「レプリカの作成」‐作成先のサーバーを指定して「OK」をクリック

 

次に、DBのコピーを作ってみましょう、手順は以下の通りです。

 

 ・アイコンを右クリック‐「アプリケーション」‐「コピー」‐作成先のサーバーを指定して「OK」をクリック

 

新任太郎「あのう、どちらのDBを開いてみてもまったく同じに見えます」

 

そうです。作成した「瞬間」は同じなのです。ですが、決定的に異なることは、この時点でコピーの場合、DBが内部的に持っている「レプリカID」という番号が変わってしまっているのです。「レプリカID」はデータベースのプロパティから確認できます。この「レプリカID」が違うと、Dominoクラスタや定期複製によるデータ同期ができません。つまり、コピー元が更新されてもそのデータを受け取れないので、時間を追うごとにどんどんデータに差分ができていくのです。

 

 

 

新任太郎「なんというややこしい仕組み!じゃあ問い合わせてきたユーザーのメールDBは、実はコピーだったんですね。」

 

はい。複製とコピーは似て非なるものです。この微妙な用語の違いをきちんと抑えることが、イケてるDomino管理者になるための第一歩です。

 

今回はこの辺で。ではまた次回。