Oracle Solaris 10からOracle Solaris 11 11/11へライブ・インストールする方法

著者: Harold Shaw

Oracle Solaris 10を実行するシステムを最小停止時間でOracle Solaris 11 11/11へ移行する方法


2012年4月公開

このライブ・インストール・プロシージャは、Oracle Solaris 10からOracle Solaris 11 11/11へ最小停止時間で移行するために実行する手順について説明します。

ソフトウェアのダウンロード、フォーラムへの参加、このコンテンツ以外の技術的な役立つ機能へのアクセスをご希望なら、OTNのメンバー登録をしてください。 No spam!

最初に、お使いのOracle Solaris 10システムと同じモデルのOracle Solaris 11 11/11上に、一連のZFS送信アーカイブ—ゴールデン・イメージ—を作成します。 そして、このゴールデン・イメージをOracle Solaris 10を実行するシステムの使用されていないディスクにインストールし、Oracle Solaris 11 11/11へリブートできるようにします。 Oracle Solaris 10イメージからの基本システム構成パラメータが保存され、Oracle Solaris 11 11/11イメージへ適用されます。

: インストールされているソフトウェアを異なるモデルのシステムに移行することは、サポートされていません。 たとえば、オラクルのSPARC Mシリーズ・システム上に作成されたイメージは、オラクルのSPARC Tシリーズ・システムには配置できません。また、この時点では、このプロシージャはOracle Solaris 11 11/11への移行のみに適用され、Oracle Solaris 11の別のリリースへは適用されません。

プロセスの概要と要件

このライブ・インストール・プロシージャには、以下の4つのフェーズがあります。

この記事では、以下の2つのシステムを取り上げます。

  • アーカイブ・システム」は、Oracle Solaris 11 11/11アーカイブが作成されるシステムです。
  • 移行システム」は、現在Oracle Solaris 10を実行しており、Oracle Solaris 11 11/11へ移行されるシステムです。

全体のプロセスを図で表現すると、以下の連続したステップになります。

Overview

ZFSアーカイブは、ルート・プールおよび新しくインストールされたOracle Solaris 11 11/11システム(アーカイブ・システム)の関連するデータセットのために作成されます。 アーカイブが作成されると、USBドライブなどの取外し可能なローカル・メディアに保存されます。または、ネットワークを通じてファイル・サーバーへ送信され、そこから後でアーカイブを取得できます。アーカイブを利用するときには、以下の手順を実行します。

  1. Oracle Solaris 11 11/11へ移行されるOracle Solaris 10システム(移行システム)上のスーパーユーザー権限のシェルを起動します。
  2. ブート・ディスク・デバイスを選択して構成し、新しいZFSルート・プールを作成します。
  3. 新しいプールにアーカイブされたZFSデータセットをリストアします。
  4. 最終構成の実行後、移行システムを再起動します。

移行システムは、Oracle Solaris 10を実行しており、アーカイブ・システムと互換性があるZFSバージョンを含むホストである必要があります。 ZFSアーカイブを新しいディスクまたはシステムへ移行するには、以下の要件が満たされていることを確認してください。

  • アーカイブ・システムと移行システムは同じモデル(たとえば、SPARC Tシリーズ)で、それらがOracle Solaris 11 11/11の最低限の要件を満たしていること。
  • 移行システムがOracle Solaris 10 8/11以上を実行していること。これは、Oracle Solaris 11 11/11と互換性のあるバージョンのZFSを取得するために必要です。
  • 移行システムがOracle Solaris 10 8/11を実行している場合、アーカイブのリストアを試みる前に以下のZFSパッチを適用すること。 このパッチがないと、アーカイブのリストアを試みてもすべて失敗します。 このパッチは、Oracle Solaris 10の後のリリースでは不要です。
    • パッチ147440-11以降はSPARCベースのシステムが対象
    • パッチ147441-11以降はx86ベースのシステムが対象

    : パッチの適用後は、移行システムをリブートする必要があります。

  • 新しいZFSプールを保管するディスクは、少なくともアーカイブされたプールに割り当てられる領域の総容量と同じだけの容量があるようにすること。 この詳細は、準備セクションで説明します。

