ITインフラの管理を何十年もしていると、重度なシステム障害の発生で心底震えた経験を何度もしているので、バックアップやレプリケーションなどのデータ保護の仕組みは疎かにしないようにしています。
とある大規模な企業に勤めていた頃の出来事ですが、データーベースサーバーのディスク障害が原因で大切な情報に一切アクセスできない状態が続いた時は、事の重大さに肝を冷やしました。
少し古いバックアップからデータを復元できたので辛うじて事業を継続することができましたが、もしそうでなければ自分自身だけでなく社員全員が職を失い露頭に迷うところでした。
システム障害あるある
企業内で利用するサーバーはもちろん、家庭内で使うNASもできるだけ安く導入したいものですが、コストを意識するあまり障害が発生した時のことを考慮せずにシステム構成を決めると必ず後悔します。
バックアップやレプリケーションの仕組みを考えるのも重要ですが、RAID-6の設定が可能なコントローラーの選択とディスクの冗長化構成で、RAID-10が設定できるからとグレードの低い製品を選んで後に買い替えたことがあります。
データ消失のリスクに強いと言われているRAID-10のストレージのディスクがペアで破損したり、シングル構成にしたサーバーの電源ユニットが壊れたりと、様々なシステム障害を経験しました。
システム障害のあるあるを知ると、どの様なサーバー構成にすれば良いのか決めやすくなりますし、データ消失などの大きなトラブルを未然に防ぐことができるので、今まで経験した障害事例を簡単にまとめてみました。
壊れやすいシングル電源ユニット
過去に購入したことのあるラックマウントタイプのサーバーは基本的に電源を二重化にするのですが、データーセンターの電源が足りないのでシングル構成にすると何故か電源ユニットが壊れます。
電源ユニットを二重化した何十台ものサーバーは一度も壊れたことがないのに、何故か電源をシングルにしたサーバーの5台中3台が壊れるという故障率の高さは異常と言えます。
もちろん、シングルとダブルの電源ユニットでは負荷の掛かり具合が違うのが故障の原因ですが、PCよりも頑丈なサーバーの電源がこの程度の不可で壊れるのは問題です。
サーバーを少しでも安く購入するために、一度は考える電源ユニットのシングル化ですが、RAIDコントローラーの設定次第では電源が突発的に落ちるとファイルが破損する恐れがあります。
ファイルが破損する程度ならまだ良い方で、ディスクのリビルド中に電源が落ちた場合は全データのロストも覚悟しなければならないので、CPUのランクを下げてでもサーバーの電源は二重化がおすすめです。
そう考えると、QNAPやSynologyなどのハイエンドなNASは、電源ユニットがシングルでも壊れずに動き続けるのは驚異ですし、仮に何かが起きても本体を交換するだけで楽に移行できるのでとても便利です。
RAID-6非対応コントローラーの悲劇
ファイルサーバーの場合、システム領域をRAID-1にデータ領域をRAID-6に設定していますが、それ以外のサーバーは稀にRAID-1やRAID-6単一のストレージで構成することもあります。
ストレージをどの様な冗長化構成にするかは用途やリスクに対する考え方次第で変えるもので、システムを動かすまでに試行錯誤しながら最善の形にするものですが、RAIDコントローラーの性能次第では手詰まりになることがあります。
3.5インチHDDを4本搭載可能なDell Power Edge R330にPERC H330 RAIDコントローラーを搭載したサーバーの面倒をいきなり任されたのですが、RAID-6が使えないのでPERC H730に変更しました。
RAID-10を全面否定するつもりはありませんが、ホットスペアの使えないRAID-10はとても危険なので、RAIDコントローラー交換してまでもRAID-6にした方が安全です。
ディスクを24本搭載したサーバーの場合、RAID-10なら最大12本のディスクが故障してもデータが守られますが、ペアとなるディスク2本が同時に故障するとデータアクセス不能となる運の要素が強い仕組みです。
4TB 6GbpsSAS HDDをリビルドさせると8時間以上かかるのですが、しばらく無防備な状態でシステムを稼働させなければならないので、ディスクが切り替わるまでは生きた心地がしません。
電源再投入で発覚するディスク障害
サーバのハードディスクが故障した場合、通常はステータスランプが緑色から橙色に変化するのですが、稀にディスクをホットスペアに切り替えたものの、障害通知やランプ警告しない場合があります。
毎月のセキュリティパッチ適用でサーバーを再起動しても発覚しない障害が、停電復旧後の電源投入時に壊れたディスクを新しいディスクに交換したとシステムが勘違いし、リビルドを開始して障害が発覚することもあります。
駆動部品を必要とするHDDは、一度動き出したら安定して動作するものの、電源を落として再投入するとモーターが動かないことも良くあるので、オフィスの停電対応の時は注意が必要です。
オフィスビルの停電など、システムの電源を完全に停止させるメンテナンスが事前に分かるのであれば、管理ツールでログやホットスペアの状態を確認することをおすすめします。
平日対応サポートはお金の無駄
コスト削減の対象になりやすいサーバーのサポート契約ですが、故障して困るようなシステムなら365日4時間以内対応にしなければならないのは、実際にトラブルに遭遇することで理解できます。
リーマンショック後の厳しい経済状況下で、少しでもコストを抑えようとサーバー保守契約を平日午前9時から午後5時受付の翌日対応にグレードを下げたのが最後、お金を払う意味のなさに契約したことを後悔しました。
PCの修理なら平日のみ対応でも構わないのですが、常に稼働し続けなければならないサーバーのサポートは、深夜だろうが年末年始だろうが対応してもらえなければ意味がありません。
それ程重要ではないシステムのディスクが土曜日の午前10時に故障したので、部品交換を依頼するためにサポートへ連絡したのですが、連休明けの平日受付のために水曜日の修理となりました。
その時はホットスペアが機能したので問題なくシステムを稼働させることができましたが、ゴールデンウィークや年末年始にメインボードやシングルの電源ユニットが故障した時の事を考えると恐ろしくなります。
土日祭日が完全休業な場合や複数のサーバーを運用することを考えて、平日対応サポートにしたいと思うのは仕方ないことですが、平日受付の翌日対応はあまりにも時間がかかりすぎます。
更に、サポートランクの高い顧客に対して優先的にエンジニアを派遣することを考えると、大切なサーバーのサポート契約は如何なる理由があろうともコストを削減してはいけません。
障害が発生したら食事をする
サーバーの障害が発生した時の心得として、まずは状況を簡単に確認し長期戦になることが予想される場合は、冷静に判断できるように食事をしたり、待機時間があるなら睡眠をとることが大切だと考えています。
食事をすると眠くなり集中力が落ちることを心配するかもしれませんが、空腹の状態では気持ちを落ち着かせることができず冷静な判断ができないので、まずは近くのコンビニで食料を買い込むことにしています。
ホットスペアやサーバーレプリケーションなどの仕組みがあれば、必要以上に焦る必要はありませんが、システム障害に慣れていないと気持ちが落ち着かないので、サポートに連絡した後は食事をして気持ちを落ち着かせてください。
長期戦になるシステム障害の対応は、とにかく気力と体力を温存することが大切なので、ディスクのリビルド中や交換用の部品が到着するまでは、できるだけ休むことを意識することが大切です。
早朝深夜の対応はタクシーを使う
終電後にシステム障害が発生した場合、家からタクシーで会社まで行かなければなりませんが、遠距離だからと交通費を心配して電車の始発時間まで待機していてはいけません。
障害が発生したシステム次第ではありますが、もし事業の継続が困難になるようなサーバーの障害であれば、交通費の心配よりも社員やその家族のことを考えて速やかに対応しなければなりません。
知り合いのシステム担当者が体験したことですが、もう少し早く障害対応をしていれば直近のバックアップからデータを戻せたものが、初動の遅さが原因で壊れたデーターでバックアップを上書したことがあるそうです。
遠隔地にあるサーバーのホットスペアが故障していたのにも気が付ず、破損したRAIDのデータを復旧させるのに400万円かけたことを武勇伝のように話していましたが、当時は気が気でない状態だと思います。
どんなに急いで障害対応したとしても、どうにもならない事はあるかもしれませんが、少なくとも初動対応の遅さが原因で被害を拡大させないためにも、躊躇せずタクシーを利用するべきだと思います。
障害に強い環境を整えることが大切
社内でサーバーを管理するシステム担当者は、経験を積んで障害対応に慣れることがスキルアップになりますが、他の社員やその家族の生活を考えると常に安定して稼働するシステムを構築することが大切です。
その為に、冗長化やバックアップの仕組みを削減したり、サポートのランクを下げてまでコストを削減するのではなく、あらゆる障害を想定してシステムを構成したり、万が一の時のためにシミュレーションすることも大切です。
いざという時に頼れるのは経営者やサポート担当者ではなく、自分自身だということを肝に銘じ、どんな堅牢なシステムでも未来永劫使える物ではないということを忘れてはいけません。