開発マシンをどのようにバックアップしますか?[閉まっている]
-
09-06-2019 - |
質問
致命的なハードウェア障害が発生した場合でも、最小限の時間で開発マシンを稼働できるように、開発マシンをどのようにバックアップしますか?
解決
開発マシンのバックアップと作業内容のバックアップには重要な違いがあります。
開発マシンの場合、できる限り「ワンクリック復元」プロセスに近いプロセスを提供するイメージング ソリューションが最善の策です。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 バックアップ。
- これは、自宅サーバーにあるものをウェブホストに送信し、ウェブホスト上のすべてのファイルとデータベースを自宅に送信することを意味します。そのため、家やウェブホストのいずれかを失っても大丈夫です。
私が使う モジー, 、そしてそれについてほとんど考えません。これで肩の荷が一つ軽くなりました。これは絶対に逃すことはありません。
仮想マシンと CVS。
デスクトップはゴーストとともに展開され、完全にバニラです。VirtualBox を持っていることを除いて。
次に、開発者はCVSから構成されたベースライン開発環境を引き下げます。
彼らは自分自身として開発 VM イメージにログインし、CVS からソースとライブラリを更新すると、起動して正常に動作するようになります。
これにより、開発とメンテナンスを同時に行うことも可能になります。 多く より簡単に。
(CVS や VirtualBox を好まない人もいると思いますので、お好みのツールに置き換えてください)
ああ、あなたは毎日トランクから離れたプライベートブランチで作業していることをチェックします。
さあ、どうぞ。
回復までの合計時間:1時間(トップ)
顧客訪問用に新しいラップトップを「採用」する時期が来ました:1時間(トップス)
そして CMMI 構成管理への一歩です。
ところで、開発マシンには価値のあるものは何も含まれてはいけません。すべての作業 (および会社の作業) は中央リポジトリ (SVN) に置く必要があります。
私が使う タイムマシン.
自宅および使用している開発マシン用 Acronis True Image.
私の意見では、HD の低価格を考えると、毎日の HD 完全増分バックアップに代わるものはありません。
ちょっとした準備が役に立ちます。
- すべてのコードは 1 つのディレクトリ (分類されたサブディレクトリ付き) に整理されています。
- すべての電子メールはさまざまな PST に保存されます。
- すべてのコードは、毎日の終わりにソース管理にチェックインされます。
- すべての書類も一か所に保管されます。
バックアップ:
- コード、電子メール、ドキュメントを必要なだけ (毎日) バックアップしてください。
- 開発環境のイメージを常に準備しておいてください。
障害と回復
- すべてが失敗した場合は、イメージをフォーマットしてインストールします。
- バックアップからすべてをコピーバックすれば、すぐに実行できるようになります。
もちろん、このプロセスを実現するために必要な調整 (増分バックアップ、アーカイブなど) があちこちにあります。
復元にかかる時間を絶対に短縮したい場合...私は、イメージまたは別のドライブへの直接コピーのいずれかに Ghost (Symantec または類似のもの) バックアップを毎晩実行するようにマシンをセットアップすることがよくあります。そうすれば、イメージからマシンを再イメージ化するか、ドライブを交換するだけで済みます。10 分以内に復元できます...以前に行ったセットアップは、冗長な実稼働サーバーがいくつかあり、ドライブのクローンを作成するのに十分な時間オフラインであっても許容される状況でした。ただし、夜間のみでした。日中は 100% 稼働していなければなりませんでした...メインドライブが故障したときに何度か救われました...ケースを開けてケーブルを交換したところ、バックアップ ドライブが新しいマスターとなり、5 分でオンラインに戻りました。
私はついに、「完全に自動化されたデータ バックアップ戦略」を芸術の域まで到達させました。手動で介入する必要はなく、ハードドライブに相当するデータがまた失われることもありません。コンピューターが故障した場合でも、24 時間以内の起動可能な完全バックアップと 1 時間以内の増分バックアップを常に保持します。ここに私がそれを行う方法の詳細があります。
私の唯一のコンピューターは、OSX Leopard を実行している 160 ギガの MacBook です。職場のデスク上に 500 ギガバイトの外付けハードドライブが 2 台あります。そのうちの 1 つは、「外部」と呼ばれる単一の 500 ギガ パーティションです。もう 1 つは、「Clone」と呼ばれる 160 GB のパーティションと、TimeMachine と呼ばれる 340 GB のパーティションがあります。
TimeMachine は仕事中はいつでも実行され、常に「進行中の」ファイルをバックアップします (これらのファイルも 1 日を通してバージョン管理にコミットされます)。
毎週平日12:05、SuperDuper!ラップトップのハードドライブ全体が「クローン」ドライブに自動的にコピーされます。ラップトップのハードドライブが故障した場合でも、実際にはクローン ドライブから直接起動して、間髪入れずに作業を開始できるため、ドライブを交換する時間を確保できます (これを設定して以来、このようなことが 2 回発生しました!)。(テクニカルノート:実際には、前の平日の 12:05 以降に変更された内容をコピーするだけです...毎回ドライブ全体ではありません。まるで魔法のように機能します。)
自宅には D-Link DNS-323 があります。これは、ミラー化 RAID を実行する 1TB (2x500 ギガ) ネットワーク接続ストレージ デバイスで、最初の 500 ギガ ドライブ上のすべてが 2 番目の 500 ギガ ドライブに自動的にコピーされます。こうすることで、常にバックアップが確保され、完全に自動化されます。この小さな子犬には、ダイナミック DNS クライアントと FTP サーバーが組み込まれています。
そこで、WRT54G ルーターで FTP ポート (21) を DNS-323 に転送し、その FTP サーバーを起動したままにします。
SuperDuper クローンが作成されると、rSync が実行され、FTP 経由で「外部」ドライブが自宅の DNS-323 と同期されます。
それでおしまい。4 つのドライブ (2 つは外部、2 つは NAS 内) を使用しており、次のとおりです。1)24時間未満の月曜日から金曜日に、常に起動可能な完全なバックアップ2)私のすべての進行中のファイルのワーキングバックアップ。外部ドライブに接続)コピー、両方ともNASのドライブはChronosyncを介したミラーです)
なぜ私がこんなことをするのでしょうか?なぜなら:1) 2000 年に、40 ギガのハードドライブを 1 インチ落としてしまい、そのデータを取り戻すのに 2,500 ドルかかりました。2) 過去 1 年間で、MacBook を 4 回修理に出さなければなりませんでした。1 台のハードドライブ、2 台のマザーボード、1 台の Web カメラが故障しました。4回目で、彼らは私のMacBookをより新しいより優れたものに無料で交換してくれました。それ以来、問題はありませんでした。
毎日のバックアップのおかげで、仕事や生産性が失われることはありませんでした。しかし、もしそれらがなかったら、私の仕事はすべて、MP3、執筆活動、そしてペルー、クロアチア、イギリス、フランス、ギリシャ、オランダ、イタリアへの旅行の写真もすべて消えてしまっていたでしょう。私の家族の写真すべて。想像できますか?きっとできると思います。今、コンピューター上にデジタル写真の山が眠っているはずですから...いかなる方法でもバックアップされていません。
RAID1、Acronis、xcopy、DVD、ftp の組み合わせ。見る:http://successsoftware.net/2008/02/04/your-harddrive-will-fail-its-just-a-question-of-when/
おそらく、単純なハードウェア ハードディスク RAID から始めるのが良いでしょう。こうすることで、1 つのドライブに障害が発生した場合でも、もう 1 つのドライブを RAID 内に残すことができます。ドライブ以外の何かに障害が発生した場合は、これらのドライブを別のシステムに挿入して、ファイルをすぐに取得できます。
私はちょうどチームのために仕事でこれを整理しているところです。すべての共通ツールを含むイメージがネットワーク上にあります。(実際にはホットスワップマシンを用意しています)。進行中の作業もすべてネットワーク上にあります。
それで開発者用マシンがブームになります。ホットスワップ マシンを使用して続行します。ダウンタイムは約 15 分 + コーヒーブレイク。
当社には、必要なときに機能する Altiris と呼ばれる企業向けソリューションがプッシュされています。外が雨が降っているかどうかによります。アルティリスは雨の神かもしれないが、それを知らないだけだと思う。動作しないときは、CPU 使用率を 99% に戻すことができるので、本当にうれしく思っています。ありがとうございます。
それ以外に、当社には、バックアップのための他のソフトウェア ソリューションや、当社が許可されている場所をインストールする権利はありません。当社のマシンからデータを移動することは許可されていません。
だから、私はその狂気を笑いながら指を交差させるだけになってしまいます。
私はしません。
私たちは継続的インテグレーションを行っており、中央のソース管理システム (狂ったようにバックアップされています!) にコードを頻繁に送信します。
マシンが故障したとしても、せいぜい数日の仕事が失われることになります。
そして、開発環境のセットアップ時にゴースト イメージから、または 1 日かけて CD を挿入したり、Windows アップデート後に再起動したりして、クリーンなディスクを入手するだけです。楽しい日ではありませんでしたが、きれいなマシンを手に入れることができました。
職場では NetBackup または PureDisk (ボックスに応じて)、自宅では rsync。
他の数人と同様に、私には仮想 PC のクリーン コピーがあり、いつでも取得して新たに開始でき、すべてのコードは Subversion に保存されています。
スーパーデューパー使ってます!そして、仮想マシンを別の外部ドライブ (私は 2 つ持っています) にバックアップします。すべてのコードは SVN サーバー上にあります。障害が発生した場合に備えて、クリーンな VM を用意しています。ただし、どちらの場合でも、WinXP+Vstudio のインストールには数時間かかります。その箱の中には他に何も使用していません。
私は xcopy を使用して、起動時にすべての個人ファイルを外付けハード ドライブにコピーします。
私のstartup.batは次のとおりです。
xcopy d:\files f:\backup\files /D /E /Y /EXCLUDE:BackupExclude.txt
これはディレクトリを再帰的に実行し、変更されたファイルのみをコピーし、既存のファイルを置き換えるメッセージを抑制します。BackupExclude.txt 内のファイル/フォルダーのリストはコピーされません。
Windows ホームサーバー。私の開発ボックスには 2 つのドライブがあり、その間に約 750 GB のデータがあります (C:アプリとシステムが入った 300GB SAS 15K RPM ドライブ、D:は、私のすべての参加者を含むミラー化された 1TB セットです)。私は Windows Home Server を使用してこのマシンをバックアップし、ホーク後何度も正常に復元しました。
私の開発マシンは、Retrospect と Acronis を使用してバックアップされています。これらは夜間のバックアップで、就寝中に実行されます。1 つは外部ドライブに、もう 1 つはネットワーク ドライブに行われます。
すべてのソース コードは SVN リポジトリにあり、すべてのリポジトリを 1 つのディレクトリの下に保持しているので、すべての SVN リポジトリのパスをスパイダーし、多数のホットコピー (hotcopy.py スクリプトを使用) を実行するスクリプトを実行するスケジュールされたタスクがあります。各リポジトリの svndump も同様です。
私の作業マシンはどのように処理されてもバックアップされますが、バックアップされるいくつかの場所にホットコピーと SVNDUMP を実行するために同じスクリプトも実行しています。
仕事用のバックアップのうち、1 つの場所が SAN 上にないことを確認します。はい、バックアップされ、管理されていますが、ダウンしているときはダウンしています。
外部 RAID コンテナ、または外部ドライブ コンテナ、できれば FireWire 800 を使用して接続するための推奨事項を教えてください。
また、コンテナに入れるバックアップ ドライブについてのメーカーの推奨事項も教えていただきたいです。ドライブが故障したというレビューをたくさん読みましたが、どう考えるべきかわかりません。
私は Mozy のようなバックアップ サービスが好きではありません。なぜなら、彼らが私のデータを見ないことを信じたくないからです。
- SuperDuper は数週間ごとに完全なブート可能バックアップを実行します
- 最も重要なディレクトリの Time Machine バックアップを毎日実行
- コードはネットワーク Subversion/Git サーバーに保存されます
- Web サーバー上の cron を使用した Mysql バックアップは、ssh/rsync を使用して、毎晩 cron を使用してローカル サーバーにプルダウンします。
Mac を使用している場合は、それは簡単です。外付けハード ドライブを接続するだけで、内蔵の Time Machine ソフトウェアがシステム全体をバックアップし、定義したスケジュールに従って増分バックアップを維持します。これにより、環境がめちゃくちゃになったときに何度も窮地から抜け出すことができました。また、より大きなハードドライブを取り付けた後のシステムの復元も非常に簡単になりました。
オフサイトのバックアップとしては、 ジャングルディスク - Mac、Windows、Linux で動作し、Amazon S3 (またはごく最近追加された Rackspace クラウド サービス) にバックアップします。これは、複数のマシン (または VM) があり、何も考えずに特定のディレクトリをバックアップしておきたい場合に最適なソリューションです。
ホームサーバーの警告!
私が開発サーバーにホーム サーバーをインストールしたのには、次の 2 つの理由があります。Windows Server 2003 の廉価版。バックアップ用。
バックアップ ソフトウェアの面では、行き当たりばったりが大きくあります。Home Server のインストール開始時にバックアップ対象のコンピュータのリストにコンピュータを「追加」すると、通常はすべて問題なく動作します。
しかし、一定の時間が経過すると、他のマシンを追加するのが非常に難しくなるようです。
(適例:ラップトップで完全に再構築し、追加しようとしました - いいえ!)
したがって、私はバックアップ目的でのこのプラットフォームの信頼性を真剣に疑っています。100%信頼できないと目的が果たせないようです
次のバックアップ シナリオがあり、rsync を主要なバックアップ ツールとして使用しています。
(毎週) 「ベアメタル」リカバリのための Windows バックアップ
Windows とアプリケーションを最初から再インストールしたくないため、物理ディスク障害後の迅速な回復のために Windows バックアップを使用してシステム ドライブ C:\ の内容。これは、Windows バックアップ スケジュールを使用して自動的に実行されるように構成されています。(毎日 そして 条件付き) rsync を使用したアクティブ コンテンツのバックアップ
Rsync は、ラップトップ、電話、その他のデバイスから変更されたすべてのファイルを処理します。私は毎晩、SD カードからラップトップに最近の写真 RAW をインポートするなど、コンテンツに大幅な変更を加えた後、ラップトップをバックアップしています。
Windows 上の Cygwin から実行して rsync を開始する bash スクリプトを作成しました。 https://github.com/paravz/windows-rsync-backup