カーネルゾーンのブート可能な各デバイスには、ホストデータとして知られる状態情報が含まれています。カーネルゾーンのホストデータは、次のようなカーネルゾーンの状態情報をモニターします。
ゾーンの使用
suspend リソースの構成で説明されている、ゾーンの一時停止
カーネルゾーンクロックと大域ゾーンクロックの間の時間のオフセット
OpenBoot 変数 (SPARC のみ)
カーネルゾーンのホストデータは、カーネルゾーン suspend イメージに使用されるものと同じ暗号化鍵を使用する、高度な暗号化標準の AES-128-CCM で暗号化および認証されます。
カーネルゾーンが構成またはブートされた場合、ホストデータが読み取られて、カーネルゾーンのブートストレージがほかのシステムで使用中かどうかが判別されます。ブートストレージが別のシステムで使用中の場合、カーネルゾーンは unavailable 状態になり、ブートストレージを使用しているシステムを示すエラーメッセージが表示されます。例:
global# zoneadm -z kzone1 attach zone 'kzone1': error: ERROR: zone kzone1 is in use by host with hostid 848611d4 zone 'kzone1': error: last known state: installed zone 'kzone1': error: hostname: global2 zone 'kzone1': error: boot environment name: solaris-1 zone 'kzone1': error: boot environment uuid: 69ed2e6a-e25a-6d36-e022-ed7261ed8899 zone 'kzone1': error: last update time: Sun Apr 13 20:08:13 2014 zone 'kzone1': error: To fix, detach the zone from the other host then attach it to this host zone 'kzone1': error: If the zone is not active on another host, attach it with zone 'kzone1': error: zoneadm -z kzone1 attach -x force-takeover
ブートストレージが別のシステムで使用されていない場合、zoneadm attach -x force-takeover コマンドを使用してカーネルゾーンを修復できます。
注意 - ホストデータの引き継ぎまたは再初期化を強制すると、ゾーンがほかのシステムで使用中かどうかの検出が不可能になります。同じストレージを参照するゾーンの複数インスタンスを実行すると、ゾーンのファイルシステムの修復不能な破壊につながります。 |
ゾーンの暗号化鍵にアクセスできない場合、ホストデータと一時停止イメージすべてを読み取ることができません。そのような状況では、ゾーンを準備またはブートするすべての試行によって、ゾーンが unavailable 状態になります。ゾーンの暗号化鍵を復元できない場合、zoneadm attach -x initialize-hostdata コマンドを使用して新しい暗号化鍵およびホストデータを生成します。
カーネルゾーンの移行中の暗号化鍵の損失を防ぐには、ソースシステム上で zonecfg export コマンドを使用して、ターゲットシステム上で使用するコマンドファイルを生成します。例:
global# zonecfg -z kzone1 export -f /net/.../kzone1.cfg global# zonecfg -z kzone1 -f /net/.../kzone1.cfg