« バックアップデータの2次バックアップ先で「クラウドストレージ」や「テープ」はどうやら困難だという場合、OneXafeが解決策となります。 | トップページ | Arcserve Backup チューンナップ/設定 シリーズ: テープバックアップのパフォーマンス向上 »

2023年10月20日 (金)

Arcserve OneXafe クラスタがノード障害時にサービスを継続する仕組み(1)

2023年10月より、日本国内でも Arcserve OneXafe の複数ノード クラスタ構成がサポートされるようになりました(※1)。複数ノード クラスタでは容量を拡張できる(スケール アウトできる)のがメリットで、例えば実効容量 80 TB の Arcserve OneXafe 4512-240 を3台つなげる事で、あたかも1台のように 240 TB ものデータを保存できるようになります。

また、複数ノード クラスタのもう一つのメリットは高い可用性です。ノード単位ではなくクラスタ単位でファイル共有サービスを提供するため、3ノード以上のクラスタであればそのうち1台がダウンしたとしてもファイルの読み書きを続けることができます。

 

表 1:クラスタ内の Arcserve OneXafe の台数とノード障害耐性の関係

Arcserve OneXafe の台数 1ノード障害 2ノード以上の障害
1ノード クラスタ ×
2ノード クラスタ △(障害が発生したノードによる) ×
3ノード クラスタ ×
4ノード クラスタ ×
5ノード以上のクラスタ ×

※ 1 つのクラスタに登録できるノードの上限は 7 台です。

 

という話をしたところ、「Arcserve OneXafe の 3ノード クラスタではなぜ1ノード障害までしか耐えられないのか?3台のうち1台だけでも動いていればサービスを継続できるのでは?」というご質問をいただきました。

このご質問に対しては、「Arcserve OneXafe ではスプリット ブレインを避けてデータの整合性を守るため、3ノード クラスタでは2ノード以上の障害時にはサービスが提供できません。」が答えになります。今日はこの点について詳しく見ていきましょう。

 

## サービス停止より怖いスプリット ブレイン

Arcserve OneXafe に限らず、高可用性クラスタリング ソフトウェアではクラスタ内のノードが相互に通信をしてサービスを提供しています。クラスタにおいてネットワークは重要で、何らかの理由でノード間の通信が阻害されると、各ノードは他のノードの状況が分からなくなってしまいます。

この状態で、複数のノードが自分以外のノードがダウンしていると誤判断してフェール オーバーを行い、仮想 IP アドレスやファイル共有などのサービスを重複して提供してしまう事をスプリット ブレイン(※2)と呼びます。

00_split_brain

(スプリット ブレインの模式図。ノード間の通信が阻害された結果、複数のノードが本番サーバとして振る舞ってしまいます。)

 

スプリット ブレインが起きるとサービスが重複して提供されるので、クライアントはどのノードにアクセスしてよいのか分からなくなります。もっと怖いのは、複数ノード上に異なるデータが書き込まれてしまい、整合性が損なわれるケースです。最悪の場合、クラスタ内のデータが使い物にならなくなってしまいます。

 

## Arcserve OneXafe は投票でスプリット ブレインを避ける

このような惨事を回避するため、Arcserve OneXafe ではノード間で投票を行い、過半数を取得したノード群でのみサービスを提供するという仕組みになっています。サービス提供に過半数の合意が必要なので、同じクラスタの中で複数のサービスが立ってしまうという事態は避けられます。

例えば、3ノード クラスタでの過半数は2以上です。3台のうち1台のノードがダウンしている(またはネットワーク障害で他のノードと通信できない)状態であれば、残りの2ノードがサービスを継続します。

一方で、2台に障害が起きてしまうと、残り1台のノードでは過半数を取ることができないので、サービスを継続する事もできません。一見不便に見えますが、これはスプリット ブレインを避けてデータを守るためのよくできた仕組みなのです。

02_onexafe_3_nodes_cluster

 

では、クラスタに参加しているノードの数が偶数の場合は、どのように過半数を決めるのでしょうか?この点については、日を改めてお話しします(※3)。

以上、ホテがお伝えしました。

<関連情報>

Arcserve OneXafe で複数ノード クラスタを組む上での考え方や注意事項をまとめた技術資料を公開しています。エンジニアの方はぜひお読みください!!

Arcserve OneXafe 複数ノード クラスタ構成ガイド


※1 Arcserve OneXafe では1台で利用する場合でもクラスタを作成する必要があるため、単体ノードでのクラスタ構成は従来からサポートされておりました。2023年10月から新たにサポートされるようになるのは「複数」ノードでのクラスタです。なお、複数ノードでのクラスタ構成がサポートされるのは、最大容量モデルに限ります。(参考:Arcserve OneXafe 注意/制限事項

※2 英語で書くと split brain で、頭脳が分かれているという意味です。もちろんノードには脳はありませんが、人間的で面白い言い方だなぁと思います。

※3 続きはこちら ⇒(Arcserve OneXafe クラスタがノード障害時にサービスを継続する仕組み(2)

« バックアップデータの2次バックアップ先で「クラウドストレージ」や「テープ」はどうやら困難だという場合、OneXafeが解決策となります。 | トップページ | Arcserve Backup チューンナップ/設定 シリーズ: テープバックアップのパフォーマンス向上 »

Arcserve OneXafe」カテゴリの記事

コメント

コメントを書く

コメントは記事投稿者が公開するまで表示されません。

(ウェブ上には掲載しません)

« バックアップデータの2次バックアップ先で「クラウドストレージ」や「テープ」はどうやら困難だという場合、OneXafeが解決策となります。 | トップページ | Arcserve Backup チューンナップ/設定 シリーズ: テープバックアップのパフォーマンス向上 »