メインコンテンツにスキップ

FASTPANEL 間でのユーザー転送

概要

この記事では、ユーザーアカウントとそれに関連するデータ(Webサイト、データベース、メールなど)を転送するプロセスについて説明します 組み込みの移行ユーティリティを使用して、ある FASTPANEL サーバーから別のサーバーへ。

主要な用語

  • ソースサーバー - データの転送元となるサーバー。
  • 宛先サーバー - データの転送先となるサーバー。

重要な注意事項

  • デフォルトでは、移行が正しく機能するのは標準的な FASTPANEL 構成のサイトのみです。

  • 手動設定 の変更があるサイトは、IP アドレスのマッピングに -m フラグを使用した場合にのみ転送できます。

  • データベース所有者の暗号化されたパスワードが利用できない場合、そのデータベースは転送されません。

  • Webサイトが転送されない場合、それに関連付けられたデータベースも転送されません。

  • 転送できるのはローカルデータベースのみです。

移行プロセス

接続

宛先サーバーは SSH 経由でソースサーバーに接続します。 初回接続時に、宛先サーバーはソースサーバーに SSH キーをインストールします(事前に用意されたもの、またはパスワードから生成されたもの)。

移行手順

  • モジュールのインストール
  • 転送可能なオブジェクトに関する情報の収集
  • ユーザーの作成
  • SSL 証明書の転送
  • Webサイト、FTP アカウント、メールドメイン、メールアカウントの作成
  • データベースとデータベースユーザーの作成
  • Webサイトファイルおよびメールボックスファイルの転送
  • cron ジョブの移行

ファイル転送は rsync を使用して実行されます。 データベースは、SSH トンネル経由でダンプを作成することにより転送されます。

移行開始コマンド

このコマンドは、root 権限を持つユーザーとして 宛先サーバー で実行します:

/usr/local/fastpanel2/fastpanel transfer run [SSH_PARAMETERS] [IP_PARAMETERS] [ADDITIONAL_OPTIONS]

コマンドラインフラグ

SSH 接続

  • --remote_host="SOURCE_IP" - ソースサーバーの IP アドレス。
  • --remote_port="SSH_PORT" - SSH ポート。
  • --remote_username="SSH_USER" - ユーザー(root である必要があります)。
  • --remote_password="USER_PASSWORD" - 指定した SSH ユーザーのパスワード。
  • --ssh_key_path="PATH_TO_KEY" - ソースサーバーへの接続に使用する、宛先サーバー上の SSH 秘密鍵へのパス。 キーを使用する場合、パスワード(--remote_password)は不要です。

IP アドレス

転送中のサイト IP アドレスを管理するには、以下のフラグのうちいずれか 1 つだけを使用する必要があります。 -m フラグが優先されます。

  • -i "IP_ADDRESS_ON_DESTINATION" - 転送されたすべてのサイトに、宛先サーバー上で指定した IP アドレスを割り当てます。 複数の IP を指定するには(たとえばソース側に複数あった場合)、転送が必要な各ソース IP ごとにこのフラグを繰り返して指定します。

  • -m "SOURCE_IP,DESTINATION_IP" - 推奨される方法。 直接マッピングを確立します。ソースサーバーで SOURCE_IP を使用しているすべてのサイトは、宛先サーバーで DESTINATION_IP を使用します。 このフラグは、異なる IP ペアに対して複数回指定できます。 listen ディレクティブ内の IP アドレスを正しく置き換えられるため、手動で設定変更が行われたサイトの転送には必須です。

追加設定

  • --users="USER_LIST" - 指定したユーザーのみを転送します(カンマ区切り)。 指定しない場合、すべてのユーザーが転送されます。
  • --disable_disk_quota - ユーザーのディスククォータの転送を無効にします。
  • --with_user_data - ユーザーのホームディレクトリの内容全体をコピー対象に含めます(logs/ サブディレクトリを除く)。 転送時間と転送データ量が大幅に増加する可能性があるため、注意して使用してください。
  • --only_data - データのみを転送します(Webサイトファイル、メールファイル、データベースダンプ)。 初期の構造移行(ユーザー、サイト、DB など)が 成功したものの、ファイルまたはダンプのコピー段階でエラーが発生した場合に有用です。 データコピー部分のみを再実行できます。
  • --transfer_timeout - 操作タイムアウトを設定します(デフォルトは 60 分)。

コマンド例

サーバー 11.22.33.44 から現在のサーバーへ、すべてのユーザーを転送します。 古いサーバーではサイトは IP 11.22.33.4411.22.33.55 を使用していましたが、新しいサーバーではそれぞれ 99.88.77.6699.88.77.67 を使用する必要があります。 パスワードを使用した SSH 接続。

/usr/local/fastpanel2/fastpanel transfer run \
--remote_host=11.22.33.44 \
--remote_username=root \
--remote_password=YourSourceRootPassword \
-m 11.22.33.44,99.88.77.66 \
-m 11.22.33.55,99.88.77.67

発生しうる問題とエラーの種類

移行ログ内のエラーは、必ずしも重大な問題を示すわけではなく、特定のオブジェクトが転送されなかった理由を示している可能性があります。

  • 競合: 宛先サーバーの現在の設定によりオブジェクトの転送が不可能な場合(たとえば、同じ名前のユーザーまたはサイトがすでに存在する場合)、またはソースサーバー上のサイト設定がパネルに認識されていない場合(たとえば、大幅な手動編集が原因の場合)に発生します。

  • 保存されたパスワードがない: 前述のとおり、ソースサーバー上の FASTPANEL に保存されたパスワードがない MySQL データベースユーザーは転送できません。

  • 手動設定と IP アドレス: ソースサーバー上のサイトに Web サーバー設定の手動編集があり、移行中にその IP アドレスをマッピングするための -m フラグが使用されない場合、そのようなサイトは転送されません。これは、宛先サーバー上の設定でどの IP を指定すべきかをパネルが認識できないためです。