ユーザ用ツール

サイト用ツール


os:freebsd_マシンの引っ越し

FreeBSD マシンの引っ越し

Boot Environment を使っているならば、新しいマシンへ簡単に環境を移すことができます。

単に古いマシンの default 環境を新しいマシンの new 環境にコピーし、new 環境から起動するだけです。

以下、古いマシンを old_host 、新しいマシンを new_host として、具体的な手順を示します。

セットアップ

まず、新しいマシンに zfs root で FreeBSD をインストールします。 この時、古いマシンと同じバージョンの FreeBSD か、より新しいバージョンの FreeBSD を選びます。 新しいマシンの設定はネットワークに接続できる最小限の設定で構いません。 ports / pkg のインストールも不要です。 ユーザも作る必要はありません。(どのみち root で作業しますので)

そして、古いマシンと新しいマシンをネットワークに接続します。 IP アドレスやデフォルトルート等は環境に合わせて、適切に設定してください。

コピー

新しいマシン側では new 環境に対して zfs recv を行います。

new_host# nc -l 9999 | zfs recv zroot/ROOT/new

古いマシン側では default 環境にタグをつけた上でそれを zfs send します。

old_host# zfs snapshot zroot/ROOT/default@current
old_host# zfs send -L -c zroot/ROOT/default@current | nc -N new_host 9999
old_host# zfs destroy zroot/ROOT/default@current

最近の zfs では large blocks と圧縮をサポートしていますので、 zfs send に -L と -c をつけておくと良いでしょう。

もし、ネットワークが不安定で一度の send で送れないようでしたら、 send & recv のレジュームを試してみてください。

古いホストを停止する

コピーが完了したら古いホストを停止します。新しいホストは設定を含めて何もかもが全く同じ状態で立ち上がります。 もし static な IPアドレスを設定していた場合、重複することになりますので、古いホストは停止しておくと良いでしょう。

old_host# shutdown -p now

新しい環境で起動する

新しいホストでは new 環境から起動します。

new_host# bectl activate new
new_host# shutdown -r now

これで新しいマシンで設定も何もかもが同じ FreeBSD が起動します。 必要ならば IP アドレスを再設定してください。

host id も同じになりますので、以下のコマンドで host id を再設定すると良いでしょう。

new_host# /etc/rc.d/hostid reset

host id が同じだと bridge(4) や tap(4) に割り当てる MAC アドレスが同じになります。 また、NFS のクライアント識別にも使用されており、古いホストと同時に接続するとエラーが表示されます。 zfs のプールにも import 中のシステムの情報として host id が書き込まれます。物理的なディスク装置を抜き出す時は export してからにしましょう。 古いホストを再起動する際にはこれらにも注意してください。

このウェブサイトはクッキーを使用しています。 Webサイトを使用することで、あなたはあなたのコンピュータにクッキーを保存することに同意します。 また、あなたはあなたが私たちのプライバシーポリシーを読んで理解したことを認めます。 同意しない場合はウェブサイトを離れてください。クッキーに関する詳細情報
os/freebsd_マシンの引っ越し.txt · 最終更新: 2023/08/09 10:04 by yuichiro

特に明示されていない限り、本Wikiの内容は次のライセンスに従います: 2-Clause BSD License
Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki