web-dev-qa-db-ja.com

ある専用のLinuxサーバーから別のサーバーに移行しますか?

私はウェブ、データベース、メール用にubuntuサーバー9.04を実行している専用サーバーを持っています。ハードドライブ全体に約5GBのデータがあります。

サーバーをより手頃な専用サーバープロバイダーに移行したいのですが、これを行う方法がわかりません。

  • ハードドライブ全体のクローンを作成できますか?ハードウェア固有のファイル/ディレクトリはどうですか?
  • それとも、賢明なアプローチがありますか?
  • 将来のホスティングにはおそらくubuntuの別のバージョンがあるので、移行する前に現在のサーバーをアップグレードする必要がありますか? Apache、mysql、postfixを移行するのはどうですか?
7
molidoli

私の提案は、すべてのバックアップを取り、それを新しいサーバーに復元することです。すなわち:

  1. データベースをダンプし、新しいサーバーに復元します
  2. 新しいものにウェブサーバー、データベース、メール設定をコピーします

もちろん、少しのダウンタイムが必要です。ダウンタイムを小さくするためにできることがいくつかあります。

  1. すべての電子メールデータに対して以前のrsyncを実行し、すべての構成とテストが完了したら、古いサーバーでサービスを停止し、新しいデータのみをrsyncして、新しいサーバーを起動します。
  2. Mysqlレプリケーションを使用して、「切り替える」まで両方のサーバーにデータを保持します
  3. Rsyncアプローチは、他のすべてのデータ(dbも含む)で使用できますが、エラーの選択を最小限に抑えるために、ダンプまたはレプリケーションを使用することをお勧めします。

また、これは慎重に計画して実行する必要がある手順であることに注意してください。そうしないと、データが失われる可能性があります。

7
coredump

FSArchiverを使用する可能性を探ることに興味があるかもしれません http://www.fsarchiver.org/Main_Page

1
Daniel Baktiar

試行錯誤(主にエラー)によって私が学んだいくつかの関連事項:

  • 次回の記録があるように、手順を文書化してください(次回は常に記録があります)。そうすれば、手順を忘れることはなく、他の誰かにもそれを行うことができます。
  • コンポーネントを1つずつ切り替えることができれば、問題の診断が容易になります。たとえば、メール/データベースを元のサーバーに保持し、Webサーバーを新しいサーバーに移動するだけです。アプリケーションがサーバー間を簡単に処理できない場合はこれをスキップしますが、システムを複数のサーバーに拡張する必要がある場合は検討する必要があります。この方法は、ダウンタイムを最小限に抑える必要がある場合に特に役立ちます。
  • データベースがサポートしていることが確実でない限り、生のデータベースファイルをあるサーバーから別のサーバーにコピーしようとはしません。 100MBのデータベースが数個しかない場合は、古いサーバーにダンプを作成し、新しいサーバーに復元します。大規模なデータベースの場合、レプリケーションのセットアップが大幅に高速化されます。
  • Rsyncまたはscpを使用して、あるサーバーから別のサーバーにファイルをコピーする場合は、使用するユーザーがすべてのファイルに対する読み取り権限を持っていることを確認してください。たとえば、私はかつてrsyncを使用して/ etcからいくつかのファイルをコピーしましたが、いくつかのファイルの読み取り権限がありませんでした。いくつかのファイルが欠落していることがわかったときには、手遅れでした(古いサーバーがワイプされました)。それ以来、私は常に古いサーバーのrootとしてtarを使用してディレクトリをバックアップし、tarアーカイブをrsync/scpしました。
1
uesp

新しいプロバイダーを見つけた場合、どのようにこれを行うのが好きかを尋ねましたか?最良のアプローチを選択するために、ハードウェアを含むfrom/to環境の詳細を知りたい場合があります。

また、移行のしやすさと利用可能なサポートについて問い合わせると、新しいプロバイダーを選択するのに役立つ場合があります。

0
Paul