ライブ移行を使用すると、running 状態のカーネルゾーンを新しいカーネルゾーンホストに移行できます。カーネルゾーンのメモリーの状態が移行先のゾーンにコピーされるため、ライブ移行で発生する停止時間は、ほとんどのアプリケーションまたはほとんどのエンドユーザーが気づかないほど短くなります。ネットワーク接続は維持されます。
ライブ移行は、停止時間を最小限に抑える必要のあるアプリケーションや、アプリケーションがサービスを提供し続ける必要がある場合に使用できます。
始める前に
カーネルゾーンのソースホストとターゲットホストの両方が、カーネルゾーンの移行の要件と カーネルゾーンのウォーム移行およびライブ移行での追加要件で説明されているライブ移行のためのハードウェア、ソフトウェア、およびストレージ要件を満たしていることを確認します。
ウォーム移行またはライブ移行用のサービスの有効化の説明に従って、必要なサービスが使用可能になっていることを確認します。
ソースホストとターゲットホストが同一でない場合は、移行および互換性のある構成についてを参照してください。
詳細は、カーネルゾーン移行の実行に必要な権利を参照してください。
source-host$ zoneadm list -cv ID NAME STATUS PATH BRAND IP 0 global running / solaris shared 1 kzone running - solaris-kz excl
この処理では、ライブ移行の実行前にカーネルゾーンの構成がテストされます。次に出力例を示します。
source-host$ zoneadm -z kzone migrate -n rad-uri:user@target-host zoneadm: zone 'kzone': Importing zone configuration. zoneadm: zone 'kzone': Attaching zone. zoneadm: zone 'kzone': Booting zone in 'migrating-in' mode. zoneadm: zone 'kzone': Checking migration compatibility. zoneadm: zone 'kzone': Cleaning up. zoneadm: zone 'kzone': Dry-run migration successful.
source-host$ zoneadm -z kzone migrate rad-uri:user@target-host zoneadm: zone 'kzone': Importing zone configuration. zoneadm: zone 'kzone': Attaching zone. zoneadm: zone 'kzone': Booting zone in 'migrating-in' mode. … zoneadm: zone 'kzone1': Halting and detaching zone on source host. zoneadm: zone 'kzone': Migration successful.
target-host:$ zoneadm list -cv ID NAME STATUS PATH BRAND IP 0 global running / solaris shared 1754 kzone running - solaris-kz excl …
次の例は、ソースホスト global からターゲットホスト global2 へのカーネルゾーン kzone1 のライブ移行を示しています。構成はターゲットホスト上で事前に作成されました。
global$ zoneadm -z kzone1 migrate ssh://global2 zoneadm: zone 'kzone1': Using zone configuration on destination. zoneadm: zone 'kzone1': Attaching zone. zoneadm: zone 'kzone1': Booting zone in 'migrating-in' mode. zoneadm: zone 'kzone1': Checking migration compatibility. zoneadm: zone 'kzone1': Starting migration. zoneadm: zone 'kzone1': Waiting for migration to complete. zoneadm: zone 'kzone1': Migration successful. zoneadm: zone 'kzone1': Halting and detaching zone.使用例 46 ライブ移行の予行演習の失敗
この例は、ソースホスト global1 とターゲットホスト global2 の間で失敗した予行演習の移行を示しています。virtual-cpu リソースが両方のホストの間で矛盾しています。ゾーン構成についての詳細は、Oracle Solaris ゾーン構成リソースを参照してください。
global1$ zoneadm -z kzone1 migrate -n ssh://global2 zoneadm: zone 'kzone1': Using existing zone configuration on destination. zoneadm: zone 'kzone1': Attaching zone. zoneadm: zone 'kzone1': Booting zone in 'migrating-in' mode. zoneadm: zone 'kzone1': boot failed: zone 'kzone1': error: Suspended zone has 8 active VCPUs, more than the configured zone 'kzone1': virtual-cpu maximum of 4. zone 'kzone1': error: Correct errors, or delete the configuration, using zonecfg(8) on the zone 'kzone1': destination host. zoneadm: zone kzone1: call to zoneadmd(8) failed: zoneadmd(8) returned an error 9 (zone state change failed)使用例 47 2 つの異なる anet 構成を持つホスト間のライブ移行
次の例は、anet 構成が異なるホスト間でのライブ移行を示しています。anet リソースの詳細については、Oracle Solaris ゾーン構成リソースを参照してください。
移行の前に、ターゲットホスト上でゾーン構成が作成され、anet リソースが変更されています。テストのために予行演習が実行されています。
global1$ zonecfg -z kzone1 -r export | ssh root@global2 zonecfg -z kzone1 -f - global1$ ssh root@global2 zonecfg -z kzone1 'select anet 0; set lower-link=net1;end' global1$ zoneadm -z kzone1 migrate -n ssh://global2