ページの本文へ

Hitachi

Hitachi IT Platform Magazine

今回のお題は、ミッションクリティカルなシステムには欠かせない「系切り替え」について。はい、「ああ、系切り替えね」と思ったあなた! そんなあなたは、きっと日立グループにお勤めですね。そして、「系切り替え? 何それ?」と思ったあなた。安心してください。あなたは立派な堅気です。ちなみに系切り替えを知ってる人でも、「影響分散スタンバイレス型系切り替え」については知らないでしょう。一応、堅気の人向けにちょっとだけ種を明かしておくと、日立グループに属していようがいまいが、系切り替えはミッションクリティカルなシステムのデータベースを扱う上では欠かせない、極めてオーソドックスな技術なんですよ。では以降で長江先生から、本格的な種明かしをしてもらいましょう。

*
この記事は、翔泳社が運営するEnterpriseZine に、2015年4月1日 に掲載された記事より転載しています。

「系切り替え」って要は○○のこと?

吉村 毎々お世話になっております。

長江 毎々お世話になっております。

吉村 風の噂で聞いたのですが、日立グループ内では、「毛切り替え」という怪しげな専門用語が飛び交っているとか。「○○部長、先週まであれだけ髪の毛薄かったのに、今週から突然フサフサになってるわ」「シッ! 毛切り替えしたんだよ」「ああそうか、毛切り替え……黙っていてあげた方がよさそうね」みたいな。

長江 それは「毛切り替え」ではなく、「系切り替え」ですね。

吉村 そうそう、その系切り替えについて、教えていただきたく。

長江 拝承。要はクラスタリングのことですねー。

吉村 あー!ねー。って、……それだけですか?

長江 それだけです。

吉村 ではまた来月まで、ごきげんよう!

長江 …もうちょっとだけ詳しく説明させてください。HiRDBをはじめとする日立のデータベースシステムは、ミッションクリティカルな分野で使われることが多いので、冗長性を高めるためにHAクラスタ構成を組むことが多いんです。でも中には、「本当にその構成でいいの?」と言いたくなるようなケースも少なからずあるんです。

吉村 フサフサ、じゃなくて、フムフム。

長江 例えば、ただミッションクリティカルというだけで、ユーザーから細かい可用性要件を聞きだすこともなく、何も考えずに「影響分散スタンバイレス型系切り替え」を導入したり……。

吉村 エイキョウブンサンスタンバイレスガタケイキリカエ…? アマゾンの奥地で発見された新種の昆虫か何かですか?

長江 影響分散スタンバイレス型系切り替え。要は、アクティブ・アクティブ型構成のことです。

吉村 それなら聞いたことあります。

長江 「どんな場合でも、とりあえずアクティブ・アクティブ構成にしておけば大丈夫!」と考えてる人って、結構多いみたいなんです。でも本当は、要件によっては「アクティブ・スタンバイ構成」の方が適している場合もありますし、同じアクティブ・スタンバイ構成でも「ホットスタンバイ」と「コールドスタンバイ」とではまた向き・不向きがあるんです。

吉村 そのあたり、もう少し詳しく説明いただきたく。

長江 アクティブ・アクティブ構成では、本番系と予備系の両方が常に稼働しています。で、万が一どちらかがダメになってしまったら、残りの方でその仕事を引き継いで処理を続行します。この方式のメリットは、普段は本番系と待機系のどちらも働いていますから、コンピュータリソースを無駄なくフル活用できる点です。

吉村 どっちも普段からアクティブにバリバリ働いてるから「アクティブ・アクティブ」なんですね。

長江 まあ、イメージとしてはそんな感じです。一方、「アクティブ・スタンバイ構成」はその名の通り、予備系は普段はスタンバイしてるだけで、仕事はしていません。で、本番系がダメになってしまったら、初めてその仕事を引き継ぐために動き始めるわけです。

吉村 なんか、もったいない話ですね。どうせならアクティブ・アクティブのように、普段から働かせていた方が無駄がなくていいような気がするんですけど。

長江 アクティブ・スタンバイ方式には、アクティブ・アクティブにはない大きなメリットがあるんです。それは、予備系にフェールオーバーした後も、もともと1人がやっていた仕事を別の1人が引き継ぐので、パフォーマンスの劣化がないことです。

吉村 なるほど、アクティブ・アクティブの場合は、誰かがダメになっちゃったら、残りの人たちでその仕事を肩代わりしないといけないから、全体の仕事のパフォーマンスが落ちちゃうわけですね。

長江 その通りです。前回説明した通り、ミッションクリティカルなシステムは高負荷トランザクションに耐えられるだけのパフォーマンスを常に維持する必要がありますから、フェールオーバー後のパフォーマンスの維持は重要な要件の1つなんです。このあたりの要件を考慮せずに「とにかくアクティブ・アクティブにしておけば大丈夫!」と考えていると、大きな間違いを犯す危険性があります。