root権限は、アーカイブ・システムと移行システムの両方にある必要があります。 アーカイブには、アーカイブされたZFSデータセットにあるすべてのソフトウェア情報および構成情報が含まれます。 システム・アーカイブ経由のゾーンの移行はサポートされないことに注意してください。移行の完了後は、このドキュメントとは別の個別のプロシージャを使用して、Oracle Solaris 10ゾーンをsolaris10ブランド・ゾーンに移行できます。 Oracle Solaris 8またはOracle Solaris 9のゾーンをOracle Solaris 11システム上で実行できないことにも注意してください。 Oracle Solaris 10ゾーンのsolaris10ブランド・ゾーンへの移行の詳細については、Oracle Solarisのシステム管理( Oracle Solarisゾーン、Oracle Solaris 10ゾーン、およびリソース管理)を参照してください。

アーカイブは最終的に実行されるホストとは別のホスト上で作成されるため、作成されるアーカイブには必要なシステム構成が含まれません。 (移行後の)アーカイブの構成については、フェーズ 4で説明します。移行が完了し、Oracle Solaris 11 11/11がブートする前に、アーカイブのそれぞれのブート環境を再構成する必要があります。このため、アーカイブにはブート環境(BE)が1つだけ含まれることになります。システム構成について詳しくは、 Oracle Solaris 11システムのインストールの第6章"Oracle Solarisインスタンスの構成解除または再構成"を参照してください。

ハードウェア固有の構成データは、アーカイブ・イメージには含まれません。 バックアップとともに送信されないハードウェア固有のシステム特性には以下が含まれますが、これに限定されるものではありません。

  • ディスク容量および構成(ZFSプール構成を含む)
  • ハードウェア・イーサネット・アドレス
  • インストールしたハードウェア周辺機器

フェーズ 1: Oracle Solaris 11 11/11アーカイブの作成

図1は、Oracle Solaris 11 11/11アーカイブの作成時に実行される内容を示したものです。

図1

図1 Oracle Solaris 11 11/11アーカイブの作成

準備

移行のための準備の際は、ディスク・トポロジおよび移行システム上のルート・プールのZFSプール構成に注意してください。アーカイブ・システム上のディスクと同様に移行システム上のターゲット・ディスクを構成し、新しいZFSプールのサイズを適切に決定します。最低でも、割り当てられたプールの量(以下のzpool list出力のALLOC列)には、移行システム上のデータセットをリストアするために十分なサイズが必要です。

# zpool list
NAME    SIZE  ALLOC    FREE CAP DEDUP HEALTH ALTROOT
rpool    68G  51.6G   16.4G 75% 1.00x ONLINE  -

アーカイブ・プールの容量(以下のCAP列)が80%を超える場合のベスト・プラクティスは、容量を考慮して移行プールを拡大することです。他の構成要素やワークロードに応じてプール内の余裕を増加させることにより、パフォーマンスにも利点が生じます。 ZFSファイル・システムの管理と関連するパフォーマンスについて詳しくは、Oracle Solarisの管理: ZFSファイルシステムのガイドを参照してください。

後の移行の準備のために、移行中に参照用としてアーカイブと一緒に維持されるファイルにさまざまなコマンドからの出力を保存します。 リスト1は、最低限推奨されるコマンドを示したものですが、システム構成によっては他の構成情報が役立ちます。 リスト1で出力例とともに示したコマンドは、rpoolのみを対象にしています。

# zpool list
NAME    SIZE ALLOC  FREE CAP DEDUP HEALTH ALTROOT
rpool    68G 51.6G 16.4G 75% 1.00  ONLINE -

# zpool get all rpool
NAME   PROPERTY       VALUE                        SOURCE
rpool     size          68G                        -
rpool     capacity      75%                        -
rpool     altroot        -                         default
rpool     health       ONLINE                      -
rpool     guid         18397928369184079239        -
rpool     version       33                         default
rpool     bootfs        rpool/ROOT/snv_175a        local
rpool     delegation    on                         default
rpool     autoreplace   off                        default
rpool     cachefile      -                         default
rpool     failmode      wait                       default
rpool     listsnapshots off                        default
rpool     autoexpand    off                        default
rpool     dedupditto     0                         default
rpool     dedupratio    1.00x                      -
rpool     free          16.4G                      -
rpool     allocated     51.6G                      -
rpool     readonly      off                        -

# zpool status
 pool: rpool
 state: ONLINE
 scan: none requested
config:

         NAME          STATE     READ WRITE CKSUM
         rpool         ONLINE       0     0     0
         c5t0d0s0      ONLINE       0     0     0

