私は自宅のサーバー (自分のもの、家族のもの、顧客のもの) でいくつかの e コマース サイトを運営しています。これは古い Dell Dimension 4600 で、Ubuntu 12.04 lts を実行しています。コンピューターに差し迫った障害の兆候はありませんが、古いため、何かあった場合に備えてバックアップを取っておきたいと思っています。サーバーがダウンしてから数日以内にデータを新しいサーバーに復元できるようにする必要があります。Clonezilla のようなものを使用するのが最善の方法でしょうか。それとも、これを行うためのより良い方法があるのでしょうか。
アップデート
作業中にサイトが稼働している必要はありませんし、現在約 8 GB のデータがあります。バックアップを作成して、何か問題が発生した場合にバックアップ ディスクを差し込むだけで作業を開始できるようにしたいという私の希望には、ビット コピーが適しているようです。ディスク レイアウトは 1 つのディスク、1 つの大きな 80 GB パーティションのみです。はい、これが最善ではないことはわかっています。OS をインストールして最初にセットアップしたとき、Linux、Ubuntu、Web サーバーなど、ほとんどすべての世界がまったくの初心者でした。したがって、LVM もありません。
答え1
作業中にサイトを稼働させる必要がない場合は、さまざまな解決策があります。最も簡単な方法は、ディスクが読み取り専用でマウントされていることを確認し (たとえば、ブート ディスクを使用する)、1 つのディスクから別のディスクにビット コピーすることです。その後、何か問題が発生した場合は、バックアップ ディスクを挿入し、サーバーの電源をオンにするだけで、作業は完了します。
コピー中にサイトが稼働している必要がある場合、問題はより複雑になります。Linux でバックアップを処理する良い方法は、rsnapshot などを使用して増分バックアップをスケジュールすることです (ただし、rsync の方が簡単な場合があります)。ただし、復元する必要がある場合は、サーバーを再構築してから、最新のスナップショットをコピーする必要があります。
バックアップするデータの量、データの変更頻度、ディスクのレイアウトを指定していません。これらは両方とも、バックアップ ソリューションを考える上で役立ちます。新しいシステムを構築する場合 (または元のシステムを構築するときに先見の明があった場合)、LVM 上にファイル システムを構築し、LVM のスナップショットを取得してバックアップすると便利です。これにより、ダウンタイムがなくなり、ある時点でのファイル システムの [ほとんどの] 正確なコピーを作成できます。もちろん、LVM を使用することを前提としています。
同様に、OS とアプリケーションが適切に分離されている場合は、Ubuntu 12.04 の基本インストールから開始し、アプリケーションのみを増分的にバックアップすることをお勧めします。また、データベースをダンプして、Web ファイルとは異なる方法でデータベースを処理することもできます。同様に、tar (ブロック デバイス上の場合もあります) は、完全な圧縮バックアップに適していますが、ブロック デバイスをバックアップする場合は、ブロック デバイスのバックアップ中にファイルが変更されると、注意しないと後で大きな問題が発生する可能性があることに注意してください。
残念ながら、バックアップはある程度システム固有であるため、これ以上具体的にすることは困難です。
答え2
このような状況では、おそらくデータを同期できる別のサーバーを用意するのが最善の方法です。VPS を購入して、コード、データベース、構成を同期します。私が使用しているプロバイダーを調べたところ、20 GB のスペース、512 MB の RAM、1.5 TB の転送、2 つの IP を備えた VPS を年間 20 ドルで入手できます。スペックを 2 倍にすると、年間 40 ドルになります。安いです。安売りが気に入らない場合は、Amazon Cloud または Slicehost を使用できますが、お金の無駄だと思います。
コードを変更する場合は、Dreamweaver (または使用しているもの) を使用して「テスト」サイトに変更を加えます。次に、データを「本番」サイトに昇格します。ほとんどの Web 開発 IDE には、「テスト」サーバーと「本番」サーバーを持つ機能があります。どちらを使用するかは自分で選択します。私なら (一部のクライアントでまったく同じ状況にかなり近いことがあります)、VPS を本番サイトとして設定し、ホーム サーバーをバックアップ サイトとして使用します。
初期設定は簡単です。apt-get からインストールしたパッケージをすべて txt ファイルにダンプし、それを使用して VPS に同じパッケージをインストールできます。Web ファイルとデータベース ダンプを tar に圧縮し、SCP を使用して他のサーバーに直接コピーできます (おそらく、短いシェル スクリプトですべて実行できます)。/etc のほとんどもコピーする必要があるでしょう。初期設定が完了したら、同期を維持するのは簡単です。
これには多くの利点があります。
- まず、自宅で停電が発生してもサーバーはダウンしません。
- 2 番目に、コードの変更は LAN 経由でテストおよび開発されるため、変更は高速であり、低速接続を介してデータをプッシュするのを待つ必要はありません (YMMV)。
- ハードウェアに障害が発生し、部品の入手に 1 週間かかりますが、生産サイトは稼働し続けます。
- どこからでもテスト サーバーに SSH で接続し、変更を加えてテストし、中断を最小限に抑えて本番サーバーにプッシュできます。
- 実稼働マシンとまったく同じ構成で開発できます。そのため、XAMPP やその他の開発環境を使用する必要がなく、依存関係、構造、その他の開発上の微妙な点について心配する必要もありません。
- コロケーション。何らかの理由で本番マシン (VPS) に障害が発生した場合は、DNS をホーム サーバーに再ポイントします。DNS TTL を 30 分に保つと、ダウンタイムは最小限に抑えられます。
これが私のお勧めです。
そして、はい、私は年間 40 ドル程度の VPS を年間 1,000 ドル以上で販売しています... また、別のプロバイダーの VPS や自宅のラックにある VPS のコロケーション サービスもアップセルしています。Web ゲームでお金を稼ぎたいなら、巨人の肩の上に立たなければなりません。コードを開発するのはいいことですが、残余収入こそが重要です。安く買って高く売るのです。