壊滅的なハードウェアの誤動作が発生した場合に、可能な限り短時間で稼働できるように、開発マシンをどのようにバックアップしますか?
26 に答える
開発マシンのバックアップと作業のバックアップには重要な違いがあります。
開発マシンの場合、最善の策は、できるだけ「ワンクリック復元」プロセスを提供するイメージング ソリューションです。TimeMachine (Mac) と Windows Home Server (Windows) はどちらも、この目的には優れています。マシン全体を 1 ~ 2 時間 (HDD のサイズによって異なります) で復元できるだけでなく、両方が自動的に実行されてデルタが保存されるため、比較的小さなスペースで数か月のバックアップを保持できます。多くの「ゴースト」パッケージもありますが、通常は増分/デルタ バックアップを提供しないため、マシンのバックアップにより多くの時間/スペースが必要です。
Carbonite/Mozy/JungleDisk/RSync などの製品はあまり良くありません。これらの製品でデータを取得できますが、OS とプログラムを再インストールする必要があります。履歴が限られているか、履歴がないものもあります。
コードとデータのバックアップに関しては、SVN のようなソースコード管理製品をお勧めします。一般的なバックアップ ソリューションはデータを保護しますが、SCC パッケージが提供するラベル付け/分岐/履歴機能は提供しません。これらの機能は、有効期間のあるあらゆるタイプのプロジェクトにとって非常に貴重です。
ローカル マシンで SVN サーバーを簡単に実行できます。マシンがバックアップされている場合、SVN データベースもバックアップされます。この IMO はホーム デベロッパーにとって最良のソリューションであり、私が物事を維持する方法です。
- すべての重要なファイルはバージョン管理されています (Subversion)
- Subversion レイアウトは通常、Web サーバーのファイル レイアウトと一致するため、チェックアウトを実行するだけで、すべてのライブラリ ファイルとアイテムが正しい場所に配置されます。
- 外付けハード ドライブへの 1 日 2 回のバックアップ
- リモート サーバーへの毎晩の rsync バックアップ。
- これは、ホームサーバー上のものをウェブホストに送信し、ウェブホスト上のすべてのファイルとデータベースを家に送信することを意味します。
私はMozyを使用していますが、めったに考えません。それは私が見逃すことのない私の肩からの1つの重量です.
ところで、開発マシンには価値のあるものを含めないでください。すべての作業 (および会社の作業) は、中央リポジトリ (SVN) にある必要があります。
仮想マシンと CVS。
デスクトップはゴーストで展開され、完全にバニラです。彼らがVirtualBoxを持っていることを除いて。
次に、開発者は構成済みのベースライン開発環境を CVS から取得します。
開発 VM イメージに自分自身としてログインし、CVS からソースとライブラリを更新すると、起動して正常に動作します。
これにより、開発と保守を同時に行うことが非常に簡単になります。
(CVS や VirtualBox を好まない人もいると思いますので、お好みのツールで代用してください)
ああ、あなたは毎日、トランクから離れたプライベート ブランチで働いていることを確認します。
ほらね。
回復までの合計時間: 1 時間 (トップス)
顧客訪問のために新しいラップトップを "採用" する時間: 1 時間 (トップ)
そして、CMMI 構成管理への一歩。
私はTimeMachineを使用しています。
私の家庭用および開発用のマシンには、Acronis True Imageを使用しています。
私の意見では、HD の安価な価格では、完全な増分の毎日の HD バックアップに取って代わるものはありません。
RAID1、Acronis、xcopy、DVD、およびftpの組み合わせ。参照: http ://successfulsoftware.net/2008/02/04/your-harddrive-will-fail-its-just-a-question-of-when/
私はついに「完全に自動化されたデータバックアップ戦略」を芸術に落とし込みました。手動で介入する必要はなく、別のハードドライブに相当するデータを失うこともありません。私のコンピュータが故障した場合、私は常に 24 時間以内のフル ブート可能なバックアップと 1 時間以内の増分バックアップを保持します。ここに私がそれを行う方法の詳細があります。
私の唯一のコンピューターは、OSX Leopard を実行する 160 ギガの MacBook です。職場のデスクには、外付けの 500 ギガ ハードドライブが 2 台あります。それらの 1 つは、「外部」と呼ばれる単一の 500 ギガ パーティションです。もう 1 つのパーティションには、「Clone」と呼ばれる 160 ギガのパーティションと、TimeMachine と呼ばれる 340 ギガのパーティションがあります。
TimeMachine は、私が仕事をしているときはいつでも実行され、常に「進行中」のファイルをバックアップします (これらのファイルは、1 日を通してバージョン管理にもコミットされます)。
毎週平日12:05、SuperDuper! ラップトップのハードドライブ全体を「クローン」ドライブに自動的にコピーします。ラップトップのハードドライブが故障した場合、実際にクローンドライブから直接起動して、ビートを逃さずに作業を開始できます-ドライブを交換する時間が与えられます(これは、これをセットアップしてから2回発生しました!). (技術的なメモ: 実際には、前の平日の 12:05 以降に変更されたものだけをコピーするだけです...毎回ドライブ全体ではありません。魅力的に機能します。)
自宅に D-Link DNS-323 があります。これは、ミラー化された RAID を実行する 1 TB (2x500 ギガ) ネットワーク接続ストレージ デバイスで、最初の 500 ギガ ドライブのすべてが 2 番目の 500 ギガ ドライブに自動的にコピーされます。このようにして、常にバックアップがあり、完全に自動化されています。この小さな子犬には、ダイナミック DNS クライアントと FTP サーバーが組み込まれています。
そこで、私の WRT54G ルーターでは、FTP ポート (21) を DNS-323 に転送し、その FTP サーバーを起動したままにします。
SuperDuper クローンが作成された後、rSync が実行され、私の「外部」ドライブが自宅の DNS-323 と FTP 経由で同期されます。
それでおしまい。4 台のドライブ (外付け 2 台、NAS 内に 2 台) を使用しています: 1) 月曜日から金曜日までの 24 時間以内の常に起動可能な完全なバックアップ 2) 進行中のすべてのファイルの作業バックアップ。月曜から金曜までの 30 分以内 (職場で外付けドライブに接続している場合) 3) 「外部」で仕事中のドキュメントと自宅の NAS ですべての MP3 (170GB) にアクセス 4) 2 NAS 上のすべての MP3 とドキュメントの完全なバックアップ (外部はオリジナル コピー、NAS 上の両方のドライブは ChronoSync によるミラー)
なぜ私はこれをすべて行うのですか?理由: 1) 2000 年に、40 ギガのハードドライブを 1 インチ落としてしまい、そのデータを取り戻すのに 2500 ドルかかりました。2) この 1 年間で、MacBook を 4 回修理に出さなければなりませんでした。ハードドライブが 1 つ、マザーボードが 2 つ、Web カメラが 1 つ故障しています。4 回目は、MacBook を新しいより良いものに無料で交換してくれました。それ以来、問題は発生していません。
毎日のバックアップのおかげで、仕事や生産性が失われることはありませんでした。しかし、それらがなかったら、MP3、執筆、ペルー、クロアチア、イギリス、フランス、ギリシャ、オランダ、イタリアなどへの旅行のすべての写真とともに、私の仕事はすべてなくなっていたでしょう。私のすべての家族の写真。想像できますか?きっとあなたのコンピュータにはデジタル写真が山積みになっているに違いありません... バックアップされていません.
ちょっとした準備が役立ちます:
- すべてのコードは、1 つのディレクトリ (分類されたサブディレクトリを含む) に整理されています。
- すべての電子メールはさまざまな PST に保存されます。
- また、すべてのコードは、毎日の終わりにソース管理にチェックインされます。
- すべてのドキュメントも 1 か所に保管されます。
バックアップ:
- コード、電子メール、ドキュメントを好きなだけ (毎日) バックアップします。
- 開発環境のイメージを常に準備しておきます。
失敗と回復
- すべてが失敗した場合は、イメージをフォーマットしてインストールします。
- バックアップからすべてをコピーすると、稼働しています。
もちろん、このプロセスを実現するために必要な微調整 (増分バックアップ、アーカイブなど) があちこちにあります。
絶対に最小限の復元時間について話している場合...私は、イメージまたは別のドライブへの直接コピーのいずれかに対して、毎晩ゴースト(シマンテックまたは同様のもの)バックアップを実行するようにマシンをセットアップすることがよくあります。そうすれば、イメージからマシンを再イメージ化するか、ドライブを交換するだけです。10 分以内にバックアップできます... 以前に行ったセットアップは、冗長な運用サーバーがいくつかあり、ドライブのクローンを作成するのに十分な時間オフラインであっても許容できる状況でした...ただし、夜。日中は 100% 稼働していなければなりませんでした...メイン ドライブに障害が発生したときに、何度かお尻を救われました...ケースを開け、ケーブルを交換したので、バックアップ ドライブが新しいマスターになり、オンラインに戻りました5分。
I would like a recommendation for an external RAID container, or perhaps just an external drive container, preferably interfacing using FireWire 800.
I also would like a recommendation for a manufacturer for the backup drives to go into the container. I read so many reviews of drives saying that they failed I'm not sure what to think.
I don't like backup services like Mozy because I don't want to trust them to not look at my data.
たぶん、単純なハードウェア ハードディスク RAID が良いスタートになるでしょう。これにより、1 つのドライブに障害が発生した場合でも、RAID に他のドライブが残ります。ドライブ以外の何かに障害が発生した場合は、これらのドライブを別のシステムにポップして、ファイルをすばやく取得できます。
Windows ホーム サーバー。私の開発ボックスには 2 つのドライブがあり、その間に約 750 GB のデータがあります (C: は、アプリとシステムを搭載した 300 GB SAS 15K RPM ドライブであり、D: は、すべての参加者を含むミラー化された 1 TB セットです)。Windows Home Server を使用してこのマシンをバックアップし、ホークした後、数回正常に復元しました。
xcopy を使用して、起動時にすべての個人ファイルを外付けハード ドライブにコピーします。
ここに私のstartup.batがあります:
xcopy d:\files f:\backup\files /D /E /Y /EXCLUDE:BackupExclude.txt
これにより、ディレクトリが再帰され、変更されたファイルのみがコピーされ、既存のファイルを置き換えるメッセージが抑制されます。BackupExclude.txt のファイル/フォルダーのリストはコピーされません。
ボックスに応じて、職場では NetBackup または PureDisk、家庭では rsync。
他の何人かと同じように、私は自分の仮想 PC のクリーン コピーを持っており、いつでも取得して最初からやり直すことができ、すべてのコードは Subversion に保存されています。
ホームサーバーの警告!
開発用サーバーに Home Server をインストールした理由は 2 つあります。Windows Server 2003 の安価なバージョンとバックアップのためです。
物事のバックアップ ソフトウェア側は、深刻な打撃を受けます。Home Server のインストールの開始時に、バックアップするコンピュータのリストにマシンを「追加」すると、通常はすべて問題ありません。
しかし、一定の時間が経過すると、他のマシンを追加するのが非常に難しくなるようです.
(適切な例:ラップトップで完全な再構築を行い、追加しようとしました-いいえ!)
したがって、バックアップ目的でのこのプラットフォームの信頼性を真剣に疑っています。100%信用できないと目的を達成できそうにない
SuperDuperを使用しています!私の仮想マシンを別の外付けドライブにバックアップします(私は2つ持っています)。すべてのコードは SVN サーバー上にあります。失敗した場合に備えて、クリーンな VM を用意しています。しかし、どちらの場合でも、WinXP+Vstudio をインストールするには数時間かかります。私はその箱で他に何も使いません。
Mac を使用している場合は簡単です。外付けハード ドライブを接続するだけで、組み込みの Time Machine ソフトウェアがシステム全体をバックアップし、定義したスケジュールで増分バックアップを維持します。これは、私が自分の環境を台無しにしてしまったとき、何度も穴から抜け出させてくれました。また、より大きなハード ドライブをインストールした後にシステムを復元するのが非常に簡単になりました。
オフサイト バックアップには、JungleDiskが気に入っています。Mac、Windows、Linux で動作し、Amazon S3 (または、ごく最近追加された Rackspace クラウド サービス) にバックアップします。これは、複数のマシン (または VM) があり、特定のディレクトリを何も考えずにバックアップしておきたい場合に便利なソリューションです。
- SuperDuper による数週間ごとの完全な起動可能なバックアップ
- 最も重要なディレクトリの Time Machine バックアップを毎日
- コードはネットワーク Subversion/git サーバーに保存されます
- Web サーバーで cron を使用して Mysql をバックアップします。ssh/rsync を使用して、夜間に cron を使用してローカル サーバーにバックアップします。
私の開発マシンは、Retrospect と Acronis を使用してバックアップされています。これらは、私が眠っているときに実行される毎晩のバックアップです。1 つは外付けドライブに、もう 1 つはネットワーク ドライブに。
すべてのソース コードは SVN リポジトリにあり、すべてのリポジトリを 1 つのディレクトリに保持しているため、すべての SVN リポジトリのパスをスパイダーし、(hotcopy.py スクリプトを使用して) 多数のホットコピーを実行するスクリプトを実行するスケジュールされたタスクがあります。各リポジトリの svndump と同様に。
私の仕事用マシンはバックアップされますが、彼らはそれを処理しますが、同じスクリプトを実行して、バックアップされるいくつかの場所にホットコピーと svndumps を実行しています。
作業用バックアップの 1 つの場所が SAN 上にないことを確認します。はい、バックアップされて管理されますが、ダウンするとダウンします。
私はチームのために仕事でこれを整理しているところです。すべての一般的なツールを含むイメージがネットワークにあります。(実際には、ホットスワップ マシンの準備ができています)。進行中のすべての作業もネットワーク上にあります。
そのため、開発者のマシンはブームになります。ホットスワップ マシンを使用して続行します。ダウンタイム ~15 分 + コーヒー ブレーク。
Altiris と呼ばれる企業向けソリューションがプッシュ ダウンされており、必要なときに機能します。外で雨が降っているかどうかによります。アルティリスは雨の神かもしれないが、それを知らないだけだと思う。CPU 使用率を 99% に戻すことができるので、機能していないときは本当にうれしいです。どうもありがとうございました。
それ以外には、物事をバックアップするための他のソフトウェア ソリューションをインストールする権利や、許可されている場所をインストールする権利はありません。マシンからデータを移動することは許可されていません。
だから、狂気を笑いながら指を交差させてしまう。
私はしません。
私たちは継続的インテグレーションを行い、コードを頻繁に中央ソース管理システムに送信します (これは狂ったようにバックアップされます!)。
私のマシンがせいぜい死んだら、私は数日の仕事を失いました.
あとは、開発環境のセットアップ時にゴースト イメージからクリーン ディスクを取得するか、CD を挿入したり、Windows の更新後に再起動したりして、クリーンなディスクを取得するだけです。
次のバックアップ シナリオがあり、rsync をプライマリ バックアップ ツールとして使用しています。
(毎週) 「ベア メタル」リカバリ用の Windows バックアップ
システム ドライブ C:\ の内容 Windows とアプリケーションを最初から再インストールしたくないため、物理ディスクの障害後に Windows バックアップを使用して迅速にリカバリします。これは、Windows バックアップ スケジュールを使用して自動的に実行されるように構成されています。(毎日および条件付き) rsync を使用したアクティブ コンテンツのバックアップ
Rsync は、ラップトップ、電話、その他のデバイスから変更されたすべてのファイルを処理します。SD カードからラップトップに最近の写真の RAW をインポートするなど、コンテンツに大きな変更が加えられた後、毎晩ラップトップをバックアップします。
Windows の Cygwin から実行して rsync を開始する bash スクリプトを作成しました: https://github.com/paravz/windows-rsync-backup