errors: No known data errors

# format c5t0d0s0
selecting c5t0d0s0
[disk formatted]
/dev/dsk/c5t0d0s0 is part of active ZFS pool rpool. Please see zpool(1M).


FORMAT MENU:
        disk       - select a disk
        type       - select (define) a disk type
        partition  - select (define) a partition table
        current    - describe the current disk
        format     - format and analyze the disk
        repair     - repair a defective sector
        label      - write label to the disk
        analyze    - surface analysis
        defect     - defect list management
        backup     - search for backup labels
        verify     - read and display labels
        save       - save new disk/partition definitions
        inquiry    - show disk ID
        volname    - set 8-character volume name
        !<cmd>     - execute <cmd>, then return
        quit
format> p
PARTITION MENU:
        0      - change `0' partition
        1      - change `1' partition
        2      - change `2' partition
        3      - change `3' partition
        4      - change `4' partition
        5      - change `5' partition
        6      - change `6' partition
        7      - change `7' partition
        select - select a predefined table
        modify - modify a predefined partition table
        name   - name the current table
        print  - display the current table
        label  - write partition map and label to the disk
        !<cmd> - execute <cmd>, then return
        quit
partition> p 
Current partition table (original):
Total disk cylinders available: 14087 + 2 (reserved cylinders)
Part     Tag          Flag     Cylinders         Size          Blocks
 0       root         wm       1 - 14086        68.35GB    (14086/0/0) 143339136
 1       unassigned   wm       0                 0         (0/0/0)             0
 2       backup       wu       0 - 14086        68.35GB    (14087/0/0) 143349312
 3       unassigned   wm       0                 0         (0/0/0)             0
 4       unassigned   wm       0                 0         (0/0/0)             0
 5       unassigned   wm       0                 0         (0/0/0)             0
 6       unassigned   wm       0                 0         (0/0/0)             0
 7       unassigned   wm       0                 0         (0/0/0)             0

partition> ^D
#

リスト1 さまざまなコマンドからの出力

アーカイブ・システムからのリスト1に示した情報と、移行中に役立つ他の情報を一緒にファイルに格納し、そのファイルを後で移行中に使用するためにアーカイブ・ファイルと同じ場所に保存します。

または、Oracle Explorer Data Collectorを使用して、後で参照するためにあらゆるシステム構成情報を収集することもできます。 Oracle Explorer Data Collectorおよびその関連するドキュメントの詳細は、WebサイトOracle Services Tools Bundle for Sun Systemsに掲載されています。

ZFSの管理および容量の計画の詳細については、Oracle Solarisの管理:ZFSファイルシステムのガイドを参照してください。

アーカイブ作成

ルート・プールをアーカイブしてすべてのスナップショットを含めるには、ZFSレプリケーション・ストリームを作成する必要があります。これを実行するには、下記のように、最初にプールの最上位から再帰的なスナップショットを作成します。 同じ方法で、アーカイブおよび移行されたホストへの引継ぎが必要な他のプールをアーカイブできます。

rpoolrpoolはデフォルトのルート・プール名ですが、ルート・プールはシステムによっては違う名前になる場合があることに注意してください。 BEがどのプール上にあるかを判断するには、beadm list -dを使用します。ここからは、ルート・プールについて言及する場合にデフォルト名rpoolを使用します。

以下のコマンドを使用して、ルート・プールの再帰的なスナップショットを作成します。 スナップショット名(この例ではarchive)は、日付や希望する説明ラベルに基づいて決めることができます。

# zfs snapshot -r rpool@archive

次に、スワップおよびダンプ・デバイス・スナップショットを削除します。これらには関連データは含まれないと考えられ、これらを削除することによって通常は、アーカイブのサイズが大幅に減少するためです。

: ダンプ・デバイスに関しては、可能性は低いですが、まだ/varデータセット(コア・アーカイブ形式)に抽出されていないデータがダンプ・デバイスに含まれていることが考えられます。これが当てはまる場合、そしてダンプ・デバイスのコンテンツを維持すべき場合は、ダンプ・デバイス・スナップショットを削除する前にそのコンテンツをファイル・システムにダンプします。詳細は、dumpadm(1M)を参照してください。

