かわはらです。今は事情あってMS-Outlookから投稿してますが、 自宅のサーバーはVine2.6です。 kenji@亀岡さんwrote: >> raidよりもっと良い方法が有ればそちらの方の情報も >> よろしくお願いします(_ _) 個人で利用する場合、(個人+友人の共用程度)だと、障害発生時 の回復時間はさほど高速でなくてもいいので、(1時間ぐらい 停止させても構わないでしょう?)それであれば、実質的に raidを組む必要はないと思います。 しかし、バックアップは重要です。いつ、どんな故障がおきるか わかりませんし、もしかしたら、Linuxカーネルが暴走して ファイルシステムをぶっ壊すことがあるかもしれません。 そんなことはめったにありませんが、しかし、無保証ソフト ウェアである以上、バックアップは重要です。 で、Windows であれば、ドライブをまるごとバックアップする のに、DriveImageというソフトウェアを使ってやりますが、 DriveImageでディスクイメージファイルを作るのと似たような パーテーション丸ごとのバックアップを作れるのが Linux にも あって(しかも、無償で。ありがたい)、dump / restore という コマンドが該当します。たぶん、すでにインストール済みかと 思いますが、入ってなかったら、apt-get install dump でインストールできます。 我が家では、メインのハードドライブと、バックアップファイル 置き場用のハードドライブがあり、メインのドライブは、 / と /home にパーテーションがきってあります。バックアップ用 ドライブにも、バックアップ復元作業用の Linux (同じ Vine 2.6) がインストールしてあるパーテーション(ふだんmountしていない)と、 メインドライブのバックアップデータ置き場のパーテーション (/usrX/backup/ にmount している)があります。 ちなみに、メインのドライブとバックアップのドライブは 同じ大きさのものを購入してますが、別に同じ大きさである 必要はないです。 で、以下のようなバックアップ作業スクリプトが用意して あって、適宜、手作業で sudo backup として起動してます。 #! /bin/sh d=`date +'%Y%m%d'` /sbin/dump -0 -f /usrX/backup/$d''root. -M -B 1048576 / /sbin/dump -0 -f /usrX/backup/$d''home. -M -B 1048576 /home ls -l /usrX/backup/ えと、dump コマンドのパラメータですが、-0 がフルバックアップを 意味します。うちでは、現在のデータサイズが / と /home あわせて 3.5GB ぐらいなのですが、これをフルバックアップする時間が だいたい5分ちょっとで、就寝前の歯磨きをやってる間に完了する から、毎回フルバックアップでいいやっということで、こうしてます。 もし、データサイズが多くて、前回のフルバックアップからの 変更差分だけをバックアップしたいなら、 -1 を、毎回、 変更されたものだけをバックアップしたい(増分バックアップ) なら、回数別に -2 -3 -4 とレベルが一づつふえていくような スクリプトを用意します。詳細は、dump restore mini-howto という日本語のドキュメントがあって、これが参考になります。 -B は、生成されるイメージファイルの分割サイズと思えばよく、 1048576 は、1024*1024 で 1GB を意味してます。以前のバージョン の VineLinux では、2GBを超えるサイズのファイルを作ると、 カーネルがクラッシュしまくったので、1GBを超えないように していました。現在の ext3 ファイルシステムでは、そんなことは ありませんが、名残りです。もし、バックアップをCD-R に 焼いて保存するつもりなら、700MBを意味する 716800を 指定します。 万が一の際、復旧するには、restore コマンドでパーテーションに dump イメージを復元すればいいのですが、、、ここはDriveImage とは違って、使用中のパーテーションに復元はできません。 それで、バックアップ復元作業用の VineLinux を、最小構成で 別のパーテーションにインストールしてある必要があるわけです。 ここがポイントかもしれません。ええと、ちょうどWindowsXP の障害回復コンソールと同じような感じになります。 復元作業用の Linux を起動して、メインドライブの / パーテーションと /home パーテーションへ バックアップしてあった イメージを restore します。 restore コマンドを使います。 restore コマンドは、パーテーションに復元するのではなくて、 バックアップの中から特定のファイルを取り出す操作もできます。 ちょっと一ヶ月前のファイル状態を見たくなったとき、 (歴史をさかのぼってみたくなったとき)、便利なので、 毎月1日にとったバックアップは、ほかの日のバックアップ より長く保存するようにしてます。最長で1年間ぐらい保管 すればOKでしょう。 raid だと、こういう風に歴史をさかのぼれる機能はないので、、、 なお、dump restore mini-howto では、バックアップを とる際には、システムを静止した状態(つまり、シングルユーザー モード)に落としておいた方がよいとしてあります。たしかに 本当はそのとおりだとは思うのですが、私は、マルチユーザー モードで活動中のまま、バックアップを取っています。 ヘビーにハードディスクをアクセスし続けるアプリケーション を実行中でなければ、完全に静止した状態でなくても 平気だろうと思います。 以上です。くわしくは、man dump / man restore を。 p.s. 蛇足ですが、あるディレクトリ下のファイルを隠すように 別のファイルシステムを mount している状態で、隠された ファイルがあるパーテーションを dump すると、 assertion failure -- kernel BUG というメッセージを 出して、linux システムがクラッシュします。 May 17 14:49:23 mathom kernel: Assertion failure in journal_unlock_journal_head() at journal.c:1872: "jh->b_jcount > 0" May 17 14:49:23 mathom kernel: kernel BUG at journal.c:1872! mount point の下に、隠れてアクセスできなくなる ファイルが存在しないことを、一度、確認したほうが いいでしょう。そんなファイルの存在は、単なる ディスク領域の無駄遣いなわけで、カーネルバグという より運用バグですもんね。 -- たろかわ