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

第 24 章 Solaris 10 9/10: ゾーンへの物理的な Solaris システムの移行 (手順)

既存の Solaris システムを移行先システム上のネイティブゾーンに直接移行するには、P2V (Physical-To-Virtual) 機能を使用します。

移行するシステムの評価

元のシステムで実行されていたサービスによっては、ゾーンのインストール後に大域管理者が手動でゾーンをカスタマイズする必要がある場合があります。たとえば、ゾーンに割り当てられた特権の変更が必要になる場合があります。この操作は自動的に実行されることはありません。また、すべてのシステムサービスがゾーン内で動作するとは限らないため、すべての物理システムがゾーンへの移行に適しているわけではありません。

P2V でインストールするシステムイメージが移行先ホストのオペレーティングシステムリリースよりも新しい場合、インストールは失敗します。

Procedureシステム情報を収集する方法

移行元システムから必要な情報を収集します。

  1. hostname コマンドでホスト名を取得します。


    # hostname
    
  2. hostid コマンドでホスト ID を取得します。


    # hostid
    

    「ホスト ID のエミュレーション」も参照してください。

  3. ルートパスワードを取得します。

  4. システムで実行されているソフトウェアを表示します。


    # ps -eaf
    
  5. システムのネットワーク構成を確認します。


    # ifconfig -a
    
  6. /etc/vfstab の内容を表示するなどして、使用されているストレージを表示します。

  7. 使用中のローカルディスクストレージの容量を表示します。これによってアーカイブのサイズが決まります。


    # df -k
    
  8. システム上に存在するパッケージとパッチを調べます。詳細は、pkginfo(1)のマニュアルページを参照してください。

  9. /etc/system の内容を調べます。

Solaris システムをゾーンに直接移行するために使用するイメージの作成

インストール済みの Solaris システムのイメージを Flash アーカイブツールを使用して作成し、ゾーンに直接移行することができます。

イメージを作成する前に、ゾーンで実行するすべてのソフトウェアを含む完全なシステムを構成できます。その後、このイメージは、ゾーンのインストール時にインストールプログラムによって使用されます。


注意 – 注意 –

ZFS ルートを持つ Solaris 10 システムの Solaris フラッシュアーカイブ (flar) を作成する場合、デフォルトでは、flar は実際には ZFS send ストリームであり、これを使用してルートプールを再作成できます。このイメージは、ゾーンのインストールには使用できません。システムに ZFS ルートがある場合は、明示的な cpio または pax アーカイブによる flar を作成する必要があります。

flarcreate コマンドを -L archiver オプションとともに使用し、ファイルのアーカイブ方法として cpio または pax を指定します。次の手順の 4 を参照してください。


Procedureflarcreate を使用してイメージを作成する方法

flarcreate コマンド (flarcreate(1M) のマニュアルページを参照) を使用してシステムイメージを作成します。この手順例では、ターゲットの Solaris システムにフラッシュアーカイブを配置するために NFS を使用しますが、ほかの方法でファイルを移動することもできます。

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

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

  2. アーカイブする移行元システムにログインします。

  3. ディレクトリをルートディレクトリに変更します。


    # cd /
    
  4. 移行元システムで flarcreate を使用して s10-system という名前のフラッシュアーカイブイメージファイルを作成し、そのアーカイブを移行先システムに配置します。


    source-system # flarcreate -S -n s10-system -L cpio /net/target/export/s10-system.flar
    Determining which filesystems will be included in the archive...
    Creating the archive...
    cpio: File size of "etc/mnttab" has
    increased by 435
    2068650 blocks
    1 error(s)
    Archive creation complete.

    移行先のマシンは、/export ファイルシステムに対する root 書き込みアクセス権を必要とします。ホストシステム上のファイルシステムのサイズによっては、アーカイブが数 G バイトのサイズになることがあるため、移行先のファイルシステムには十分な空き容量が必要です。


    ヒント –

    場合によっては、flarcreate の実行時に cpio コマンドからのエラーが表示されることがあります。もっとも多いのは、「File size of etc/mnttab has increased by 435」のようなメッセージです。これらのメッセージがログファイルまたはシステム状態を反映するファイルに関連するものであれば、無視してもかまいません。必ずすべてのエラーメッセージを確認してください。


ほかのアーカイブ作成方法

別の方法を使用してアーカイブを作成することもできます。インストーラは次のアーカイブフォーマットを受け入れることができます。

インストーラは、ファイルのアクセス権、所有権、およびリンクを保存および復元するアーカイブユーティリティーを使用して作成されたファイルのディレクトリのみを受け入れることができます。

詳細は、cpio(1)pax(1)、bzip2 (1)、gzip(1)、および ufsdump(1M) のマニュアルページを参照してください。


注 –

フラッシュアーカイブ以外の方法を使用して P2V 用アーカイブを作成する場合は、アーカイブを作成する前に、移行元システム上でプロセッサ依存の libc.so.1 の、lofs でマウントされたハードウェア機能 (hwcap) ライブラリをマウント解除する必要があります。それらをマウント解除しなければ、そのアーカイブを使用してインストールしたゾーンが移行先システムで起動しない可能性があります。アーカイブの作成後に、lofs と mount -O オプションを使用して、/lib/libc.so.1 上に適切なハードウェア機能ライブラリを再マウントできます。


