「データベースを飛ばしてしまった!?専門エンジニアが教える安全な復元方法」
こんにちは、デジタルデータリカバリーです。
データ復旧やハードウェアについての情報を掲載しているこのnote。今回は、データベースの復旧について、ベテランエンジニアの柳田さんにインタビューしました。
データベースとは、企業などが収集した膨大なデータが格納されている、データの集まりの事を指します。
データベース製品には様々な種類が存在し、使用目的に合わせて選ばれています。主要なデータベース製品には、Oracle DatabaseやMySQL、Microsoft SQL Server、PostgreSQL、SQLiteなどがあります。
分かりやすいところで言えば、「弥生会計」など、企業様で扱われることの多い会計系のデータベースがあります。こちらは弊社でもよく復旧のご依頼を頂くデータです。
データベースを使用している企業の情報システム担当者様や、顧客のデータベースを扱う保守会社のエンジニアの方は、データベースの入ったサーバー等の機器の不調やデータベース自体の破損・削除などのトラブルへの対応が必要な場合があると思います。
データベースを安全に復旧するには、どのようにすれば良いのでしょうか?
今回は、データベースの復旧について、データ復旧歴10年、累計対応件数1万件超の論理エンジニアのベテラン柳田さんが語ってくれました。
前回の「HDDは自分で開封して復旧できる!?物理障害のデータ復旧手法を解説」の記事はこちら
1.データベースの復旧とは?
聞き手:復旧が必要なデータベースのトラブルには、どのようなものがありますか?
柳田さん(以下、柳田):データベースの復旧には大きく分けて3つ、環境復旧・データベースのデータ復旧・データベース自体の破損の復旧があります。
データベースのデータ復旧は、データベースが入っているサーバー等の機器が起動しない、RAIDを構成するHDDにファームウェア異常や物理的な破損、論理的な障害が発生している、などの場合にデータ復旧することを指します。
環境復旧は、データベースのデータを復旧した後に、我々がサーバーやPCなど機器の環境ごと復旧し、お客様がデータベースを使用できる状態まで環境を整える復旧のことを指します。お客様にノウハウがある場合にはデータベースをファイルでお渡ししますが、そうでない場合には環境復旧まで行っております。
※環境復旧:PCやサーバーなどの機器の環境を丸ごと復旧すること
聞き手:データベースのデータをただ復旧するだけでなく、使用できる状態に整えるところまで行うのですね。実際にはどのような復旧実績がありますか?
柳田:いろいろとありますが、多いのはデータベースのデータ復旧と、環境復旧のご依頼です。
直近だと、SQL DatabaseやOracle Databaseのデータ復旧事例があります。
SQL Databaseの方は、サーバーのRAIDを構成するHDDにヘッド破損とファームウェア異常という物理的な障害が併発した状態から、HDDの部品交換とデータ抽出を組み合わせ、データベースの復旧に成功しました。
Oracle Databaseの事例では、サーバーのRAIDを構成するHDDの物理的・論理的な障害への修復を行った後、データを復旧しました。さらに、お客様から元の環境でそのまま使用できるように復旧したいとご要望がありましたので、データベースを使用できる状態まで回復しました。
聞き手:企業様で使用しているデータベースは、重要な情報が詰まっているので管理を徹底しているイメージがあるのですが、バックアップはとれていないものなのでしょうか?
柳田:大半はとれていないです。
企業様の場合、常にどこかで誰かが最新のデータを更新している状態がほとんどです。ですから、昔のデータのバックアップはあっても、いついつから最近までのデータのバックアップがない、というケースが多いですね。
2.データベースの復旧に詳しい論理エンジニアの柳田さん
聞き手:デジタルデータリカバリーにおける、データベースの復旧実績はどのくらいありますか?
柳田:データ復旧全体では29万件以上の相談実績がありますが、データベースのみの復旧でいうと数千件単位になります。データベースのトラブル自体、頻度として多くないものですので、ご依頼件数も他のデータ復旧と比較すると、多いものではありません。
聞き手:万が一、データベースの復旧が必要な事態に陥ってしまった場合には、どのように対処すれば良いですか?よくある失敗例や、安全に復旧するためにユーザーに伝えたいことはありますか?
柳田:まず、データベースを取り扱うのは、ほとんどの場合が企業の情報システム担当者様や、保守会社のエンジニアの方かと思いますが、お伝えしたいのは、手順書にない範囲のことには手を付けず、上長へ報告し、復旧業者への相談をしていただきたいということです。
普段は手順書通りに対応を進めるものの、不測の事態が発生すると手順書にはないことをやってしまいがちです。ですが、最悪の場合には復旧業者でも復旧できないくらいまで手を加えてしまうこともありますので、絶対に辞めてください。
聞き手:データ復旧は不具合の原因が多岐にわたるので、正しい原因追及ができないまま作業をしてしまったら、取り返しのつかない事態に繋がってしまいますね。安全に復旧するには、原因の追究から復旧まで復旧業者に見てもらうのがベストですね。
データベースの復旧は、情報セキュリティ上の理由から持ち出しできないユーザーもいると思いますが、そのような場合にはどのように対応していますか?
柳田:そのような場合には、出張で対応しています。ですが、基本的に出張で対応できる範囲は、診断までになります。復旧作業は、データのコピーを取らせていただき、デジタルデータリカバリーのラボに持ち帰って行います。
聞き手:データのコピーの持ち出しもNGの場合には、復旧作業はどうするのですか?
柳田:その場合には、できることは限られてしまいますが、現地で復旧作業を行います。
聞き手:復旧に設備の使用が必要な場合には、やはりラボに持ち帰って復旧作業を行う必要が出てきてしまいますね…
データベースの復旧は、他のデータ復旧と比較して難易度は高いですか?
柳田:高くなります。
単純に、必要な知識がデータ復旧だけでなくデータベースの構造の理解も必要だからです。
一般にデータ復旧においては、データの構造の理解のためにファイルシステムの知識が必要です。Windowsファイルシステム、Macファイルシステム、LINUXファイルシステムなど様々ですが、データベースの復旧を行うにあたっては、まず上記のファイルシステムの復旧が出来ることが「前提」として求められます。
その上で、データベースにおけるデータの格納箇所の位置情報を見つけ出し、繋ぎ合わせていかなければなりません。
SQLとORACLEが多い印象ですが、この二つでもデータの構造が異なるので、その知識・理解も必要です。
ファイルを開けて見れる状態になれば復旧成功となるHDDなどの復旧とは異なり、データベースの場合はファイルの更新日やレイアウト(データの構成)などの詳細に至るまでの復旧が求められます。
聞き手:その分、復旧にかかる労力や時間も異なるということですか?
柳田:もちろんです。
データ復旧という工程で復旧率100%となったとしても、データベースがアプリケーションにインポート出来ない場合もよく発生します。
その場合は、データベースの構造を紐解きながら、破損個所を見つけ出して再度つなぎ合わせていかなければならないのです。
※アプリケーション:コンピューターにインストールされているプログラムのこと。メールやカレンダー機能のMicrosoft Office Outlookや、業務支援ツールのSalesforceなどが存在する。
HDDなどのデータ復旧では、データ保存容量全体が約20億セクタあるうち、10万セクタくらいのデータが破損していて抽出できていなくとも、データ復旧に成功します。ですが、データベースの場合、細部までの復旧が求められるという特性上、1万セクタくらいまで抽出できない破損箇所を減らさなければ、復旧できません。
聞き手:データベースの復旧は、細かい部分までの復旧が求められるため、お客様のご希望に合わせることで初めて価値提供につながる難しさがありますね。また、お客様の状況に合わせて様々なかたちで納品が可能です。
お客様が何をどこまで求めているのか、正しくニーズを汲み取るコミュニケーションが肝心になってきますね。
3.データベースの復旧におけるデジタルデータリカバリーの強み
聞き手:データベースの復旧に関して、デジタルデータリカバリーならではの強みはありますか?
柳田:復旧実績と、圧倒的な技術力ですね。
単純にデータ復旧のご依頼実績が多いので、復旧実績を基にした圧倒的な技術力があります。細かなお客様の納品などに関するニーズに応えることができます。
当社では、データベースの復旧を行う際に、市販のツールでスキャンして復旧することはしません。
独自のプログラムを組むことによって、内部の構造を解析していきます。
あとは、データベースの復旧とはいえ、不具合の原因は多岐に渡りますので、根源を突き詰めて復旧するところも肝心になります。例えば、不具合の原因が機器の内部の物理的な故障であれば、物理復旧が必要になりますよね。その際に必要な原因の追究力や、復旧設備、技術力を備えている点においても、強みと言えます。
聞き手:確かに、他社様で復旧できなかったデータの復旧実績や、物理復旧に関する技術面での受賞歴があるなど、他社にはないデジタルデータリカバリーの強みが、データベースの復旧においても発揮されていますね。
4.約10年のエンジニア歴から見えてきたこと、今後の展望
聞き手:柳田さんは、約10年エンジニアとして活躍されてきましたが、その中で大事にしていることは何ですか?
柳田:諦めないことですね。データ復旧において、前提の知識があり理屈を分かっていても、復旧できないことがたくさんあります。そういった時に、復旧できない要因や、目の前の分からないものに対して、仮説を立てて検証を繰り返し、復旧します。
聞き手:試行錯誤して、何としてでも復旧させる熱意は素晴らしいですね。技術力向上や研究など、注力していることはありますか?
柳田:研修を通じて復旧ノウハウを取り込んだり、広めたりすることですね。デジタルデータリカバリーのエンジニアは、専門分野ごとのチームに分かれていて、専門性を極められる環境です。技術が属人化してしまうので、ノウハウを組織で共有・蓄積するようにしています。
聞き手:今後挑戦したい研究や、復旧したいデータなどはありますか?
柳田:SANというRAIDの構築の仕組を研究したいですね。このRAIDは、世界的にも複雑で難易度が高いと言われており、この中に入ったデータベースの復旧依頼が来ても対応できるようにしたいです。
聞き手:世界的にも難易度の高いデータ復旧に挑みたい…素晴らしい意気込みですね!本日はありがとうございました。