サーバのバックアップについて考える
エンジニアとしてシステムのバックアップは必須のスキルと言えます。
一言「バックアップ」といっても、たくさんの要件がでてきますので、
具体的に考えていくといろんな方法が考えられてきます。
ここでは7つのグループに分けてみたので、1つ1つ見ていきましょう。
①なぜバックアップが必要なのか?
②何を取るのか?
③どうやってバックアップするのか?
④どこにバックアップするのか?
⑤どのタイミングでバックアップするか?
⑥いつまで保管しておくのか?
⑦バックアップデータはちゃんと元に戻りますか?
①なぜバックアップが必要なのか?
漠然とバックアップを取ってませんか?
無駄にバックアップを取ってしまい、リソースの無駄遣いをしてませんか?
何かあったときに戻せますか?リストアできますか?
バックアップしたファイル/イメージはちゃんと元に戻りますか?
すでにバックアップを取っている人は、なんらかの理由でバックアップを
取っていますが、本当にそれで十分ですか?
今一度何を取る必要があるのか、②を参考に再考してみましょう。
②何を取るのか?
バックアップする単位として、最小構成からいくと、
・ファイル単位
・フォルダ単位
・ドライブ単位(C:\など)
・パーティション単位
・ディスク単位
・ボリューム単位
下の構成になるほど、バックアップ対象の容量は大きくなります。
容量が大きくなるということはバックアップ時間も長くなります。
・ファイル単位、フォルダ単位
これが一番小さい単位のバックアップになるんじゃないでしょうか。
給与のExcelファイルを別のコンピュータにコピーしておくというのも立派なバックアップです。
・ドライブ単位
WindowsではCドライブ、Dドライブと、ドライブ単位で示されることがありますが、
このドライブ単位でバックアップをします。
ドライブ単位のメリットは、大抵CドライブにWindowsシステムが入っているので、
これをドライブごとバックアップすることで、元に戻すときにシステムが動く状態で
戻すことができます。
ファイル単位やフォルダ単位のバックアップでは、非表示のシステムファイルが取れないことがあります。
・パーティション単位
1つのパーティションに複数のドライブが入っており、1パーテょションをまとめてバックアップする時に
使用します。サイズにもよりけりですが、ドライブ単位でとったほうがいいのかディスク単位で取ったほうが
いいのか、状況次第です。
・ディスク単位
該当のディスクをまるごとバックアップする方法。
ディスクの中身をすべてバックアップするので、バックアップしたデータをそのまま別のディスクに戻すと、
同じ環境になります。
ディスクをまるごとバックアップするため、元に戻す作業がシンプルになるので、
サーバー系では採用しやすいです。
・ボリューム単位
ストレージやRAID構成など、容量が大きい構成においてボリューム単位でバックアップすることがあります。
容量が大きいので、通常のバックアップ方式ではなく、スナップショットやフラッシュバックアップを使います。
・RAID機能
バックアップという概念とはちょっと違いますが、使い方によっては上記のようなことをわざわざしなくても
自動的にバックアップしてくれるので、こちらも併せて考えてみるのはいかがでしょうか。
たとえばRAID1の構成では2台のディスクに対して、同じデータの書き込み処理をします。
常に2台のディスクの中身を同じ状態にすることからミラー構成と言われます。
このときどちらか一方のディスクが故障したとしてももう一台のディスクで動き続けます。
故障したディスクは新しいディスクに交換すると、動いていたディスクのデータをまるごとコピーして再構成して
同じ状態にしてくれます。
バックアップを意識しなくても常に同じデータが2台のディスクに入っています。
RAIDにはほかにもRAID0、RAID5、RAID6、RAID10などがあります。
③どうやってバックアップするのか?
最小構成のファイルやフォルダをバックアップ
対象ファイル/フォルダをドラッグ&ドロップでコピー。
対象ファイル/フォルダをコピーコマンドを使ってコピー
バックアップソフトを使ってバックアップ
ドライブ単位やパーティション単位、ディスク単位、ボリューム単位など、使うソフトウェアによって
できるできないがあります。
バックアップソフトについては有償のものと、無償のものがあります。
有償と無償では何が違うか?
1番の違いはサポートでしょう。
有償のものを買えば、バックアップ方法や復元方法などを問い合わせれば、やり方を丁寧に教えてくれます。
無償版はすべて自己責任でやる必要がありますが、自己解決できるのであればお金はかかりません。
また有償版ではいろんなバックアップ装置に対応していたり、
バックアップデータを履歴のように世代管理をすることもできます。
④どこにバックアップするのか?
バックアップしたデータはどこに置きますか?
たとえば、隣のパソコンに大事なファイルをコピーしました。
水害でその建物全体が流されました。
バックアップ先として隣のパソコンにしたことは正しいですか?
バックアップはあくまでも何か不測の事態になった時のためであるため、
その不測の事態をどこまで考えておく必要があるのかが大事です。
バックアップ対象としては最小規模から最大規模まで考えていきましょう。
・USBメモリ
一番手軽なバックアップ対象です。持ち運びも簡単です。
・外付けHDD
USBメモリよりは容量が大きくなります。コピーも簡単です。
・同じ建物内のコンピュータ
バックアップしないよりはいいですね。
・市外、県外の建物のコンピュータ
災害による損失をなくすためにはよいと思います。
・海外のコンピュータ
よほどのことが無い限り使おうとはしませんが、国内でクーデーターや
戦争などが起きることを考慮すると、海外も視野にいれてもいいのではないかと思います。
・クラウド
拠点外のバックアップ先として一番簡単なのはクラウドでしょう。
容量もそれなりに大きくて、使用料も下がってきているので企業としては一考してもいいでしょう。
ただし、クラウド環境はいくらセキュリティを確保されていたとしても
みんなと共有しているところを使っているため、いつ何時不正アクセスや内部犯行による情報漏えいが
出ないとも限らないため、使用する際には十分注意する必要があります。
プラベートクラウドという企業向けのクラウドを使うのも一つの手です。
⑤どのタイミングでバックアップするか?
バックアップ対象が決まったら、そのデータをいつ取りますか?ということになります。
大きく分けると2パターンかな。
・リアルタイム同期
新規ファイルができあがったら、バックアップ先に即コピー
ファイルの更新があったら、バックアップ先も即更新
常にバックアップ元とバックアップ先を同じ状態にしておきます。
これをレプリケーションといいます。
これのメリットしては、万一バックアップ元のコンピュータが故障で使えなくなったとしても
バックアップ先のコンピュータは最新の状態になっているので、そのまま使うことができます。
障害による損失は0に近いです。
ただしレプリケーションはランサムウェアには弱いので、世代管理バックアップは必須になります。
・スケジュールバックアップ
システムを定期的にバックアップしておき、万一システムにトラブルがあり、バックアップデータから
戻す必要があった場合に使用されます。
リアルタイムではないため、バックアップ後に更新されたファイルは元に戻すことはできません。
⑥いつまで保管しておくのか?
毎日夜間にバックアップを取っているが、戻せるのは前日の夜間にとったバックアップのみ。
ユーザから先週消したファイルを元に戻してほしいと言われても元に戻すことはできません。
バックアップデータを過去にさかのぼって、いつまで保持しておくかが重要になります。
定期バックアップでは直近2周間分のバックアップを常に取っておきます。
定期バックアップとは別に、月に1回、半期に1回、半年に1回、年に1回と
別にバックアップを取っておくことも必要になります。
実は先月からコンピュータがウィルスに感染していたことが発覚して、
最新のデータよりも、感染していないときのシステムの状態に戻したいという場合に有効です。
⑦バックアップデータはちゃんと元に戻りますか?
バックアップしただけで安心してませんか?
バックアップしたデータは元に戻せる保証はありますか?
ファイル単位でバックアップしたものは、そのままバックアップ先のファイルを開けばすぐに確認できますが、
ディスク単位など、イメージでバックアップしたものはそのままでは中身が確認できません。
バックアップしたものは定期的に中身が取得できるか確認しましょう。