SLV Migrate Linux - クイックスタート

🚚 SLV Migrate Linux

rsync over SSH を使用して、Linux サーバーのディスク全体を新しいサーバーに移行します。ユーザーデータ、設定、インストール済みパッケージ、SLV ノードのセットアップまで、すべてがコピーされます。
注意: これは slv v switch(バリデータ ID の移行)とは異なります。slv migrate linux はファイルシステム全体をコピーし、slv v switch は2つの稼働中ノード間でバリデータ ID を交換します。

前提条件

  • ソースノードに SLV CLI がインストール済み
  • ソースとデスティネーションの両方で sudo / root アクセス
  • ソースからデスティネーションへの SSH アクセス(パスワードまたは鍵認証)
  • デスティネーションサーバーは新規インストール推奨(既存データがある場合は警告が表示されます)

基本的な使い方

ソースサーバーで実行:
bash
sudo slv migrate linux --to root@new-server-ip
text
🚚 SLV Linux Migration

  Source:      ubuntu (this machine)
  Destination: [email protected]

📋 Exclude list:
  • /dev/*
  • /proc/*
  • /sys/*
  • /tmp/*
  • /run/*
  • /mnt/*
  • /media/*
  • /lost+found
  • /swapfile
  • /snap/*
  • /var/log/*

? Start migration? This will overwrite data on the destination. › Yes
  Syncing... (this may take a while depending on disk size)
√ Migration complete
  Rebooting destination...

オプション

オプション説明
-t, --to <ssh>SSH 接続先(例: root@new-server
-p, --port <port>SSH ポート(デフォルト: 22)
--skip-reboot移行後の自動再起動をスキップ
--exclude <path>追加の rsync 除外パターン(繰り返し指定可)
--include <path>デフォルト除外から削除(繰り返し指定可)
--list-excludes現在の除外リストを表示して終了
-y, --yes確認プロンプトをスキップ

カスタム SSH ポート

デスティネーションが非標準の SSH ポートを使用する場合:
bash
sudo slv migrate linux --to root@new-server-ip --port 2222

除外パスのカスタマイズ

除外されるパスの確認:
bash
slv migrate linux --list-excludes
追加のパスを除外(例: レジャーデータをスキップして高速移行):
bash
sudo slv migrate linux --to root@new-server-ip --exclude /home/solv/ledger

非対話モード

スクリプト用:
bash
sudo slv migrate linux --to root@new-server-ip --skip-reboot --yes

動作の仕組み

  1. 事前チェック — SSH 接続の確認、デスティネーションに既存データがある場合は警告
  2. rsync — SSH 経由でファイルシステム全体をコピー(システム擬似ファイルシステムは除外)
  3. 移行後 — デスティネーションサーバーを自動再起動(--skip-reboot でスキップ可)
rsync は --archive --hard-links --acls --xattrs オプションで実行され、すべてのファイル属性、パーミッション、特殊ファイルが保持されます。

⚠️ 重要な注意事項

  • root で実行してください(または sudo を使用)。非 root での移行はシステムファイルが欠落します。
  • デスティネーションは新規サーバーを推奨。既存データは上書きされます。
  • rsync の終了コード 23/24(部分転送)はエラーではなく警告として扱われます。アクティブなログファイルなどは完全に転送されない場合があります。
  • 移行後、ソースを停止する前にノードが正常に動作していることを確認してください。
  • バリデータ ID の移行(2つの稼働中バリデータ間のゼロダウンタイム切り替え)には slv v switch を使用してください。詳細は メインネットバリデータの移行 を参照。