2016年3月31日

Hubの問題か?

先日発生したANAのシステム障害。原因は、四重のDBを接続するスイッチングHubの問題だったらしい。詳細は記事からは分からないけれど、スイッチングHubで問題が発生した時に、そのインシデントが伝わらずにサーバーが自動停止したというけれど、この記事から読み取れる範囲では「???」な部分が幾つか。

まずHubのトラブルで同期が取れなくなると、データ整合性維持のために自動的にサーバーが停止し、予備機が起動するらしいけれど、その予備機に切り替えるトリガーが、メインのサーバー機の状況ではなく、スイッチングHubからのシグナルで、今回はそのシグナルが発信されなかったので予備機が起動せず、システム停止になったらしい。でも、メインのサーバー本体が停止するような状況になったのであれば、Hubの状況以前に予備機に切り替えるタイミングじゃないのだろうか。予備機の起動トリガーがHubからのトラブル信号だけなのかどうかは分からないけれど、切り替えタイミングの設計が不十分だった気がする。

さらに、四重の冗長化されているDBの同期が取れなくなると自動的にサーバーを停止するデザインらしいけれど、その時点でもDBの同期化に問題が発生していることが分かるのだから、その時点で予備機に切り替えるとか、あるいは同期は出来なくても、メインのDBが利用可能ならば、そこで速度や機能を落としてでも可用性を優先して、暫くは動作させることも可能だったはず。勿論、トラブルの原因がDB側ではなくサーバー側であるなら別の対応が必要でしょうけど。

スイッチングHubって、ネットワークシステム全体のデザインの中で、結構裏方役というか、パソコンで言えばキーボードとかマウス的な「あって当たり前、壊れることは無い」みたいな印象のある存在。昔の、単純に信号を分離するだけの所謂「dumb hub」だと、物理的な信号接続くらいしか故障原因は無かったけれど、最近のスイッチングHubは、それ自体が一つのパソコンというか情報処理機械だから、物理的な呼称以外にも設定ミスやら色々な種類の問題発生確率は買えって高くなったような気がします。勿論、それに合わせて冗長性も上がっているだろうし、品質も良くなっているとは思うけれど、システムの複雑さが増していけばやはり何処かに無理が生まれるんだろうなぁ。

まぁ、トラブル無く失敗無く進むことがベストではあるけれど、大切なのは一度経験した失敗から何を学びどの様に次に繋げるかと言う事。ANAさんには、この経験を十分に生かして、是非耐障害性能の高いシステムに作り上げていって欲しいところです。

0 件のコメント:

コメントを投稿