source-system# unmount /lib/libc.so.1
source-system# mount -O -F lofs /lib/libc.so.1 

ホスト ID のエミュレーション

物理的な Solaris システムから新しいシステム上のゾーンにアプリケーションを移行すると、hostid は新しいマシンの hostid に変わります。

場合によっては、アプリケーションが元の hostid に依存しており、アプリケーション構成を更新できないことがあります。このような場合は、元のシステムの hostid を使用するようにゾーンを設定することができます。そのためには、「ゾーンの構成方法」の説明に従って、zonecfg プロパティーを設定して hostid を指定します。値としては、元のシステムで hostid コマンドを実行した場合の出力を使用してください。インストール済みゾーンで hostid を表示する場合も、hostid コマンドを使用します。

ホスト ID の詳細は、hostid(1) のマニュアルページを参照してください。

ゾーンの構成

「ゾーンの構成方法」の手順に従って、移行先システム上の新しいゾーンの構成を作成します。


ヒント –

CD または DVD を使用してアプリケーションを新しいゾーンにインストールする場合は、ブランドゾーンを最初に構成するときに add fs を使用して、大域ゾーンの CD または DVD メディアに読み取り専用のアクセスを行う権限を追加します。アクセス権を追加したら、CD または DVD を使用して製品をブランドゾーンにインストールできます。詳細は、「非大域ゾーンで CD または DVD メディアにアクセスする権限を追加する方法」を参照してください。


ゾーンのインストール

zoneadm コマンド (パート II「ゾーン」および zoneadm(1M) のマニュアルページを参照) は、非大域ゾーンをインストールおよび管理するための主要なツールです。zoneadm を使用する操作は、移行先システムの大域ゾーンから実行する必要があります。

インストールプロセスは、アーカイブからファイルを展開するほかに、ゾーンがホスト上で最適に実行されることを保証するために、検査や必要な後処理などの機能を実行します。

ゾーンで実行されるすべてのソフトウェアを備えた、完全に構成済みの Solaris システムのイメージを使用できます。「Solaris システムをゾーンに直接移行するために使用するイメージの作成」を参照してください。

既存のシステムから Solaris システムアーカイブを作成した場合は、-p (sysidcfg を維持する) オプションを使用してゾーンをインストールすると、イメージの作成に使用されたシステムと同じ ID がゾーンに設定されます。

-u (sys-unconfig) オプションを使用して移行先にゾーンをインストールすると、ホスト名やネームサービスの設定されていないゾーンが作成されます。


注意 – 注意 –

-p オプションか -u オプションのどちらかを指定する必要があります。どちらも指定しない場合、エラーが発生します。


インストーラオプション

オプション 

説明 

-a

システムイメージのコピー元となるアーカイブの場所。完全なフラッシュアーカイブと cpiogzip で圧縮された cpiobzip で圧縮された cpio、およびレベル 0 ufsdump がサポートされています。SUNWsfman パッケージに用意されている gzip のマニュアルページを参照してください。

-d path

システムイメージのコピー元となるディレクトリの場所。 

-d

-d オプションとダッシュ (—) パラメータを使用して、zonepath で既存のディレクトリレイアウトが使用されるように指定します。このため、インストールの前に管理者が手動で zonepath ディレクトリを設定する場合に、-d オプションを使用してそのディレクトリがすでに存在するかどうかを示すことができます。

-p

システム ID を維持します。 

-s

メッセージを表示せずにインストールします。 

-u

ゾーンに対して sys-unconfig を実行します。

-v

詳細情報を出力します。 

-a オプションと -d オプションは相互に排他的です。-p-s-u、および -v の各オプションは、-a または -d が指定されている場合にのみ使用できます。

Procedureゾーンのインストール方法

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

  2. zoneadm コマンドに install -a オプションとアーカイブのパスを指定して、構成済みゾーン s-zone をインストールします。


    global# zoneadm -z s-zone install -u -a /net/machine_name/s-system.flar
    

    インストールの完了につれてさまざまなメッセージが表示されます。これにはしばらく時間がかかることがあります。

    インストールが完了したら、list サブコマンドに -i オプションおよび -v オプションを指定してインストール済みのゾーンを一覧表示し、状態を確認します。

注意事項

インストールが失敗した場合は、ログファイルを確認してください。成功した場合、ログファイルはゾーン内の /var/log にあります。失敗した場合、ログファイルは大域ゾーン内の /var/tmp にあります。

ゾーンのインストールが中断または失敗した場合は、ゾーンの状態は不完全なままになります。uninstall -F を使用して、ゾーンを構成済みの状態にリセットします。

ゾーンの起動

Procedureゾーンの起動方法

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

-u オプションを使用した場合は、さらに、zlogin でゾーンコンソールにログインしてシステム構成を実行する必要があります。この操作については 「初期内部ゾーン構成を実行する」を参照してください。

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

  2. zoneadm コマンドを -z オプション、ゾーン名 (s-zone)、および boot サブコマンドとともに使用することで、ゾーンを起動します。


    global# zoneadm -z s-zone boot
    
  3. 起動が完了したら、list サブコマンドに -v オプションを指定して状態を確認します。


    global# zoneadm list -v