以下のコマンドによって、デフォルト名が付いたスワップおよびダンプ・デバイス・スナップショットは削除されますが、それ以外にもホスト上に配置されている場合があります。デフォルト名が付いたデバイス以外に配置されているデバイスがあるかどうかを判断するには、swap(1M)およびdumpadm(1M)を使用して、スワップ・デバイスおよびダンプ・デバイスの名前の一覧をそれぞれ表示させます。

# zfs destroy rpool/swap@archive
# zfs destroy rpool/dump@archive

スナップショットの準備ができたので、次にアーカイブのためにスナップショットをファイルへ送信します。 複数のZFSプールをアーカイブしている場合は、プールごとにスナップショットが含まれ、それぞれのスナップショットをそのアーカイブ・ファイルへ送信する必要があります。以下の手順は、ルート・プールのためのアーカイブ作成に焦点を当てています。 ただし、システム上の他の任意のプールも同じ方法でアーカイブできます。

スナップショットをファイルに送信するには、以下に示すようにzfs sendコマンドをgzipコマンドにパイプします。それによって、プール・スナップショット・アーカイブを含む圧縮ファイルが作成されます。このアーカイブ・ファイルを作成する際は、ホスト名、日付、他の記述的な用語を反映した、後でアーカイブの内容を判断するために役立つ一意の命名スキームを使用するのが適切です。

アーカイブ・ファイルは、後で再配置するためにローカルに保存することも、または取外し可能なメディアに作成することもできます。 アーカイブ・ファイルの保存場所は、定期的にバックアップされるファイル・システムである必要があります。また、圧縮が使用されてはいますが、ファイル・システム上に十分なストレージ領域が必要です。 経験則では、zpool listでレポートされるALLOC量の合計を十分に満たす容量が必要です。

アーカイブ・ファイルをローカルで作成するには、以下のコマンドを使用します。 アーカイブ・ファイル名は、後で使用する際にこのアーカイブの識別に役立つ任意の文字列にできます。通常は、以下の例に示すように、ホスト名に日付を加えた名前が選択されます。

# zfs send -Rv rpool@archive | gzip > /path/to/archive_$(hostname)_$(date +%Y%m%d).zfs.gz

次に、図2に示すように、後で検索できるようにアーカイブ・ファイルをファイル・サーバーへ移動します。

図2

図2 Oracle Solaris 11 11/11アーカイブのアクセス可能性を保証

オプションとして、以下のように、アーカイブ・ファイルをNFSマウントされたパスに直接書き込めます。

# zfs send -Rv rpool@archive | gzip > /net/FILESERVER/path/to/archive_$(hostname)_$(date +%Y%m%d).zfs.gz

同様に、以下のようにssh経由でアーカイブ・ファイルをファイル・サーバーへストリームできます。

# zfs send -Rv rpool@archive | gzip | ssh USER@FILESEVER "cat> /path/to/archive_$(hostname)_$(date +%Y%m%d).zfs.gz"

ネットワークを通してアーカイブをストリームした場合、ssh送信はどんな一時停止および再開機能もサポートしないことに注意してください。したがって、ネットワーク接続が中断されると、コマンド全体を再起動する必要があります。

移行アーカイブ・ファイルが作成されたので、以下のコマンドを使用してローカル・スナップショットを破棄します。

# zfs destroy -r rpool@archive

フェーズ 2: Oracle Solaris 11 11/11システムを構成するための準備

移行されたOracle Solaris 11 11/11インスタンスをブートする前に、移行の準備としてOracle Solaris 10を実行している移行システムから関連するすべてのシステム構成パラメータを収集します。 収集する必要があるシステム構成の項目には以下が含まれますが、これらに限定されるものではありません。

  • ホスト名
  • タイムゾーン
  • ロケール
  • ルート・パスワード
  • 管理ユーザー情報
  • プライマリ・ネットワーク・インタフェース(自動構成されない場合)
  • ネーム・サービス情報

必要とされるデータの情報については、Oracle Solaris 11システムのインストールの第6章"Oracle Solarisインスタンスの構成解除または再構成"を参照してください。

システム構成情報は、アーカイブがリストアされた場合に再生成する必要があります。 これを実行するには、実行中のOracle Solaris 11 11/11システム上でシステム構成(SC)プロファイルを生成し、そのプロファイルが最初のブートで自動的に適用されるように、リストアされたOracle Solaris 11 11/11アーカイブにプロファイルをコピーします。

sysconfigのサブコマンドcreate-profileにより、SCI Toolインタフェースが起動し、システム構成情報を問い合わせてから、後でシステムの構成に使用できるSCプロファイルが生成されます。

