HOME  

コンピューターに置いてあるデータをいかに守るか?
たぶんそれはハードディスク(HDD)の保守に集約されます。
  どうやったら・・・・・個人レベルですがそれをずっと工夫してきています。
ちょっとまとめてみます。

コンピューターのバックアップについて

2005.9.18起票  2005.9.30更新

 

【前書き】

何らかのトラブルで大事なデータを無くしてしまった、っていう経験はみさん必ずあると思います。
その原因は故障であったりあるいは操作ミスであったりします。
データを無くすってのは、それ自体とても困る事。そして環境を整えた自分の作業ツールが白紙にもどるわけだからとにかく通常の平静さはどっかへ行ってしまいます。

さて、その故障やミスでデータが消える事を避ける為に・・・というより別のところにバックアップをおくためにはどうすればいいのか?そんなことをずっと考えてきました。もう20年以上も。
そんなのバックアップって、本格的にお金をかけてやるなら答えは簡単。ノンストップサーバーが存在するので、それでばっちりですね。まあこれは数百万というコストをつぎ込むのであれば・・・・・・・っていう前提なんで、ここではもちろんそれを望んではいません。 ごく普通にいるユーザーの一人ですから1,000円でも少なくすませたいと思っています。
なので、個人レベル、それこそパーソナルなコンピューターでできる程度の事をまとめてみたいと思います。
思いつきで書いてるわけじゃないっていうのは今の環境を聞いていただくと多少わかるかなぁと思うので今の公私合わせた経歴をかいておきます。
今まで購入したコンピューター数はだいたい20台くらい、購入ではなくて自作で組み立てたのは70台くらい、その中で取り扱ったハードディスクは単純に100台を越えてますし手元に二桁の在庫はだいたい持ってます。そして常時運転しているコンピューターは50台くらいあって私が管理しています。サーバー専用として動作しているのはその中でも10台くらい、そのくせ仕事はシステム専門要員ではありません、普段は総務の仕事をしています。だからできる事を自力でやっております。といいながらLinuxやらSQLサーバーシステムの開発なんぞもやってますが・・・
そんな中での経験から考えたお話しです。

とりあえずHDDに関する関連記事はこちらこちらあたりをご参照くださいね。

ただし!!! あくまで私個人の経験と見識だけに基づいて書いているのでこれ以外の方法があったり開発されたりするかもしれませんが、全部を試してこれがベストって言ってるわけじゃなくて試せる範囲で書いたベストなんでよろしくお願いします。

 

 

【どこに注意するのか】

とにかく日常的に使っていて壊れた! と、その時に困らないための方法を考えます。
対象はサーバーとクライアント、両方を念頭に入れておきます。
OSはWindowsとLinuxです。
何が壊れるからデータが消えちゃうか?っていうと故障要因はダントツでHDDです。これが壊れるとデータも壊れるのでプライオリティナンバーワンですね。HDDが壊れた時にいかにバックアップが取られているのか、そこがポイントになります。

余談ですが実際に故障率がもっとも高いハードウェアは電源ユニットです。明らかに頻繁に壊れます。だから電源も10個くらいはいつも持ってるし車のトランクにも入ってるよ。ただ電源が故障してもデータに影響する事はまずありませんのでここでは触れません。

そのHDDの故障やデータ損失を防ぐためには停電対策もかかせません。UPS。これはデータを守る上で必須です。

 

 

【データをどうするのか?】

ハードディスクが故障するのであればデータをどこかにバックアップとして保存しておかなければいけません。その目的のものが単にファイルというのであればどこかに保存しておく、それならどうでにもなりますよね。MOやDVDなどに保存すればすむ。それだけです。
ただし、その操作を自動的にまたは定期的に行うには?という事がまず問題。そして、起動すべくOSごとそっくりバックアップしないと、いざ故障したときに環境が復元できなくて困ります。だからそこを目標にする、それが大変なんですよね。

 
 

 

【RAID】

あれこれ試した経緯を書いてもあまり参考にならないのでもっとも有用な方法としての結論 => RAID、それについて一気に行きます。
RAIDってもう既に多くの人が耳にしているのではないでしょうか?まだ聞いた事がありませんか? よく知らない? ではちょっと説明を・・・と思ったのですが・・・略称忘れたのでこちらからhttp://e-words.jp/w/RAID.htmlみさせていただき一部転記させて頂きました。

