この章では、次の操作を行う方法について説明します。
既存の lx ブランドゾーンを同じマシンの新しい場所に移動する
実際の移行を実行する前に、lx ブランドゾーンの移行で何が発生するかを検証する
既存の lx ブランドゾーンを新しいマシンに移行する
zonepath を変更してゾーンを同じシステムの新しい場所に移動する場合に、ここで説明する手順を使用します。ゾーンは、停止する必要があります。新規 zonepath がローカルファイルシステムに存在する必要があります。「資源タイプとプロパティータイプ」に説明されている、 zonepath の通常の基準が適用されます。
スーパーユーザーまたは Primary Administrator 役割になります。
役割については、『Solaris のシステム管理 (基本編)』の「Solaris 管理ツールを RBAC と組み合わせて使用する (作業マップ)」を参照してください。
移動するゾーン (この手順では db-zone) を停止します。
global# zoneadm -z db-zone halt |
zoneadm コマンドを move サブコマンドとともに使用して、ゾーンを新規の zonepath である /export/zones/db-zone に移動します。
global# zoneadm -z db-zone move /export/zones/db-zone |
パスを確認します。
global# zoneadm list -iv ID NAME STATUS PATH BRAND IP 0 global running / native shared - lx-zone installed /export/home/lx-zone lx shared - db-zone installed /export/zones/db-zone lx shared |
zonecfg および zoneadm コマンドを使用して、既存の非大域ゾーンをあるシステムから別のシステムに移行できます。ゾーンは停止され、現在のホストから切り離されます。zonepath は移行先のホストに移動され、そこで接続されます。
lx ブランドゾーンの移行には、次の要件が適用されます。
移行先システムの大域ゾーンで、移行元ホストと同じ Solaris リリースが稼働している必要があります。
ゾーンが正常に動作することを保証するため、移行元ホストにインストールされているものと同じ必須オペレーティングシステムパッケージおよびパッチが、移行先システムにもインストールされている必要があります。
ブランドは、移行元ホストと移行先システムで同じでなければなりません。
移行先システムは、サポートされている次の i686 プロセッサタイプのいずれかを備えている必要があります。
zoneadm detach プロセスにより、別のシステムでゾーンを接続するのに必要な情報が作成されます。 zoneadm attach プロセスは、移行先のマシンがゾーンのホストとして機能するための適正な構成を保持していることを確認します。新規ホストで zonepath を使用可能にする方法は複数存在するため、あるシステムから別のシステムへの zonepath の実際の移動は、大域管理者が手動で行います。
新規システムへの接続時に、ゾーンはインストール済みの状態になります。
スーパーユーザーまたは Primary Administrator 役割になります。
役割の作成と作成した役割のユーザーへの割り当てについては、『Solaris のシステム管理 (基本編)』の「Solaris 管理ツールを RBAC と組み合わせて使用する (作業マップ)」を参照してください。
移行するゾーン (この手順では lx-zone) を停止します。
host1# zoneadm -z lx-zone halt |
ゾーンを切り離します。
host1# zoneadm -z lx-zone detach |
切り離されたゾーンは、現在、構成済みの状態にあります。
lx-zone の zonepath を新規ホストに移動します。
詳細は、「zonepath を新規ホストに移動する方法」を参照してください
新規ホスト上でゾーンを構成します
host2# zonecfg -z lx-zone |
次のシステムメッセージが表示されます
lx-zone: No such zone configured Use 'create' to begin configuring a new zone. |
新規ホスト上にゾーン lx-zone を作成するには、zonecfg コマンドに -a オプションおよび新規ホストの zonepath を指定します。
zonecfg:lx-zone> create -a /export/zones/lx-zone |
構成を表示します。
zonecfg:lx-zone> info zonename: lx-zone zonepath: /export/zones/lx-zone brand: lx autoboot: false bootargs: pool: limitpriv: net: address: 192.168.0.90 physical: bge0 |
(省略可能) 構成に必要な調整を加えます。
たとえば、新規ホストではネットワーク物理デバイスが異なる場合があります。また、構成に含まれるデバイスの名前が新規ホストでは異なることもあります。
zonecfg:lx-zone> select net physical=bge0 zonecfg:lx-zone:net> set physical=e1000g0 zonecfg:lx-zone:net> end |
構成を確定して終了します。
zonecfg:lx-zone> commit zonecfg:lx-zone> exit |
新規ホスト上でゾーンを接続します。
妥当性検査を使用して、ゾーンを接続します。
host2# zoneadm -z lx-zone attach |
次の条件のいずれかまたは両方に当てはまる場合、実行が必要な操作がシステム管理者に通知されます。
必須パッケージおよびパッチが新規マシンに存在しない。
ソフトウェアレベルがマシン間で異なる。
妥当性検査を実行せずに、接続操作を強制的に実行します。
host2# zoneadm -z lx-zone attach -F |
-F オプションを使用すると、妥当性検査を実行せずに attach が強制的に実行されます。これは、クラスタ環境やバックアップ/復元操作など、特定の場合に役立ちますが、システムがゾーンのホストとして動作するよう正しく構成されている必要があります。構成が不正な場合、あとで未定義の動作が実行される可能性があります。
zonepath のアーカイブの作成には、いくつもの方法があります。たとえば、cpio または pax コマンドを使用できます。詳細は、cpio(1) およびpax(1) のマニュアルページを参照してください。
アーカイブを新規ホストに転送する方法も、複数存在します。zonepath を転送元ホストから転送先ホストに転送する機構は、ローカルの構成によって異なります。SAN などのいくつかの場合には、zonepath データを実際には移動できないこともあります。SAN の場合は、zonepath が新規ホストに表示されるように、再構成が実行されるだけです。それ以外の場合は、zonepath をテープに書き込み、それを新規サイトに送付することもあります。
これらの理由のために、この手順は自動化されていません。システム管理者は、zonepath を新規ホストに移動する最適な手法を選択する必要があります。
スーパーユーザーまたは Primary Administrator 役割になります。
役割の作成と作成した役割のユーザーへの割り当てについては、『Solaris のシステム管理 (基本編)』の「Solaris 管理ツールを RBAC と組み合わせて使用する (作業マップ)」を参照してください。
zonepath を新規ホストに移動します。この手順で説明した方法を使用することも、別の方法を選んで使用することもできます。
host1 上で zonepath の tar ファイルを作成し、 sftp コマンドを使って host2 に転送します。
host1# cd /export/zones host1# tar cf lx-zone.tar lx-zone host1# sftp host2 Connecting to host2... Password: sftp> cd /export/zones sftp> put lx-zone.tar Uploading lx-zone.tar to /export/zones/lx-zone.tar sftp> quit |
host2 上で tar ファイルを展開します。
host2# cd /export/zones host2# tar xf lx-zone.tar |
詳細は、sftp(1) および tar(1) を参照してください。
次の問題を解決する方法については、「zoneadm 接続操作の問題解決」を参照してください。
パッチおよびパッケージが同期しない。
オペレーティングシステムのリリースが一致しない。
新しいマシンのプロセッサタイプがサポートされていることを確認する必要があります。詳細は、「lx ブランドゾーンの移行について」を参照してください。
「no execute」(実行しない) オプションである -n を使用することで、ゾーンを新しいマシンに移行する前に試行を行うことができます。
-n オプションを指定して zoneadm detach サブコマンドを使用すると、実際にゾーンを切り離さずに実行中のゾーンでマニフェストを生成できます。移行元のシステムのゾーンの状態は変わりません。ゾーンのマニフェストは標準出力に送信されます。大域管理者は、この出力をファイルに送ったり、移行先ホストですぐに検証されるように遠隔コマンドにパイプしたりできます。-n オプションを指定して zoneadm attach サブコマンドを使用すると、このマニフェストを読み取り、実際に接続を行わずに、移行先のマシンがゾーンのホストとして機能するための適正な構成を保持しているかどうかを確認できます。
試行接続を行う前に、新規ホストで移行先システムのゾーンを構成する必要はありません。
この手順を実行するには、大域ゾーン内で大域管理者になる必要があります。
スーパーユーザーまたは Primary Administrator 役割になります。
役割の作成と作成した役割のユーザーへの割り当てについては、『Solaris のシステム管理 (基本編)』の「Solaris 管理ツールを RBAC と組み合わせて使用する (作業マップ)」を参照してください。
次のいずれかを実行します。
lx-zone という名前の移行元ホストでマニフェストを生成し、移行先ホストをすぐに検証する遠隔コマンドにその出力をパイプします。
global# zoneadm -z lx-zone detach -n | ssh remotehost zoneadm attach -n - |
行の最後にあるハイフン (—) は、パスとして標準入力を指定します。
lx-zone という名前の移行元ホストでマニフェストを生成し、その出力をファイルに送ります。
global# zoneadm -z lx-zone detach -n |
「zonepath を新規ホストに移動する方法」の説明に従って、そのマニフェストを新しいホストシステムにコピーし、検証を行います。
global# zoneadm attach -n path_to_manifest |
パスを — にすると標準入力を指定できます。