SCプロファイルをローカルに作成するには、以下のコマンドを使用します。 プロファイル名は、後で使用する際にこのプロファイルの識別に役立つ任意の文字列にできます。以下の例では、configに日付情報を追加したものを使用しています。

# sysconfig create-profile -o /path/to/config_$(date +%Y%m%d).xml

次に、後で検索できるようにSCプロファイルをファイル・サーバーへ移動します。

オプションとして、以下のようにSCプロファイルを作成し、それをNFSマウントされたパスへ直接書き込めます。

# sysconfig create-profile -o /net/FILESERVER/path/to/config_$(date +%Y%m%d).xml
 

フェーズ 3: Oracle Solaris 11 11/11アーカイブの移行

図3は、Oracle Solaris 11 11/11アーカイブの移行時に実行される内容を示したものです。

図3

図3 Oracle Solaris 11 11/11アーカイブの移行

ブート・デバイスおよびルート・プールの準備

最初に、新しいブート・ディスク・デバイスを構成します。 ディスク・デバイスの管理方法、ブート・デバイスの決定方法、およびデフォルト・ブート・デバイスの変更方法(必要な場合)については、以下のガイドを参照してください。

前に説明したように、元のディスク・レイアウトをレプリケートすることもできますが、ディスクの最初の領域がブート・データのために予約されている場合は、以下の手順に従い、異なるレイアウトを使用することもできます。ルート・プールは、元のものと同じ大きさである必要はありません。 ただし、新しいプールは、それぞれのアーカイブ・ファイルにすべてのデータを含めるのに十分な大きさである必要があります(たとえば、前に説明したzpool list出力のALLOCセクションと同じ大きさ)。

アーカイブ・システムのディスクの初期構成に基づいて、ブート・デバイスの構成方法を決定します。 繰り返しますが、必要なことは、作成するZFSプールにzpool listの出力のALLOCの量で説明したアーカイブ・データセットを保存するのに最終的に十分な大きさがあるということです。

format(1M) コマンドを使用して、ディスク・パーティションおよび/またはスライスを必要に応じて構成します。 ブート・デバイスには、VTOCラベルを使用する必要があり、デフォルトの構成はシリンダ1のフルデバイス・スライス0で開始します。 アーカイブ作成の一部として保存されたファイルから、ブート・デバイスの最適な設定方法についてのガイダンスが提供される可能性があります。

リスト2の例は、formatユーティリティのメニューから必要なブート・デバイスを選択する方法を示しています。

# format
Searching for disks...done
             c3t3d0: configured with capacity of 68.35GB

AVAILABLE DISK SELECTIONS:

0. c3t2d0 <SEAGATE-ST973401LSUN72G-0556 cyl 8921 alt 2 hd 255 sec 63>
    /pci@0,0/pci1022,7450@2/pci1000,3060@3/sd@2,0
1. c3t3d0 <FUJITSU-MAY2073RCSUN72G-0401 cyl 14087 alt 2 hd 24 sec 424>
   /pci@0,0/pci1022,7450@2/pci1000,3060@3/sd@3,0

Specify disk (enter its number): 1

selecting c3t3d0
[disk formatted]

リスト2 ブート・ディスクの選択

x86システムで、No Solaris fdisk partition foundというメッセージが表示された場合は、以下のようにfdiskパーティションを作成する必要があります。

format> fdisk
No fdisk table exists. The default partition for the disk is:

 a 100% "SOLARIS System" partition

Type "y" to accept the default partition, otherwise type "n" to edit the partition table.
y
format>

ここで、必要に応じてスライスを構成します。 リスト3は、デフォルトの構成であるフル容量のスライス0の設定例を示したものです。 スライスはシリンダ1で開始し、ディスクの最初にブート・ソフトウェアのための余裕を残します。パーティション表は、システム・アーキテクチャ、ディスク・ジオメトリや他の変数によって、見た目が異なる場合があることに注意してください。

partition> print
format> partition
Current partition table (default):

Total disk cylinders available: 8921 + 2 (reserved cylinders)