RAID 
読み方 : レイド
フルスペル : Redundant Arrays of Inexpensive Disks
別名 : ディスクアレイ

 複数のハードディスクをまとめて1台のハードディスクとして管理する技術。

 1987年カリフォルニア大学バークリー校のDavid A.Patterson氏、Garth Gibson氏、Randy Katz氏の3人によって提唱された。

 データを分散して記録するため、高速化や安全性の向上がはかられる。専用のハードウェアを使う方法とソフトウェアで実現する方法がある。高速性や安全性のレベルにより、RAID-0からRAID-5まで6つのレベルがある。

ということで複数のドライブにデータを分散させる訳。
OSなどの必須なプログラム類やファイルが複数のドライブに書かれる事で自動的にバックアップが取れる、単純に頭に描くだけでバックアップされてる感じがしますね。
RAIDにはいくつかのレベルがあって0〜5の数値で表します。安全に対してはレベル 1 と 5 だけが有効です。
容易に手に入る手ごろなRAIDコントローラーカードをみるとRAID-0 とRAID-1 に対応っていう仕様が一般的です。RAID-0 は2台のドライブをくっつけて大きな1台のドライブとして使う方法です。容量を倍に使い記録速度も分散により早くなります。この場合PromiseのRAIDコントローラーBIOS上の表現ではPerformanceと表現されるようで、そのとおりパフォーマンスを高上するのに役立ちますが、反面ドライブの1台が故障したらもう手も足も出ません。バックアップにはなってませんね。
もう一方のRAID-1 はデータを2台のドライブに同じように書き込むという仕様。2台がいつも同じ状態になっているから片方どちらが壊れてもまた複製が作れる、これがMirrorであり、RAID-1 であります。コントローラーBIOS上では Security っていう表現になってる様です。
だからRAIDは「1」が安全用です。複製はそのカードの機能としてBIOSレベルで実施します。中にはWindowsから操作できるものもあると思いますがまだ目にしたことはありません。
その他RAID2、3、4は容量を多く使うためのストライピングなどのもので故障対策には使えません。忘れましょう。
そして次のRAID-5、こちらは重要ですよ、必ず話題にあがるでしょう。 3台以上のドライブでRAID-5ディスクアレイを組むのですが、詳しい技術情報はちょこっとおいといて、わかりやすく説明すると、書き込むデータはその3台のディスクに分散されて書き込まれます。さらにお互いのドライブのすべてのデータを別のドライブに分散して持ち合うっていう機能です。データが分散するのはRAID-0と似てますが、データを持ち合うのでどれか1台が故障してそれを取り外しても動作は普通に継続するところがすごい。この故障ドライブを引っこ抜き、新しいのを差し入れるっていう使い方が主流で、ホットスワップっていいますが運転しながらドライブを交換するだけで自動的に元の状態に直ってしまいます。

以上、バックアップにはRAID1か5がとても効果的です。そして上記をみるとRAID-5を使いたくなるでしょう。でもそうでもありません。その見解は後ろのほうに書いておきます。

あと、補足ですが、RAIDの機能はソフトウェアレイドとハードウェアレイドがあります。
私は昔、会社にいれる最初のサーバーに、はじめてRAIDを載せたくて、その時ちょうど導入したWindows NT Server 3.51の機能としてソフトレイドを搭載したのでそれを使いました。平成7年の事です。
当時は ハードレイドは目玉が飛び出るくらいの値段だったのでハードレイド大嫌いだったんのですが、今ではM/Bにオンボードで載ってるのも多く出ていますので手軽になりました。そんな手軽な便利さに触れられるようになりめっきりハード派です。 ハードレイドはOSと切り離されててわかりやすいです。ソフトレイドにしてしまうとそのOS自体のミラーリングができずちょっと問題ありです。

その、ハードのほうの レイドコントローラー、以前はサーバー用にしか売れなかったんでしょう。とくにRAID-5なんてものすごい高いものでした。ドライブ自体も1台5万円とかして高かったですしね。それが最近はすっかり様変わりしてきました。HDDドライブもとても安くなりました。例えば昨今500Gクラスが4千円未満で入手できたりします。すると複数台を買ってきてレイドを組んでしまえ!っていう発想も普通に出てくると思います。つい最近ではM/BにRAIDが標準搭載されるものが多くなってきました。S-ATAのインターフェイスのものです。S-ATAは高速で性能がいいし安いし、M/BもオンボードでRAIDが使えるとなると普及してきたんだなぁと実感します。
また、RAID-5コントローラーはちょっと高めですがこのまえ「玄人志向」の製品で7千円のものが出てたのを見てすごく安いとびっくりしました。これで実用レベルに十分入ってきたわけです。

