HOME > ソフテックだより > 第246号(2015年11月18日発行) 現場の声編「バックアップの大切さ」

「ソフテックだより」では、ソフトウェア開発に関する情報や開発現場における社員の取り組みなどを定期的にお知らせしています。
さまざまなテーマを取り上げていますので、他のソフテックだよりも、ぜひご覧下さい。

ソフテックだより(発行日順)のページへ
ソフテックだより(技術分野別)のページへ
ソフテックだより(シーン別)のページへ


ソフテックだより 第246号(2015年11月18日発行)

現場の声編

「バックアップの大切さ」

1. はじめに

昔は色々な記録や解析等は手作業で行っており、強いて言えば文面のコピーを取る程度であり、あまりデータのバックアップは重要ではありませんでした。次第にコンピュータが日常に浸透していき、それに伴って扱うデータも増加していっています。
例えば、日頃、持ち運ぶ携帯デバイスは、昔は携帯電話でしたが、最近はスマートフォンが一般的になっています。
そういった記録媒体の変化によって、扱えるデータが増加しており、その増加に伴ってシステムも大きくなっています。また、様々なデータを扱えるようになると、その分、システムへの依存度も増し、さらにバックアップが大切になっています。
自分自身でも日頃、ソフトウェア開発やサーバーの構築や管理を行っており、何度かバックアップの大切さを実感することがありましたので、今回、バックアップについて取り上げてみたいと思います。

2. 在庫管理システムでのシステム故障事例

ある在庫管理のシステムで起きたことです。
その在庫管理システムは順調に稼働していました。
あるとき、サーバーが故障してしまい、バックアップから復旧しましたが、そのシステムが再開するまでに長い時間、業務が停止してしまうことになってしまいました。
ここでは、どのような問題が発生して、どのように復旧したのか取り上げます。

2.1 どのようなシステムだったのか

そのシステムは、その名前の通り入出庫を元に在庫を管理するシステムで、サーバーとクライアントPC数台を組み合わせたクライアントサーバーシステム構成のデータベースシステムとして稼働していました。
次のシステム構成図のように、クライアントPCでバーコードを読み込んで入出庫を管理して在庫情報を管理し、月末に集計結果を印刷するシステムでした。

システム構成図
図1. システム構成図

このシステムのデータバックアップ方法としては月末に手動でバックアップを取る手順となっており、そのバックアップ作業も滞りなく行われていました。
2.2 問題発生

問題が起きたのは、ある日、サーバーが起動しなくなったと連絡があったことが始まりでした。
早朝に連絡があり、急いで稼働状況を確認してみるとサーバーの起動処理中でデータ領域の参照ができなくなっており、システムとして運用できない状況でした。

2.3 状況調査

調べてみると、サーバーのハードディスク故障により、サーバーのデータ領域が参照できない状態でした。その状態から、できる限り復旧しようと手を尽くしましたが、どうにもできない状態でした。
念のため、ハードディスクの復旧業者に見積もりを取ってみましたが、データの取り出しに当時100万円〜200万円の費用がかかってしまう状況であり、お客様もそこまでの費用を出せない状況でした。

2.4 復旧

結局、復旧に用いた方法は、故障したハードディスクを交換後、前月の月末のときのバックアップから復旧を行って、月初めからのデータは手動で再入力(システム停止中は手作業で在庫管理していました)する方法で復旧しました。
最終的に故障発生から復旧完了までに2週間の期間をかけて復旧を行い、何とか月末の集計処理までに業務を再開することができました。

2.5 振り返って

今でこそ、いざというときの迅速な業務再開を考慮するなど、色々な復旧の方法を事前に検討することを行います。しかし、当時の一般的なシステム構築では復旧について騒がれることは少なかったため、そこまでの意識はなく、リアルタイムを意識したバックアップや復旧時の再構築への意識が不足していたと感じます。
このときの故障発生時期は、たまたま月の上旬であったため、復旧までに猶予がありました。しかし、もし故障発生が月の下旬であったならば月末の集計処理ができず業務に問題がでてしまう状況でした。

3. バックアップの目的

上記の事例は、バックアップの目的を十分に意識できていなかったことが、復旧までに時間がかかる要因となっていました。そこで、ここではバックアップの目的を考えてみたいと思います。
バックアップの目的は、火災や地震などの災害やコンピュータの故障などの外部からの要因に対するもの、コンピュータウイルスや不正アクセスや操作ミス、ソフトウェアのバグといった人からの要因に対するものなどがあります。また、その状況もシステム継続に備えるもの、新システムへの移行や更新におけるトラブルに備えるもの、不正対策のための証拠保全用途のものなどがあり、それらの状況は様々です。
さらに、単にバックアップだけではなく、そのバックアップしたデータを元にした効率的な復旧の方法も考えておく必要があります。
もし復旧の方法が考えられていない場合、長時間に渡ったシステム停止期間が発生し、運用や業務が滞ることになり、場合によってはそれまでに蓄積された莫大な資産の損失が発生してしまいます。
そういったことを事前に検討して対処しておくことで、いざというときにスムーズな対応が可能となります。
復旧まで考慮したバックアップシステムを構築すると、それだけで多額の初期費用がかかり、またそのバックアップシステムの運用にもある程度のランニングコストが必要となります。
しかし、データ破損によって長期間に渡って蓄積された資産が失われた場合や、システム停止によって日々の業務ができなくなった場合、その初期費用とは比べ物にならないほどの莫大な損失となってしまうため、十分な対策を取っておくことが望ましいと思います。
年々、ネットワークシステムの利用頻度が多くなり、また、東日本大震災に代表される大規模障害によりバックアップについて改めて考え直されるようになる等、世の中の流れにおいても昔に比べてバックアップの意識は高まっていると感じます。そのため、今では複数の手段や複数の拠点に分散したバックアップ等、色々な障害に対する対策を考えたりすることが多くなっています。
弊社のシステムにもそれらを反映し、複数の媒体によるバックアップを行ったり、複数の事業所間でのバックアップを行ったり、また、復旧手順の確立や取り扱い方法の検討等、色々と取り組んでいます。また、それらの内容について、定期的な見直しや複数の担当者による共有化を行って、いざというときに対応できるようにすることも行っています。

4. さいごに

システムが大規模になり、また日常的に扱うデータ端末機器の高機能化によって扱う情報の種類や量の増加によりデータの重要性も増しています。
さらにネットワークが発達し、不正アクセスや情報流出といったセキュリティ面も考える必要性がより高くなっています。
それに伴って、バックアップの大切さも増しており、今後、さらに変化していくことが考えられます。
一度、バックアップを検討して方法や手順を決めたからといって、それがずっと有効とは限りません。継続的な改善によって適切なバックアップを検討・運用していけるように考えていきたいと思います。

(K.O.)


関連ページへのリンク

関連するソフテックだより

ページTOPへ