Part     Tag           Flag     Cylinders     Size            Blocks
 0       unassigned    wm       0             0          (0/0/0)       0
 1       unassigned    wm       0             0          (0/0/0)       0
 2       backup        wu       0 - 8920      68.34GB    (8921/0/0) 143315865
 3       unassigned    wm       0             0          (0/0/0)       0
 4       unassigned    wm       0             0          (0/0/0)       0
 5       unassigned    wm       0             0          (0/0/0)       0
 6       unassigned    wm       0             0          (0/0/0)       0 
 7       unassigned    wm       0             0          (0/0/0)       0
 8       boot          wu       0 -  0        7.84MB     (1/0/0)       16065
 9       unassigned    wm       0             0          (0/0/0)       0

partition> 0
Part     Tag           Flag     Cylinders     Size            Blocks
 0       unassigned    wm       0             0           (0/0/0)       0

Enter partition id tag[unassigned]: root
Enter partition permission flags[wm]: 
Enter new starting cyl[1]: 1
Enter partition size[0b, 0c, 1e, 0.00mb, 0.00gb]: $
partition>

リスト3 フル容量のスライス0の設定

必要に応じてスライスを構成したら、リスト4に示すようにディスクにラベル付けを行います。 次の手順に進む前に、全体のレイアウトを確認してください。

partition> label
Ready to label disk, continue?
y
partition> print
Current partition table (unnamed):
Total disk cylinders available: 8921 + 2 (reserved cylinders)

Part       Tag           Flag    Cylinders    Size            Blocks
 0         root          wm      1 - 8920     68.34GB    (0/0/0)       0
 1         unassigned    wm      0            0          (0/0/0)       0
 2         backup        wu      0 - 8920     68.34GB    (8921/0/0) 143315865
 3         unassigned    wm      0            0          (0/0/0)       0
 4         unassigned    wm      0            0          (0/0/0)       0
 5         unassigned    wm      0            0          (0/0/0)       0
 6         unassigned    wm      0            0          (0/0/0)       0 
 7         unassigned    wm      0            0          (0/0/0)       0
 8         boot          wu      0 -  0       7.84MB     (1/0/0)       16065
 9         unassigned    wm      0            0          (0/0/0)       0

partition> ^D

リスト4 ディスクのラベル付け

ディスク・デバイスの管理について詳しくは、Oracle Solarisの管理: デバイスとファイルシステムのガイドを参照してください。

ZFSプールの作成とアーカイブのリストア

ディスクを構成したら、以下のコマンドを使用してスライス0に新しいルート・プールを作成します。

# zpool create rpool cXtXdXs0

アーカイブ・システムのルート・プールにデフォルト名rpoolを使用しなかった場合は、該当する名前をrpoolの代わりに使用することに注意してください。異なるプール名が使用されていても移行プロシージャは正常に完了しますが、ZFSファイル・システムのマウント・ポイントが異なります。

次の手順で、アーカイブ・ファイルからZFSデータセットをリストアします。 アーカイブが取外し可能なメディアに保存されている場合は、ここでそのメディアを接続して構成し、ファイルにアクセスできるようにしてください。取外し可能なメディアの構成について詳しくは、Oracle Solarisの管理: デバイスとファイルシステムのガイドを参照してください。

ファイルがローカルでアクセス可能になったら、以下のコマンドを使用してデータセットをリストアします。

# gzcat /path/to/archive_myhost_20111011.zfs.gz | zfs receive -vF rpool

または、ネットワーク接続されたファイル・サーバーにファイルが保存されている場合は、次のコマンドを使用してアーカイブ・ファイルをストリームし、データセットをリストアできます。

# ssh USER@FILESERVER "cat /path/to/archive_myhost_20111011.zfs.gz" |  gzip -d | zfs receive -vF rpool

: receiveコマンドにより、次のエラー・メッセージが生成される場合があります。cannot receive $share2 property on rpool: invalid property value これは想定されたことであり、リストアされたデータセットの操作には影響しません。

このホスト上で他のプールがリストアのためにアーカイブされている場合は、前述と同じZFS操作を使用してこの時点でリストアできます。 ZFSデータセットの移行に関する追加情報は、Oracle Solarisの管理: ZFSファイルシステムのガイドを参照してください。

データの移行のプロシージャはこれで完了しました。 移行システムが期待どおりにブートすることを確認するために、最終的な手順をいくつか実行する必要があります。

ハードウェアの構成とテスト

