Oracle Solaris のシステム管理 (Oracle Solaris コンテナ : 資源管理と Oracle Solaris ゾーン)

別のマシンへの lx ブランドゾーンの移行

lx ブランドゾーンの移行について

zonecfg および zoneadm コマンドを使用して、既存の非大域ゾーンをあるシステムから別のシステムに移行できます。ゾーンは停止され、現在のホストから切り離されます。zonepath は移行先のホストに移動され、そこで接続されます。

lx ブランドゾーンの移行には、次の要件が適用されます。

zoneadm detach プロセスにより、別のシステムでゾーンを接続するのに必要な情報が作成されます。 zoneadm attach プロセスは、移行先のマシンがゾーンのホストとして機能するための適正な構成を保持していることを確認します。新規ホストで zonepath を使用可能にする方法は複数存在するため、あるシステムから別のシステムへの zonepath の実際の移動は、大域管理者が手動で行います。

新規システムへの接続時に、ゾーンはインストール済みの状態になります。

Procedurelx ブランドゾーンを移行する方法

  1. スーパーユーザーまたは Primary Administrator 役割になります。

    役割の作成と作成した役割のユーザーへの割り当てについては、『Solaris のシステム管理 (基本編)』「Solaris 管理ツールを RBAC と組み合わせて使用する (作業マップ)」を参照してください。

  2. 移行するゾーン (この手順では lx-zone) を停止します。


    host1# zoneadm -z lx-zone halt
    
  3. ゾーンを切り離します。


    host1# zoneadm -z lx-zone detach
    

    切り離されたゾーンは、現在、構成済みの状態にあります。

  4. lx-zonezonepath を新規ホストに移動します。

    詳細は、zonepath を新規ホストに移動する方法」を参照してください

  5. 新規ホスト上でゾーンを構成します


    host2# zonecfg -z lx-zone
    

    次のシステムメッセージが表示されます


    lx-zone: No such zone configured
    Use 'create' to begin configuring a new zone.
  6. 新規ホスト上にゾーン lx-zone を作成するには、zonecfg コマンドに -a オプションおよび新規ホストの zonepath を指定します。


    zonecfg:lx-zone> create -a /export/zones/lx-zone
    
  7. 構成を表示します。


    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
  8. (省略可能) 構成に必要な調整を加えます。

    たとえば、新規ホストではネットワーク物理デバイスが異なる場合があります。また、構成に含まれるデバイスの名前が新規ホストでは異なることもあります。


    zonecfg:lx-zone> select net physical=bge0
    zonecfg:lx-zone:net> set physical=e1000g0
    zonecfg:lx-zone:net> end
    
  9. 構成を確定して終了します。


    zonecfg:lx-zone> commit
    zonecfg:lx-zone> exit
    
  10. 新規ホスト上でゾーンを接続します。

    • 妥当性検査を使用して、ゾーンを接続します。


      host2# zoneadm -z lx-zone attach
      

      次の条件のいずれかまたは両方に当てはまる場合、実行が必要な操作がシステム管理者に通知されます。

      • 必須パッケージおよびパッチが新規マシンに存在しない。

      • ソフトウェアレベルがマシン間で異なる。

    • 妥当性検査を実行せずに、接続操作を強制的に実行します。


      host2# zoneadm -z lx-zone attach -F
      

      注意 – 注意 –

      -F オプションを使用すると、妥当性検査を実行せずに attach が強制的に実行されます。これは、クラスタ環境やバックアップ/復元操作など、特定の場合に役立ちますが、システムがゾーンのホストとして動作するよう正しく構成されている必要があります。構成が不正な場合、あとで未定義の動作が実行される可能性があります。


Procedurezonepath を新規ホストに移動する方法

zonepath のアーカイブの作成には、いくつもの方法があります。たとえば、cpio または pax コマンドを使用できます。詳細は、cpio(1) およびpax(1) のマニュアルページを参照してください。

アーカイブを新規ホストに転送する方法も、複数存在します。zonepath を転送元ホストから転送先ホストに転送する機構は、ローカルの構成によって異なります。SAN などのいくつかの場合には、zonepath データを実際には移動できないこともあります。SAN の場合は、zonepath が新規ホストに表示されるように、再構成が実行されるだけです。それ以外の場合は、zonepath をテープに書き込み、それを新規サイトに送付することもあります。

これらの理由のために、この手順は自動化されていません。システム管理者は、zonepath を新規ホストに移動する最適な手法を選択する必要があります。

  1. スーパーユーザーまたは Primary Administrator 役割になります。

    役割の作成と作成した役割のユーザーへの割り当てについては、『Solaris のシステム管理 (基本編)』「Solaris 管理ツールを RBAC と組み合わせて使用する (作業マップ)」を参照してください。

  2. zonepath を新規ホストに移動します。この手順で説明した方法を使用することも、別の方法を選んで使用することもできます。


例 37–1 tar コマンドを使用した zonepath のアーカイブおよび移動

  1. host1 上で zonepathtar ファイルを作成し、 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
    
  2. host2 上で tar ファイルを展開します。


    host2# cd /export/zones
    host2# tar xf lx-zone.tar
    

詳細は、sftp(1) および tar(1) を参照してください。


注意事項

次の問題を解決する方法については、zoneadm 接続操作の問題解決」を参照してください。

新しいマシンのプロセッサタイプがサポートされていることを確認する必要があります。詳細は、lx ブランドゾーンの移行について」を参照してください。

Solaris 10 5/08: 移行を行う前の lx ブランドゾーンの移行の検証について

「no execute」(実行しない) オプションである -n を使用することで、ゾーンを新しいマシンに移行する前に試行を行うことができます。

-n オプションを指定して zoneadm detach サブコマンドを使用すると、実際にゾーンを切り離さずに実行中のゾーンでマニフェストを生成できます。移行元のシステムのゾーンの状態は変わりません。ゾーンのマニフェストは標準出力に送信されます。大域管理者は、この出力をファイルに送ったり、移行先ホストですぐに検証されるように遠隔コマンドにパイプしたりできます。-n オプションを指定して zoneadm attach サブコマンドを使用すると、このマニフェストを読み取り、実際に接続を行わずに、移行先のマシンがゾーンのホストとして機能するための適正な構成を保持しているかどうかを確認できます。

試行接続を行う前に、新規ホストで移行先システムのゾーンを構成する必要はありません。

ProcedureSolaris 10 5/08: 移行を行う前に lx ブランドゾーンの移行を検証する方法

この手順を実行するには、大域ゾーン内で大域管理者になる必要があります。

  1. スーパーユーザーまたは Primary Administrator 役割になります。

    役割の作成と作成した役割のユーザーへの割り当てについては、『Solaris のシステム管理 (基本編)』「Solaris 管理ツールを RBAC と組み合わせて使用する (作業マップ)」を参照してください。

  2. 次のいずれかを実行します。

    • 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
      

      パスを にすると標準入力を指定できます。