さてどうしましょう? その考え方に関してはまた少しあとにかきます。

 

 

【RAID以外のバックアップの方法】

RAID以外を考えてみましょう。
サーバーであるならば、 一番レガシースタイルなのはテープ。8mmメタルテープからちょっと大きめなものまでいろいろでしょう。オープンリールとかもあるかな?
テープバックアップは以前に使ってたことがありますが、
  時間と容量
 取扱い
の関係で面倒なのでやめました。時間と容量って、とにかく遅いので夜バックアップ開始させて朝になっても終わってないっていう事が増えてきたし、容量も間に合わず自動バックアップ中にテープ交換が必要になってきたりと・・・・いろいろ手間がかかるわりに、さらにリストアもすんなりいかない。メーカー独自のユーティリティからだとOSのリストアなんてできんのか?と思うくらい面倒だったので・・・・。でも 最近はよくなったんでしょうかねぇ。ただテープという話になると完全に業務用ですけどね。ここではパーソナルな問題を扱ってるのでテープはダメという結論で終わっておきます。

あとはCD、MOなどは、「データ」のバックアップにはいいでしょうが容量的にはちょっとだけですね。DVDも容量は多少大きいけどあくまで「データ」の一時保存用としてとらえています。
CDとDVDはそちらに書き込むと読取専用の属性がつくので戻してきたときのその解除が面倒だったりします。イメージバックアップなんかじゃないとあとが大変ですね。毎日の自動バックアップにも向かないし。

本題ではありませんが、CD,MO,DVDの耐久性についてどう考えますか?
つい最近会社で話をしててCDに関する大きな誤解を持っている人がいたので驚きました。
  質問は 「CDってどう進化していくんでしょう ? 今一番新しいのはCD−Rですか?」
という事でしたが、話がなんで食い違ってるのかここでわかりました。この部分、おわかりですよね?
CDって昔からありますが金属薄膜をプレス成型してピットという凹凸を作り、ポリカでパッケージングしてあるので物理的に不変。劣化が考えられるのはポリカ(ポリ・カーボネートって透明で光透過性に優れた固くて安定した樹脂です)の経年変化だけ。
CD−Rはポリカ(かな?)の中に色素が埋めてあるものです。局所的にレーザーで加熱し磁場で変質させ、レーザーの反射状態を変化させるというもので、CDの凹凸のピットとCD−Rは色素変化という大きな違いがあります。そして後者は劣化します。何年かしたら読めなくなったCD−Rとか経験ありませんか?
意外とあるんですよ・・・、日々改善はされてるでしょうけどね。MOは経年変化に強いとは言われています。DVDもいまのところどんなもんだかわかりませんが、強いとは言われていますがまだ日が浅いのでどんなもんでしょう。
ちょっと余計な事を書きましたがバックアップデバイスとしては完全なものは無いという事です。

まとめると
テープは個人向けには無理、業務用にもあまり好きじゃありません。
CDR、DVD、MOはデータだけの待避用
MOは耐久性高かそうで読み取り属性がつかないので使い勝手も良いが価格面、容量、書き込み速度でちょっと?
CDRはもう容量的に無理です。
DVDは容量が大きいので今使える退避用としては唯一のものかもしれませんね。実際に3〜4Gくらいのデータ保存に使ってますし。でもデータだけにしています。

HDDのバックアップというか二重化にはやっぱりRAIDだね。

 

 

【サーバーのミラー化、ストライプ化】

ちょっとここでHDDにとらわれず、サーバーをミラーにするっていうのを考えてみましょう。
サーバーストライプ、サーバー自体の二重化ですねそれは専用OSが必要なのでまだ経験がありません。たかそうだし。
OS依存じゃなくデータやディレクトリだけの二重化、簡単なミラー化ってのはどうでしょう? そういう意味では私は普通に使ってます。

例えば私のこのサーバー、Linuxですが、RAID-1でHDDをミラー状態にして固めた上に、別のサーバーとの間にデータのミラーリングしてます。
ドライブの故障ってだけじゃなくてOSが壊れる時があります。そもそもインターネットのサーバーですから多少の危険も考慮しているのですが、WEBやメールが使えなくなるととっても困るのでいつでも別のマシンが稼働できるようにってことで予備をたててます。
このサーバーとミラーサーバーは指定のファイルとディレクトリを模写しています。完全なバックアップではありませんが、総合的なアックアップならそれでもいいですよね。この場合 Linuxならではの機能を使ってます。手順は別の記事に立ててますのでご参照 下さい。