次に、移行システムで使用するためのスワップおよびダンプ・デバイスを作成する必要があります。 ここでは、デフォルト名のデバイスが使用されていることに注意してください。そのため、デバイスはすでに使用されており、ブート時にこのシステムで稼働するにように構成されているため、管理タスク(たとえば、swap(1M)を使用してスワップ・デバイスを追加する)は必要ありません。アーカイブされたシステムによって異なるメモリ構成が移行システムに含まれる場合、スワップおよびダンプ・デバイスは異なるサイズを要求する場合がありますが、名前は前述の構成と同じであるため、移行システムの最初のブートの際に正しく構成されます。

スワップおよびダンプ・デバイスは、Oracle Solarisの管理: デバイスとファイルシステムのガイドおよびOracle Solarisの管理: ZFSファイルシステムのガイドのアドバイスに従ってサイズを決める必要があります。表1に概略を示します。

表1 スワップおよびダンプ・デバイスのサイズ
物理メモリ スワップ・サイズ ダンプ・サイズ
最大4GBの物理メモリを持つシステム 1 GB 2 GB
4GBから8GBの物理メモリを持つミッドレンジ・サーバー 2 GB 4 GB
16GBから32GBの物理メモリを持つハイエンド・サーバー 4 GB 8 GB+
32GBを超える物理メモリを持つシステム 合計メモリ・サイズの1/4 合計メモリ・サイズの1/2

物理メモリの量は、次のようにして判断できます。

$ prtconf |grep Memory
Memory size: 130560 Megabytes

システムがブートしたら、必要に応じてスワップ・デバイスを追加できます。 これらのデバイスの管理について詳しくは、前述のドキュメントを参照してください。

適切な容量のスワップおよびダンプ・デバイスを再作成するには、次のコマンドを使用します。 この例では、移行システムには8GBのメモリがインストールされていることに注意してください。

# zfs create -b 128k -V 2GB rpool/swap
# zfs set primarycache=metadata rpool/swap 
# zfs create -b 128k -V 4GB rpool/dump

アクティブ化するBEは、次の手順でアクセスして修正できるように、ここでマウントする必要があります。 マウントするBEを特定するには、次のzfs listコマンドを使用します。

# zfs list -r rpool/ROOT
NAME                        USED    AVAIL  REFER  MOUNTPOINT
rpool/ROOT                  3.32G   443G    31K   legacy
rpool/ROOT/solaris_11       3.32G   443G  3.02G   /
rpool/ROOT/solaris_11/var   226M    443G   220M   /var

BEは、rpool/ROOTデータセットのルート・プールにあります。 BEには、少なくとも2つのエントリが含まれます。 ルート・データセットと/varデータセットです。 前述の例のBEは、solaris_11です。

システムがリブートする際にアクティブ化するBEは、ルート・プール上で適切なプロパティを設定することによって特定する必要があります。これを実行するには、次のzpoolコマンドを使用します。

# zpool set bootfs=rpool/ROOT/solaris_11 rpool

アクティブなBEデータセットをマウントするには、最初にマウント・ポイントを変更する必要があります。 マウント・ポイントを変更し、次のコマンドを使用して、アクティブなBEデータセットをマウントします。

# zfs set mountpoint=/tmp/mnt rpool/ROOT/solaris_11 
# zfs mount rpool/ROOT/solaris_11

BEのルート・ファイル・システムは、/tmp/mntマウント・ポイント経由でアクセスできるようになりました。最初の手順として、ホストによる新しいルート・プールのブートを可能にするブート・ソフトウェアをインストールします。 次に示すように、アーキテクチャによって手順が異なります。どちらの例でも、/tmp/mnt BEマウント・ポイントが使用されています。

  • x86ベースのホストにブート・ソフトウェアをインストールするには、次のコマンドを使用します。

    # installgrub /tmp/mnt/boot/grub/stage1 /tmp/mnt/boot/grub/stage2 /dev/rdsk/cXtXdXs0
    
  • SPARCベースのホストにブート・ソフトウェアをインストールするには、次のコマンドを使用します。
    # installboot -F zfs /tmp/mnt/usr/platform/`uname -i`/lib/fs/zfs/bootblk /dev/rdsk/cXtXdXs0
    

新しいシステムでは、同じデバイスを使用しない、または同じデバイスを異なる方法で構成することもできます。 そのため、次のコマンドを使用して、デバイス・ファイル・システムを消去します。

# devfsadm -Cn -r /tmp/mnt

