サーバーを移行する
LinuxにインストールしたSpaceBuilderを新しいサーバーへ移す方法を案内します。設定フォルダとデータ保存パスを新しいサーバーにコピーしたあと、新しいサーバーでライセンスを再登録します。
始める前に
- 既存のサーバーと新しいサーバーのターミナルで作業します。
- 移行中は接続が切れるため、ユーザーが少ない時間に行います。
- 新しいサーバーに、既存のデータを保存できる十分な空き容量があることを確認します。
- 新しいサーバーでも、既存のサーバーと同じ名前のユーザーアカウントと同じパスを使用することをおすすめします。パスが変わる場合は、設定ファイルを修正する必要があります。
移行する項目を確認する
| 場所 | 内容 |
|---|---|
~/.config/SetFN | 設定ファイル、ユーザーアカウント、サーバー設定データ |
| データ保存パス | チームとユーザーが保存したファイル |
データ保存パスは、既存のサーバーで次のコマンドを実行して確認します。
~/setfn-spacebuilder homepath get
既存のサーバーで準備する
- 管理者ホームのライセンス管理で
ライセンス解除を行います。ライセンスはデバイスに紐づくため、解除しないと新しいサーバーに登録できません。 - SpaceBuilderを停止します。
sudo systemctl stop setfn-spacebuilder - 設定フォルダとデータ保存パスを、新しいサーバーの同じパスにコピーします。次は
rsyncを使用する例です。rsync -a ~/.config/SetFN/ <ユーザー>@<新しいサーバーのアドレス>:~/.config/SetFN/ rsync -a <データ保存パス>/ <ユーザー>@<新しいサーバーのアドレス>:<データ保存パス>/
新しいサーバーで起動する
- Linuxにインストールするに従ってインストールファイルを用意します。既存のサーバーと同じバージョンのインストールファイルを使用します。バージョンは、既存のサーバーで
~/setfn-spacebuilder versionを実行して確認します。 - データ保存パスが既存のサーバーと変わった場合は、
~/.config/SetFN/config.yamlでパスを修正します。server: homeFolder: <新しいデータ保存パス> - Linuxにインストールするの自動起動の設定を行い、SpaceBuilderを起動します。
sudo systemctl start setfn-spacebuilder - 管理者ページにログインし、ライセンス管理でライセンスを再登録します。
- ユーザーが接続するアドレスを、新しいサーバーを指すように変更します。接続アドレスの確認(ローカル/内部ネットワーク)と外部接続方式の選択を参照してください。
移行結果を確認する
- 既存のアカウントでログインできることを確認します。
- チームフォルダと個人フォルダのファイルが表示されることを確認します。
- 管理者ホームでライセンスの状態を確認します。
- QdrantやMilvusなどの外部ベクトルDBを使用している場合は、新しいサーバーからそのサーバーに接続できることをナレッジストレージで確認します。
既存のサーバーと並行して運用する
既存のサーバーを運用したまま、コピーしたサーバーを別に運用する場合は、コピーしたサーバーを初めて起動する前に次のコマンドを実行します。
~/setfn-spacebuilder admin vector-instance-id
~/setfn-spacebuilder admin prepare-clone <出力されたUUID>
1つ目のコマンドは、現在のインスタンスUUIDを出力します。2つ目のコマンドは、コピーしたサーバーに新しいインスタンスUUIDを割り当て、一緒にコピーされたナレッジインデックスを別に保管します。サーバーを起動すると、保存されているファイルからナレッジインデックスを作り直します。
コピーしたサーバーにもライセンスを登録する必要があります。運用できるサーバーの数は、プランによって異なります。
注意事項
- 移行が完了し、新しいサーバーが正常に動作することを確認してから、既存のサーバーのデータを削除します。削除方法はSpaceBuilderをアンインストールするを参照してください。
- コマンドはSpaceBuilderを停止した状態で実行します。詳しくはコマンドでサーバーを管理するを参照してください。