DBサーバーのミラーも使ってます。Microsoft社のSQLです。さすがにデータベースのバックアップ・リストアってのは意外と大変なんだよ。だから即時更新型レプリケーションという機能でリアルタイムなミラー体制を作ってます。あまりやってる人はいないとは思いますが・・・・でもこのバックアップの設定のせいで助かった事、つい最近ありました。あーヒヤヒヤ。確かブログにそのことを書いたと思います。お読みになられたかたもいらっしゃるかと。 MS−SQLのレプリケーションは結構便利に使ってます。
LinuxのSQLデータはどうでしょう? というところも私はMySqlのデータデバイスを先程の記載通りミラーサーバーに送ってます。だからブログのデータなんかもばっちり残してますよ。

 

 

【まとめ その1】

以上で今パーソナルレベルで使えるおおよその考え方を紹介できたと思います。
ではバックアップについて私の選択した基準を書きます。

ハードウェアレイドをベースに使う。 まずこれは基本でしょう。
ハードディスクは最近でこそ壊れにくくなってきましたがやはり構造的に故障する要因を秘めている部品ですから故障を前提に考えないといけません。故障に関する私の記事はここここにあるので参考にどうぞ。ドライブ単体の故障、これに対処するにはレイドを組みます。
ソフトウェアレイドはブートパーティションの稼働が完璧には行けないと思うのでハードをお薦めします。

ではレイドは1と5のどっち?
それは使い方次第ですが基本は1、RAID-1です。
RAID-5にはそれなりのリスクが伴います。
ノンストップ、という部分ではとてもありがたいRAID-5なんですが、ドライブ1台の故障には対処できるものの、同時に2台がいかれるとデータは取り出せません。まぁ同時に2台っていうのは、仮にRAID-1で同時2台なら全滅ってことで同じだけどね。普通はありにくい事だけど、RAID-5で一回1台のドライブ故障に引きずられてもう一台が動作休止になったことがあってちょっと驚かされた事があったからとても心配です。もう一つはコントローラー。コントローラーがいかれるとドライブのデータはまず取り出せません。今より未来になったときに今使っているものと同じコントローラーが入手できる? それなら良いのですが意外と同じ部品手に入らないことが多いです。
その点RAID-1は生きてるドライブを取り出せばあるていどなんとかなります。コントローラーも入手しやすいと思います。現に同じ型番のコントローラはたくさん稼働させていますから。
逆にホストを絶対止めたくないという希望があるならおのずとRAID-5の選択でドライブは予備を多めに用意、コントローラーも予備をおいておくくらいの配慮は必要かと思います。

 
 

 

【電源】

電源にも配慮しましょう。
いくらRAIDにしてあっても停電などでファイルが分断されておかしくなる事があります。そうなるとレイドアレイなんて意味無いです。UPSは必須です。
個人的には1万円くらいのほんとに最小限のUPSしか買えませんが、仕事に使うならAPC SU750Jくらいの高性能なやつをマネージャーソフトを使って運用するくらいの配慮をしたほうが良いでしょう。というか、仕事では必須です。
無停電電源装置UPS

 

【ファイルの履歴をバックアップ】

今までの記載はHDDの故障に遭遇するにあたり事前のバックアップというか安全対策です。
間違って消しちゃった!とか書き換えちゃったという場合の対処はどうでしょう?RAIDにしてあっても操作ミスで消すと何も残りません。
先にも触れましたが、MOなどのリムーバブルメディアに定期的に落しておくのも効果的です。

もうちょっと自動な方法 はないんでしょうか?忘れてたらアウトですからね。
個人的には結構使えてる方法があるんですよ。
もう十年前からやっていてとてもいい具合に使えてます。
Windows98かMEの16bitOSマシンを引っ張りだしてきて大活躍。ここにXPや2000などのNT系のOSを使うとMS-DOSコマンドが弾かれてしまう場合があるのであえて16bit OSが良いのです。それで更新されたファイルだけXCOPYで持ってくる事が出来ます。
タスクスケジューラーで毎日バックアップをとっていくと、更新ファイルが履歴で残り、何日前のファイルを・・・・という要求に即座に対応できます。
結構便利なんだけど、べたな方法だから特に書きません。リクエストがあった書いてみましょうか・・・・。

 

 

【RAID以外の方法−>有望かも?】