次に、システムが最初のブートで再構成ブートを実行するようにする必要があります。これにより、新しいデバイス・ハードウェアが構成されます(アーカイブ・システム対移行システムに関連)。再構成ブートを強制的に実行するには、reconfigureという名前のファイルをBEのルート・ファイル・システムの最上位に置きます。 このアクションは永続的ではありません。ファイルは削除されるため、再構成はファイルを配置した後の最初のブートでのみ実行されるからです。

次のコマンドを使用し、アクティブなBEのマウントされたファイル・システムに再構成ファイルを作成することによって、再構成ブートを設定します。

# touch /tmp/mnt/reconfigure

x86マシンでライブ・インストールを実行している場合は、hostidファイルを再生成する必要があります。 ブート時にファイルが存在しない場合、ファイルが生成されるため、次のようにファイルを削除します。

# rm /tmp/mnt/etc/hostid 

フェーズ 4: Oracle Solaris 11 11/11システムの構成

フェーズ 2で作成したSCプロファイルは、ここで移行システムに適用されます。 SCプロファイルがすでにそのシステム上に存在している場合は、次のコマンドを使用して削除します。

# rm /tmp/mnt/etc/svc/profile/site/profile*.xml

次に、付録に含まれる2つのOracle Solaris Service Management Facility プロファイル(/tmp/disable_sci.xmlおよびunconfig.xml)を/tmp/mnt/etc/svc/profile/siteにコピーする必要があります。これらのプロファイルによって、システムは以前に生成されたSCプロファイルを適用する前に構成を解除します。

次のように付録からXML情報をコピーすることにより、/tmp/disable_sci.xmlおよびunconfig.xmlを作成します。

生成されたSCプロファイルを適切な場所である/tmp/mnt/etc/svc/profile/scにコピーします。このディレクトリは存在しない場合がありますが、その場合はディレクトリの作成が必要です。

# cp /tmp/disable_sci.xml /tmp/mnt/etc/svc/profile/site
# cp /tmp/unconfig.xml /tmp/mnt/etc/svc/profile/site
# cp /path/to/config_20111011.xml /tmp/mnt/etc/svc/profile/sc/

次に、BEをアンマウントしてマウント・ポイントをリセットします。

# zfs umount rpool/ROOT/solaris_11
# zfs set mountpoint=/ rpool/ROOT/solaris_11

そして、移行システムをリブートします。

図4に示すように、システム構成、物理トポロジまたは周辺機器の変更や他のハードウェア関連の変更がなければ、移行システムはアーカイブ・システムと同じようになります。構成に関して詳しくは、Oracle Solarisの管理ガイドを参照してください。

図4

図4 新しいブート・ディスクからのリブート

付録

リスト5は、disable_sci.xmlプロファイルの内容を示したものです。

<?xml version='1.0'?> 
<!DOCTYPE service_bundle SYSTEM '/usr/share/lib/xml/dtd/service_bundle.dtd.1'> 
<service_bundle type="profile" name="config_profile"> 
<service name="milestone/config" version="1" type="service"> 
<instance name="default" enabled="true"> 
<property_group name="sysconfig" type="application"> 
<propval name="interactive_config" type="boolean" value="false"/> 
<propval name="config_groups" type="astring" value="system "/> 
<propval name="configure" type="boolean" value="true"/> 
</property_group> 
</instance> 
</service> 
</service_bundle> 

リスト5 disable_sci.xmlプロファイルの内容

リスト6は、unconfig.xmlプロファイルの内容を示したものです。

<?xml version='1.0'?> 
<!DOCTYPE service_bundle SYSTEM '/usr/share/lib/xml/dtd/service_bundle.dtd.1'> 
<service_bundle type="profile" name="unconfig_profile"> 
<service name="milestone/unconfig" version="1" type="service"> 
<property_group name="sysconfig" type="application"> 
<propval name="shutdown" type="boolean" value="false"/> 
<propval name="destructive_unconfig" type="boolean" value="false"/> 
<propval name="unconfig_groups" type="astring" value="system "/> 
<propval name="unconfigure" type="boolean" value="true"/> 
</property_group> 
</service> 
</service_bundle>

リスト6 unconfig.xmlプロファイルの内容

参照

著者について

Harold Shawは、Oracle SolarisのPrincipal Software Engineerで、ソフトウェア・インストールや配置テクノロジーに注力しています。 Haroldは、2010年にオラクルに入社しました。

2012年4月23日改訂版1.0

Follow us on FacebookTwitterまたはOracle Blogsでフォローしてください。