サーバーの移行:最も効率的な方法


10

サーバー(2つの異なるホスト)間でサイトの1つを移行する必要があります。どちらの環境もLinuxです。

サイトはビデオをストリーミングするため、サーバーには現在メディアファイル(画像とビデオ)が入っています。私が最初に思ったのは、rsycncを使用してすべてを転送することですが、できるだけ効率的に、できるだけ早くすべてを実行したいと考えています。プロセスを高速化する方法について、またはrsyncがここでの正しい選択であるかどうかについて、いくつかのアドバイスがあると思いました。

前もって感謝します。システム管理者に関する私の限られた知識についての謝罪...

編集:基本的なLAMPスタック(centos)で実行しており、ラックスペースの赤い帽子に移動しています)。


1
このコンテキストで「効率的」を定義します。高速、信頼性、堅牢性、または何ですか?そして、いや、あなたはそれらすべてを持つことはできません。
John Gardeniers、2013年

1
rsyncは、ほぼ間違いなく、データを移行するための最良の選択です。他の人が言及した他のより良いオプションを持つ設定や可能なデータベースなどはまだあります。
fukawi2 2013年

回答:


12

「1つのサーバーから別のサーバーへのアプリケーションの移行」には多くのことが関係しています。すべてのユースケースでこれに包括的に答えることはできません。 あなたが体系的にそれに取り組むならば、あなたはあなたのセットアップのためにかなり包括的にそれに答えることができます:

  1. アプリケーションに必要なすべてのリストを作成します。
    • Webサーバー?
    • データベースサーバー?
    • メールサーバー?
    • スクリプト言語(PHP、Ruby / Rails、Perl、その他)
    • 補助プログラム(ImageMagickなど)?
  2. 重要な構成アイテムのリストを作成します。
    • IPアドレス、ネットマスク、ゲートウェイなど
    • DNSサーバー
    • アプリケーション固有のアイテム(一時ディレクトリなど)
  3. (1)と(2)からリストを取得し、移行の概要を記述します。
    これには、必要なソフトウェア/パッケージのインストールと構成、データベースのダンプとロードなどが含まれます。
  4. 移行のテスト
    サーバーが稼働する場合と同じようにすべてをコピーしますが、稼働させないでください。完了したら、隔離されたネットワークに固定して、すべてをテストします。
    アプリケーションの標準テスト手順がある場合は、移行したサーバーで実行する必要があります。
  5. すべてが完全にうまくいかなかった場合は、(3)に進み、(1)と(2)を更新して、計画を修正します。
  6. テスト移行が完全に完了したら、実際の移行を実行します。
    移行プロセスの複雑さによっては、データベースを削除して再ロードするだけの場合もあれば、マシンをワイプして最初からすべて実行したい場合もあります。

完了すると、特定の環境での特定のアプリケーションのチェックリストが作成されます。このチェックリストは、アプリを開発するにつれて進化する可能性がありますが、再度移行する必要がある場合は、3〜5年で開始点として機能します。

考慮すべき他の事柄には、PuppetまたはChefによる構成管理の実装が含まれます。
(「システム管理者」になる場合は、それらを検討する必要があります。それ以外の場合は、責任者/チームに渡してください。)


5

サーバー構成とサーバーコンテンツを処理する必要があるため、同じ手法が両方で機能する可能性はほとんどありません。

データベースはありますか?その場合は、それも移動する必要があります。Rsyncは静的コンテンツに最適です。一度実行してデータのリストを移動し、数時間ごとに発声してカットオーバーまで同期します。移行する前に、rsync cronを必ず無効にしてください!

設定に関しては、何を実行しているのかわかりませんので、実際に推奨することはできません。


ありがとう!現在、WHMを備えたApache / PHP / MySQLスタック(かなり標準)を備えたCentOSで実行しています。Rackspace上のredhat linuxにすべてを移動します。
ゴーストコード
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.