今、興味のある方法があります。
Norton Ghostを使った方法です。
Ghostって知ってますか? ディスクを丸ごとバックアップしたり、イメージに変えて保存したりと、ドライブ単体のバックアップに関してはとても優れたソフトです。
私もこれでずいぶん助かりました。20Gのドライブから40Gへ乗り移るなんてのも簡単にできちゃいます。
一回一回手動ですがドライブ丸ごとバックアップってのも可能です。それなら何もおそれずFDから起動させてバックアップをとってやれば住んじゃいます。手間と時間がかかるだけ。
現に私はRAIDを載せてないマシンで重要なのはGhostでバックアップHDDを取って別に保存しています。バックアップはDOSで起動させてそこで操作を行うというものです。OSが起動してるとOS関連のファイルはバックアップできないのは当たり前の事です。そしてクローニングには一時間くらいかかるのも意外とめんどうです。

最新版Ghost
なんと最新(といってもだいぶ遅れてますが) Ghost 9 ではOS稼働中にもかかわらずそのクローンやイメージを作れたり、更新増分のバックアップも可能だという事。専用のタスクマネージャーもあるし。
これなら稼働中のままRAIDに非常にちかいバックアップがとれ更に履歴管理までできます。
次のバージョン10では古いバックアップの自動削除までやってくれるっていうからそれはすごい。
今、Ghost 9を買って試してるところですがなかなかよさそうでいくつか増やしてみました。

Ghost自体はサーバー対応じゃないのでサーバー用など調べてみるつもりだけど、使ってみる価値ありです。
 ※後日報告 : 2000serverにインストールしようとしてみました。対象外OSでも使えるかなぁって。でもインストーラーが対象外ですって言って終わっちゃいます。残念でした。OS稼働中にオンラインバックアップをとろうと思ったけどインストール出来ませんでした、という報告です。

ちなみにGhostはバックアップデータをUSBとか別のメディア、ネットワーク系などに保存する事が可能という事、それが売りの一つですが、そういったメディアの認識トラブルも報告されています。Ghostの使い方として、バックアップ先は一緒に取りつけたHDDをオススメします。いざってときに読めないってことがありませんから。
ノートンゴースト

 

 

【実例というか実績】
以上書いたことは全部経験則ですが、今どうやってるか、まとめます

サーバーはハードウェアRAID-1
ソフトレイドは廃止方向。
RAID-5は機会があったら廃止。

SQLサーバーに関しては、MSならレプリケーション、Linuxならサーバー間ミラー。

電源はAPC SU700JかSU750Jなどで自動シャットダウンをセット。これ必須

履歴管理をしてるのでwindows98マシンからバックアップの操作

Ghostも活躍中

こんな感じです。

 

 

 

 

 

【その他の情報】
※他にもバックアップっていうとOSの標準機能を使ったバックアップや、DVDやM/Bのドライバなどに付いてくるイメージ保存機能などもあります。ただそれらはためしてません。あくまで故障したときにできるだけ、短時間で確実に運行を再開できる、そういう手段にしぼっています。

※Windows2000ServerにAdaptec 1200Aを使った場合にPhotoshop 7のデータが故障するという現実に直面していますが、そいう認識が世の中にはないようです。したがって解決策も当然でていません。えー解決策として、この組み合わせを回避しています。

※ファイルサーバーで注意したいところが一つあります。ここに書くのもどうかと思ってはいるのですが、ディスクへの書き込みキャッシュを有効にしておくと強烈にたくさんのファイルを書き込んだ場合に、遅延書き込みに失敗するということに何度か遭遇しています。通常は有効になってますのでドライブのプロパティ内を探して外しておいたほうが良いでしょう。・・ドメイン参加してるサーバーOSの場合はオフがデフォルトという事です。

 

追記
Norton Gohst 10について
動作画面をちょっとだけ紹介します。
タスクバーにはこんな感じで待機しています。


メインの操作パネルは前のバージョン9とは大きく変ってこんな感じ。
リカバリーポイントというのが差分のバックアップになります。それをスケジューリングして自動にバックアップをとってくれます。


スケジューリングはこんな感じです。簡単ですね。


そしてその設定画面

曜日ごとにまた間隔も設定できるので実用的には自分の思ったとおりです。

イメージファイルの格納先にはファイルがこんな感じで作成されています。まず全体のバックアップファイルがあって、毎日の差分ファイルがとられている。
そして月初にまた全体のバックアップをとりなおして・・・こんな感じでファイルが作られています。
参考にどうぞ。