このパートでは、Solaris Live Upgrade を使って ZFS ストレージプールに非アクティブブート環境を作成し、アップグレードする方法について説明します。UFS ルート (/) ファイルシステムを ZFS ルートプールに移行することもできます。
Solaris Live Upgrade を使用して、UFS ファイルシステムを ZFS ルートプールに移行し、既存の ZFS ルートプールから ZFS ルートファイルシステムを作成することができます。
Solaris Live Upgrade を使用したブート環境の作成は、Solaris 10 10/08 リリースの新機能です。UFS ファイルシステムでの Solaris Live Upgrade の実行に関しては、コマンド行パラメータにも Solaris Live Upgrade の操作にも変更はありません。UFS ファイルシステムがインストールされているシステムで Solaris Live Upgrade を実行する場合は、本書のパート I「Solaris Live Upgrade によるアップグレード」を参照してください。
次の節で、これらの作業の概要を説明しています。
UFS ファイルシステムをお使いの場合は、Solaris Live Upgrade は以前のリリースと同様に動作します。今回のリリースでは、UFS ファイルシステムから ZFS ルートプールへの移行、および ZFS ルートプール内での新規ブート環境の作成が可能になりました。これらの作業向けに、lucreate コマンドが -p オプションで拡張されました。コマンドの構文は次のとおりです。
# lucreate [-c active_BE_name] -n BE_name [-p zfs_root_pool] |
-p オプションでは、新しいブート環境を配置する ZFS プールを指定します。このオプションは、ソースブート環境とターゲットブート環境が同一のプール内にある場合は省略できます。
lucreate コマンドの -m オプションは ZFS ではサポートされません。その他の lucreate コマンドのオプションは、一部の例外を除いてこれまでと変わりありません。制限事項については、「Solaris Live Upgrade 使用時のシステム要件と制限事項」を参照してください。
現在稼動中のシステムからブート環境を作成する場合は、lucreate コマンドで UFS ルート (/) ファイルシステムを ZFS ルートプールにコピーします。コピー処理には、システムによって時間がかかる場合があります。
UFS ファイルシステムから移行する場合は、ディスクスライス上の UFS ルート (/) ファイルシステムをソースブート環境にすることができます。ZFS ルートプール上のソースブート環境から UFS ファイルシステム上のブート環境を作成することはできません。
ここでは、ZFS ルートプールを作成し、UFS ルート (/) ファイルシステムから ZFS ルートプール内に新規ブート環境を作成するためのコマンドについて説明します。ZFS ルートプールは lucreate を使用する前に作成します。また、アップグレード可能かつブート可能にするために、ディスク全体ではなくスライス上に作成します。EFI ラベルの付いたディスクは使えません。SMI ラベルの付いたディスクを使用してください。その他の制限事項については、「Solaris Live Upgrade 使用時のシステム要件と制限事項」を参照してください。
図 11–1 に、ルートプール rpool を別のスライス c0t1d0s5 上に作成する zpool コマンドを示します。ディスクスライス c0t0d0s0 には、UFS ルート (/) ファイルシステムが含まれています。lucreate コマンドの -c オプションで指定する現在稼動中のシステム c0t0d0 が、UFS ルート (/) ファイルシステムです。-n オプションで、作成するブート環境に new-zfsBE という名前を割り当てます。-p オプションでは、新しいブート環境を rpool に配置することを指定します。UFS の /export ファイルシステムと /swap ボリュームは、新しいブート環境にコピーされません。
この例では、図 11–1 と同じコマンドを示しています。これらのコマンドで、新規のルートプール rpool を作成し、UFS ルート (/) ファイルシステムからプール内に新規ブート環境を作成します。この例では、zfs list コマンドで、zpool コマンドによって作成した ZFS ルートプールを表示しています。次の zfs list コマンドでは、lucreate コマンドで作成されたデータセットを表示しています。
# zpool create rpool c0t1d0s5 # zfs list NAME USED AVAIL REFER MOUNTPOINT rpool 9.29G 57.6G 20K /rpool |
# lucreate -c c0t0d0 -n new-zfsBE -p rpool # zfs list NAME USED AVAIL REFER MOUNTPOINT rpool 9.29G 57.6G 20K /rpool rpool/ROOT 5.38G 57.6G 18K /rpool/ROOT rpool/ROOT/new-zfsBE 5.38G 57.6G 551M /tmp/.alt.luupdall.110034 rpool/dump 1.95G - 1.95G - rpool/swap 1.95G - 1.95G - |
新しいブート環境は rpool/ROOT/new-zfsBE です。ブート環境 new-zfsBE は、すぐにアップグレードおよびアクティブにできます。
Solaris ボリュームマネージャー (SVM) ボリュームがあるシステムでも、UFS ファイルシステムの移行が可能です。既存の SVM 構成から UFS ブート環境を作成するため、現在稼動中のシステムから新規ブート環境を作成します。その後、その新しい UFS ブート環境から ZFS ブート環境を作成します。
Solaris ボリュームマネージャー (SVM) の概要。ZFS では、物理ストレージを管理するために、「ストレージプール」という概念を使用します。従来のファイルシステムは、1 つの物理デバイス上に構築されていました。複数のデバイスを扱ってデータの冗長性を実現するため、単一デバイスのイメージを提供するボリュームマネージャーの概念が導入されました。このようにすれば、複数デバイスの利点を享受するためにファイルシステムを変更する必要はありません。一方、この設計によって、複雑さは増大します。ファイルシステムには、仮想化したボリューム上の物理的なデータの配置を制御する機能がないため、この複雑さは結局、ある面でファイルシステムの進化を阻みました。
ZFS ストレージプールによる SVM の置き換え。ZFS は、ボリューム管理を完全になくしています。ZFS では、仮想化されたボリュームを作成する代わりに、デバイスをストレージプールに集約します。ストレージプールは、デバイスのレイアウト、データの冗長性などのストレージの物理特性を記述したもので、ファイルシステムを作成できる任意のデータストアとして機能します。ファイルシステムが個々のデバイスに制約されなくなり、デバイスの領域をプール内のすべてのファイルシステムで共有することができます。ファイルシステムのサイズを事前に決定する必要はなくなりました。ファイルシステムのサイズは、ストレージプールに割り当てられた領域内で自動的に拡張します。新しいストレージを追加すると、何も操作しなくても、プール内のすべてのファイルシステムで追加した領域をすぐに使用できます。多くの点で、ストレージプールは仮想的なメモリーシステムと言えます。システムに DIMM メモリーを追加したときに、メモリーの構成と各プロセスへの割り当てを実行するコマンドの呼び出しをオペレーティングシステムから要求されることはありません。追加したメモリーは、システムのすべてのプロセスによって自動的に使用されます。
SVM ボリュームのあるシステムを移行する場合、SVM ボリュームは無視されます。次の例に示すように、ルートプール内にミラーを設定できます。
この例では、-m オプションを指定した lucreate コマンドで、現在稼動中のシステムから新規ブート環境を作成します。ディスクスライス c1t0d0s0 には、SVM ボリュームで構成された UFS ルート (/) ファイルシステムが含まれています。zpool コマンドで、ルートプール c1t0d0s0、および RAID-1 ボリューム (ミラー) c2t0d0s0 を作成します。2 番目の lucreate コマンドの -n オプションで、作成するブート環境に c0t0d0s0 という名前を割り当てます。-s オプションでは、UFS ルート (/) ファイルシステムを指定します。-p オプションでは、新しいブート環境を rpool に配置することを指定します。
# lucreate -n ufsBE -m /:/dev/md/dsk/d104:ufs # zpool create rpool mirror c1t0d0s0 c20t0d0s0 # lucreate -n c0t0d0s0 -s ufsBE -p rpool |
ブート環境 c0t0d0s0 は、すぐにアップグレードおよびアクティブにできます。
新規 ZFS ブート環境は、同一ルートプール内、新規ルートプール上のどちらにも作成できます。この節には次の概要が含まれます。
同一の ZFS ルートプール内で新規ブート環境を作成する場合は、lucreate コマンドでソースブート環境からスナップショットを作成し、そのスナップショットからクローンを作成します。スナップショットとクローンの作成はきわめて短時間で完了し、ディスク容量の消費も最小限ですみます。最終的にどれくらいの容量が必要かは、アップグレード処理の一環として置き換えられるファイルの数で決まります。スナップショットは読み取り専用ですが、クローンはスナップショットの読み書き可能なコピーです。クローンブート環境に加えられた変更は、スナップショットにも、スナップショットの作成元のソースブート環境にも反映されません。
有効なデータセット内のデータが変更されると、スナップショットは古いデータを参照し続けるための領域を使用します。その場合、スナップショットのため、古いデータの領域は解放されずプールに戻されません。スナップショットの詳細については、『Solaris ZFS 管理ガイド』の第 7 章「ZFS のスナップショットとクローンの操作」を参照してください。
現在のブート環境が同じ ZFS プールにある場合、-p オプションは省略します。
図 11–2 に、ZFS ルートプールからの ZFS ブート環境の作成の概要を示します。スライス c0t0d0s0 に、ZFS ルートプール rpool が含まれています。lucreate コマンドの -n オプションで、作成するブート環境に new-zfsBE という名前を割り当てます。元のルートプールのスナップショット rpool@new-zfsBE が作成されます。このスナップショットから、新規ブート環境 new-zfsBE となるクローンが作成されます。ブート環境 new-zfsBE は、すぐにアップグレードおよびアクティブにできます。
この例には、同一のルートプール内に新規ブート環境を作成する、図 11–2 と同じコマンドが示されています。lucreate コマンドでは、-c zfsBE オプションで現在稼動中のブート環境を指定し、-n new-zfsBE オプションで新しいブート環境を作成します。zfs list コマンドでは、新しいブート環境とスナップショットにある ZFS データセットが表示されます。
# lucreate -c zfsBE -n new-zfsBE # zfs list AME USED AVAIL REFER MOUNTPOINT rpool 9.29G 57.6G 20K /rpool rpool/ROOT 5.38G 57.6G 18K /rpool/ROOT rpool/ROOT/zfsBE 5.38G 57.6G 551M rpool/ROOT/zfsBE@new-zfsBE 66.5K - 551M - rpool/ROOT/new-zfsBE 5.38G 57.6G 551M /tmp/.alt.luupdall.110034 rpool/dump 1.95G - 1.95G - rpool/swap 1.95G - 1.95G - |
lucreate コマンドを使用して、既存の ZFS ルートプールを別の ZFS ルートプール内にコピーできます。コピー処理には、システムによって時間がかかる場合があります。
図 11–3 に、ブート可能な ZFS ルートプールがまだ存在しないため、ZFS ルートプール rpool2 を c0t1d0s5 上に作成する zpool コマンドを示します。lucreate コマンドの -n オプションで、作成するブート環境に new-zfsBE という名前を割り当てます。-p オプションでは、新しいブート環境を配置する場所を指定します。
この例では、新規ルートプールの作成後、新しく作成したルートプールに新規ブート環境を作成する、図 11–3 と同じコマンドを示しています。この例の zpool create コマンドで rpool2 が作成されます。zfs list コマンドで、rpool2 に ZFS データセットが作成されていないことが示されます。データセットは、lucreate コマンドで作成されます。
# zpool create rpool2 c0t2d0s5 # zfs list NAME USED AVAIL REFER MOUNTPOINT rpool2 9.29G 57.6G 20K /rpool2 rpool 9.29G 57.6G 20K /.new.lulib.rs.109262 rpool/ROOT 5.46G 57.6G 18K legacy rpool/ROOT/zfsBE 5.46G 57.6G 551M rpool/dump 3.99G - 3.99G - rpool/swap 3.99G - 3.99G - |
新しい ZFS ルートプール rpool2 が、ディスクスライス c0t2d0s5 上に作成されます。
# lucreate -n new-zfsBE -p rpool2 # zfs list NAME USED AVAIL REFER MOUNTPOINT rpool2 9.29G 57.6G 20K /rpool2 rpool2/ROOT/ 5.38G 57.6G 18K /rpool2/ROOT rpool2/ROOT/new-zfsBE 5.38G 57.6G 551M /tmp/.new.luupdall.109859 rpool2/dump 3.99G - 3.99G - rpool2/swap 3.99G - 3.99G - rpool 9.29G 57.6G 20K /.new.lulib.rs.109262 rpool/ROOT 5.46G 57.6G 18K legacy rpool/ROOT/zfsBE 5.46G 57.6G 551M rpool/dump 3.99G - 3.99G - rpool/swap 3.99G - 3.99G - |
新しいブート環境 new-zfsBE が、ROOT、dump、および swap の他のデータセットと共に rpool2 に作成されます。ブート環境 new-zfsBE は、すぐにアップグレードおよびアクティブにできます。
現在稼動中のシステム以外のソースからブート環境を作成する場合は、lucreate コマンドに -s オプションを指定して実行します。-s オプションは、UFS ファイルシステムの場合と同じように機能します。-s オプションには、代替ルート (/) ファイルシステムのパスを指定します。この代替ルート (/) ファイルシステムが、新しい ZFS ルートプールを作成するためのソースとなります。代替ルートは、UFS (/) ルートファイルシステム、ZFS ルートプールのどちらでもかまいません。コピー処理には、システムによって時間がかかる場合があります。
次のコマンドで、既存の ZFS ルートプールから新規 ZFS ルートプールを作成します。-n オプションで、作成するブート環境に new-zfsBE という名前を割り当てます。-s オプションには、現在稼動中のブート環境の代わりにコピー元として使用する、ブート環境 source-zfsBE を指定します。-p オプションでは、新しいブート環境を newpool2 に配置することを指定します。
# lucreate -n new-zfsBE -s source-zfsBE -p rpool2 |
ブート環境 new-zfsBE は、すぐにアップグレードおよびアクティブにできます。
Solaris Live Upgrade を使用して、非大域ゾーンを ZFS ルートファイルシステムに移行できます。概要、計画、および詳細な手順については、第 14 章非大域ゾーンがインストールされている ZFS の Solaris Live Upgradeを参照してください。
この章のトピックに関する追加情報については、表 11–1 のリソースを参照してください。
表 11–1 追加情報
リソース |
場所 |
---|---|
概要、計画、詳細な手順を含む ZFS の情報 | |
UFS ファイルシステムがインストールされているシステムでの Solaris Live Upgrade の使用 |
この章では、UFS ファイルシステムの ZFS ファイルシステムへの移行を実行する前、または既存の ZFS ルートプールから新規 ZFS ブート環境を作成する前にチェックするガイドラインと要件について説明します。
Solaris Live Upgrade を使用したブート環境の作成は、Solaris 10 10/08 リリースの新機能です。UFS ファイルシステムでの Solaris Live Upgrade の実行に関しては、コマンド行パラメータにも Solaris Live Upgrade の操作にも変更はありません。UFS ファイルシステムがインストールされているシステムで Solaris Live Upgrade を実行する場合は、本書のパート I「Solaris Live Upgrade によるアップグレード」を参照してください。
UFS ファイルシステムの ZFS ファイルシステムへの移行を実行する前、または既存の ZFS ルートプールから新規 ZFS ブート環境を作成する前に、必ず、次の要件と制限事項をよく読んで理解してください。これらの要件は、『Solaris 10 5/09 インストールガイド (インストールとアップグレードの計画)』の第 6 章「ZFS ルートファイルシステムのインストール (計画)」に列挙されている要件に追加されるものです。
表 12–1 要件および制限事項
要件または制限事項 |
説明 |
情報 |
|
---|---|---|---|
Solaris 10 10/08 以降のリリースをインストールしてください。 |
Solaris Live Upgrade を使った UFS ファイルシステムから ZFS ルートプールへの移行、およびルートプール内への新規ブート環境の作成は、Solaris 10 10/08 リリースの新機能です。このリリースには、ZFS での Solaris Live Upgrade の使用に必要なソフトウェアが含まれています。ZFS を使用する場合は、このリリース以降をインストールしてください。 | ||
ディスク容量 |
ブート可能な ZFS ルートファイルシステムに使用できるプール領域の最小容量は、物理メモリー容量、利用できるディスク容量、および作成するブート環境の数によって変動します。 |
詳細については、『Solaris 10 5/09 インストールガイド (インストールとアップグレードの計画)』の「ZFS インストールのディスク容量要件」を参照してください。 |
|
UFS ルート (/) ファイルシステムから ZFS ルートプールに移行する場合は、次の要件を考慮します。 |
|
|
|
共有ファイルシステムを移行する場合、共有ファイルシステムを、新しい ZFS ルートプール上の別個のスライスにコピーすることはできません。 |
たとえば、UFS ルート (/) ファイルシステムで Solaris Live Upgrade を実行する場合は、-m オプションを使用して /export ファイルシステムを別のデバイスにコピーすることができます。共有ファイルシステムを ZFS プールにコピーする -m オプションはありません。 | ||
非大域ゾーンを含む UFS ルートファイルシステムを移行する場合、共有ファイルシステムは移行されません。 |
UFS ルート (/) ファイルシステムおよび非大域ゾーンがインストールされているシステムでは、非大域ゾーンの移行は、そのゾーンがクリティカルファイルシステム内にある場合に UFS から ZFS への移行の一部として行われます。同一 ZFS プール内でアップグレードを行うと、ゾーンは複製されます。非大域ゾーンが共有 UFS (/) ファイルシステムに存在する場合、ZFS ルートプールに移行するには、以前の Solaris リリースの場合と同様に、まずゾーンをアップグレードします。 |
|
|
ZFS rename コマンドは使用しないでください。 |
Solaris Live Upgrade 機能で名前の変更が認識されないため、ludelete などの後続のコマンドが失敗します。実際、既存のブート環境を引き続き使用するのであれば、ZFS のプールやファイルシステムの名前は変更しないでください。 | ||
lucreate コマンドを使用する前に、データセットのプロパティーを設定します。 |
Solaris Live Upgrade は、ブート環境のデータセット、およびスワップ領域とダンプデバイスのための ZFS ボリュームを作成しますが、既存のデータセットプロパティーを変更することはありません。そのため、新しいブート環境で有効にしたいデータセットプロパティーがある場合は、lucreate 操作の前にそのプロパティーを設定してください。次に例を示します。
|
『Solaris ZFS 管理ガイド』の「ZFS のプロパティーの紹介」を参照してください。 |
|
同一の ZFS ルートプール内に ZFS ブート環境を作成する場合、lucreate コマンドの追加用オプションや除外用オプションを使ってその内容をカスタマイズすることはできません。 |
「同一の」ZFS ルートプールにブート環境を作成する場合、一次ブート環境でファイルを追加したり除外したりするために -f、-o、-y、-Y、および -z オプションを使用することはできません。ただし、次の場合はこれらのオプションを使用できます。
|
追加用オプションと除外用オプションの使用方法については、「ブート環境の作成と内容のカスタマイズ」を参照してください。 |
|
Solaris Live Upgrade を使用して、ルート以外の ZFS ファイルシステムをアップグレードすることはできません。 |
この章のトピックに関する追加情報については、表 12–2 のリソースを参照してください。
表 12–2 追加情報
リソース |
場所 |
---|---|
ZFS インストールの計画の詳細 |
『Solaris 10 5/09 インストールガイド (インストールとアップグレードの計画)』の第 6 章「ZFS ルートファイルシステムのインストール (計画)」 |
概要、計画、詳細な手順を含む ZFS の情報 | |
UFS ファイルシステムがインストールされているシステムでの Solaris Live Upgrade の使用 |
この章では、Solaris Live Upgrade を使用して ZFS ブート環境を作成する方法を詳細な手順によって説明します。
Solaris Live Upgrade を使った、UFS ファイルシステムから ZFS ルートプールへの移行や ZFS ブート環境の作成は、Solaris 10 10/08 リリースの新機能です。UFS ファイルシステムがインストールされているシステムで Solaris Live Upgrade を利用する場合は、本書のパート I「Solaris Live Upgrade によるアップグレード」を参照してください。
この章で手順を説明する作業は次のとおりです。
非大域ゾーンがインストールされている場合の ZFS の使用手順については、第 14 章非大域ゾーンがインストールされている ZFS の Solaris Live Upgradeを参照してください。
ここでは、UFS ファイルシステムを ZFS ファイルシステムに移行する手順について説明します。ブート環境を作成すると、クリティカルファイルシステムをアクティブな UFS ブート環境から ZFS ルートプールにコピーできるようになります。lucreate コマンドで、クリティカルファイルシステムを既存の ZFS ルートプール内の新しいブート環境にコピーします。ユーザー定義の (共有可能な) ファイルシステムはコピーされず、ソース UFS ブート環境と共有されません。また、/swap は、UFS ファイルシステムと ZFS ルートプール間で共有されません。クリティカルファイルシステムと共有可能ファイルシステムの概要については、「ファイルシステムのタイプ」を参照してください。
アクティブな UFS ルート (/) ファイルシステムを ZFS ルートプールに移行するには、ルートプールの名前を指定します。クリティカルファイルシステムは、このルートプールにコピーされます。
Solaris Live Upgrade をはじめて実行する前に、インストールメディアに含まれている最新の Solaris Live Upgrade パッケージと、SunSolve Infodoc 206844 に記載されているパッチをインストールしてください。SunSolve の Web サイトで、infodoc 206844 (以前の 72099) を検索してください。
最新のパッケージとパッチにより、リリースに最新のバグ修正と新機能がすべて含まれるようになります。新しいブート環境の作成に進む前に、システムに関連するすべてのパッチを必ずインストールしてください。
以下では、SunSolve Infodoc 206844 の手順について説明します。
Solaris Live Upgrade を使って新規 ZFS ブート環境を作成するためには、少なくとも Solaris 10 10/08 リリースがインストールされている必要があります。それより前のリリースの ZFS および Solaris Live Upgrade ソフトウェアでは、この作業を実行することはできません。
スーパーユーザーになるか、同等の役割を引き受けます。
SunSolve の Web サイトにある infodoc 206844 の手順に従って、Solaris Live Upgrade パッケージを削除および追加します。
3 つの Solaris Live Upgrade パッケージ SUNWluu、SUNWlur、および SUNWlucfg は、Solaris Live Upgrade を使ってアップグレードするのに必要なソフトウェアを構成します。これらのパッケージには、既存のソフトウェア、新しい機能、およびバグ修正が含まれています。Solaris Live Upgrade を使用する前に、既存パッケージを削除しないで新しいパッケージをシステムにインストールすると、ターゲットリリースへのアップグレードは失敗します。SUMWlucfg パッケージは、Solaris 10 8/07 以降のリリースの新機能です。Solaris 10 8/07 より前のリリースから Solaris Live Upgrade パッケージを使用する場合は、このパッケージを削除する必要はありません。
# pkgrm SUNWlucfg SUNWluu SUNWlur |
アップグレードのターゲットリリースから、新しい Solaris Live Upgrade パッケージをインストールします。詳細については、「Solaris Live Upgrade のインストール」を参照してください。
Solaris Live Upgrade を実行する前に、次のパッチをインストールする必要があります。これらのパッチにより、リリースに最新のバグ修正と新機能がすべて含まれるようになります。
SunSolve で最新のパッチリストを確認してください。SunSolve の Web サイトで、infodoc 206844 (以前の 72099) を検索してください。
パッチをローカルディスクに保存する場合は、/var/tmp/lupatches のようなディレクトリを作成し、パッチをそのディレクトリにダウンロードします。
SunSolve の Web サイトから、パッチリストを取得します。
パッチのディレクトリに移動します。
# cd /var/tmp/lupatches |
patchadd コマンドを使用してパッチをインストールします。
# patchadd patch_id |
patch_id はパッチの番号です。複数のパッチ名を指定する場合は、スペースで区切ります。
パッチは、info doc 206844 で指定されている順序で適用してください。
必要に応じてシステムをリブートします。いくつかのパッチは、有効にするためにリブートする必要があります。
x86 のみ: システムをリブートする必要があります。そうしないと、Solaris Live Upgrade は失敗します。
# init 6 |
以上で正しく移行するために必要なパッケージとパッチがインストールされました。
ZFS ルートプールを作成します。
ZFS ルートプールは、ブート可能かつアップグレード可能にするため単一のスライス上に作成します。
# zpool create rpool c0t1d0s5 |
作成する新しい ZFS ルートプールの名前を指定します。
新しいルートプールをディスクスライス c0t1d0s5 上に作成します。
新規ルートプールの作成の詳細については、『Solaris ZFS 管理ガイド』を参照してください。
UFS ルート (/) ファイルシステムを新しい ZFS ルートプールに移行します。
# lucreate [-c ufsBE] -n new-zfsBE -p rpool |
現在の UFS ブート環境に ufsBE という名前を割り当てます。このオプションは必須ではなく、また、最初のブート環境の作成時にのみ使用します。lucreate コマンドを初めて実行する場合に -c オプションを省略すると、デフォルトの名前が自動的に作成されます。
作成するブート環境に new-zfsBE という名前を割り当てます。名前は、システム上で一意となるように指定する必要があります。
新しく作成した ZFS ルート (/) ファイルシステムを、rpool で定義した ZFS ルートプールに配置します。
新しい ZFS ブート環境の作成には、しばらく時間がかかることがあります。UFS ファイルシステムのデータが ZFS ルートプールにコピーされます。非アクティブなブート環境が作成された場合は、luupgrade コマンドまたは luactivate コマンドを使用して、新しい ZFS ブート環境をアップグレードまたはアクティブにすることができます。
(省略可能) ブート環境が完成したことを確認します。
この例では、lustatus コマンドを使って、ブート環境の作成が完了しブート可能かどうかを確認します。
# lustatus boot environment Is Active Active Can Copy Name Complete Now OnReboot Delete Status ----------------------------------------------------------------- ufsBE yes yes yes no - new-zfsBE yes no no yes - |
(省略可能) システム上の基本データセット情報を確認します。
list コマンドで、システム上のすべてのデータセットの名前を表示できます。この例では、rpool が ZFS プールの名前、new-zfsBE が新しく作成した ZFS ブート環境の名前です。
# zfs list NAME USED AVAIL REFER MOUNTPOINT rpool 9.29G 57.6G 20K /rpool rpool/ROOT 5.38G 57.6G 18K /rpool/ROOT rpool/ROOT/new-zfsBE 5.38G 57.6G 551M /tmp/.alt.luupdall.110034 rpool/dump 1.95G - 1.95G - rpool/swap 1.95G - 1.95G - |
表示される新しいブート環境のマウントポイントは、luactivate コマンドが実行されるまでの一時的なものです。/dump ボリュームと /swap ボリュームは、元の UFS ブート環境と共有されませんが、ZFS ルートプール内およびルートプール内のブート環境内で共有されます。
これで、新しいブート環境をアップグレードおよびアクティブにできます。例 13–1 を参照してください。
この例では、新しい ZFS ルートプール rpool が、別のスライス C0t0d0s4 上に作成されます。lucreate コマンドが、現在稼動中の UFS ブート環境 c0t0d0 を新しい ZFS ブート環境 new-zfsBE に移行し、その新しいブート環境を rpool に配置します。
# zpool create rpool C0t0d0s4 # zfs list NAME USED AVAIL REFER MOUNTPOINT rpool 9.29G 57.6G 20K /rpool # lucreate -c c0t0d0 -n new-zfsBE -p rpool Analyzing system configuration. Current boot environment is named <c0t0d0>. Creating initial configuration for primary boot environment <c0t0d0>. The device </dev/dsk/c0t0d0> is not a root device for any boot environment; cannot get BE ID. PBE configuration successful: PBE name <c0t0d0> PBE Boot Device </dev/dsk/c0t0d0>. Comparing source boot environment <c0t0d0> file systems with the file system(s) you specified for the new boot environment. Determining which file systems should be in the new boot environment. Updating boot environment description database on all BEs. Updating system configuration files. The device </dev/dsk/c1t0d0s0> is not a root device for any boot environment; cannot get BE ID. Creating configuration for boot environment <new-zfsBE>. Source boot environment is <c0t0d0>. Creating boot environment <new-zfsBE>. Creating file systems on boot environment <new-zfsBE>. Creating <zfs> file system for </> in zone <global> on <rpool/ROOT/new-zfsBE>. Populating file systems on boot environment <new-zfsBE>. Checking selection integrity. Integrity check OK. Populating contents of mount point </>. Copying. Creating shared file system mount points. Creating compare databases for boot environment <zfsBE>. Creating compare database for file system </>. Making boot environment <zfsBE> bootable. Creating boot_archive for /.alt.tmp.b-cBc.mnt updating /.alt.tmp.b-cBc.mnt/platform/sun4u/boot_archive Population of boot environment <new-zfsBE> successful. Creation of boot environment <new-zfsBE> successful. # lustatus boot environment Is Active Active Can Copy Name Complete Now OnReboot Delete Status ------------------------------------------------------------------------ c0t0d0 yes yes yes no - new-zfsBE yes no no yes - # zfs list NAME USED AVAIL REFER MOUNTPOINT rpool 9.29G 57.6G 20K /rpool rpool/ROOT 5.38G 57.6G 18K /rpool/ROOT rpool/ROOT/zfsBE 5.38G 57.6G 551M rpool/ROOT/new-zfsBE 5.38G 57.6G 551M /tmp/.alt.luupdall.110034 rpool/dump 1.95G - 1.95G - rpool/swap 1.95G - 1.95G - |
これで、新しいブート環境をアップグレードまたはアクティブにできます。
この例では、luupgrade コマンドを使って、-s オプションで指定された場所に格納されているイメージから新しいブート環境をアップグレードしています。
# luupgrade -n zfsBE -u -s /net/install/export/s10/combined.s10 51135 blocks miniroot filesystem is <lofs> Mounting miniroot at </net/install/export/solaris_10/combined.solaris_10_wos /Solaris_10/Tools/Boot> Validating the contents of the media </net/install/export/s10/combined.s10>. The media is a standard Solaris media. The media contains an operating system upgrade image. The media contains Solaris version <10_1008>. Constructing upgrade profile to use. Locating the operating system upgrade program. Checking for existence of previously scheduled Live Upgrade requests. Creating upgrade profile for BE <zfsBE>. Determining packages to install or upgrade for BE <zfsBE>. Performing the operating system upgrade of the BE <zfsBE>. CAUTION: Interrupting this process may leave the boot environment unstable or unbootable. Upgrading Solaris: 100% completed Installation of the packages from this media is complete. Adding operating system patches to the BE <zfsBE>. The operating system patch installation is complete. INFORMATION: The file /var/sadm/system/logs/upgrade_log on boot environment <zfsBE> contains a log of the upgrade operation. INFORMATION: The file var/sadm/system/data/upgrade_cleanup on boot environment <zfsBE> contains a log of cleanup operations required. INFORMATION: Review the files listed above. Remember that all of the files are located on boot environment <zfsBE>. Before you activate boot environment <zfsBE>, determine if any additional system maintenance is required or if additional media of the software distribution must be installed. The Solaris upgrade of the boot environment <zfsBE> is complete. |
新しいブート環境は、作成後いつでもアクティブにできます。
# luactivate new-zfsBE ********************************************************************** The target boot environment has been activated. It will be used when you reboot. NOTE: You MUST NOT USE the reboot, halt, or uadmin commands. You MUST USE either the init or the shutdown command when you reboot. If you do not use either init or shutdown, the system will not boot using the target BE. ********************************************************************** In case of a failure while booting to the target BE, the following process needs to be followed to fallback to the currently working boot environment: 1. Enter the PROM monitor (ok prompt). 2. Change the boot device back to the original boot environment by typing: setenv boot-device /pci@1f,0/pci@1/scsi@4,1/disk@2,0:a 3. Boot to the original boot environment by typing: boot ********************************************************************** Modifying boot archive service Activation of boot environment <new-zfsBE> successful. |
システムを ZFS ブート環境にリブートします。
# init 6 # svc.startd: The system is coming down. Please wait. svc.startd: 79 system services are now being stopped. . . . |
UFS ブート環境に戻す場合は、ZFS ブート環境で作成したすべての ZFS ストレージプールをもう一度インポートしてください。これらは、UFS ブート環境で自動的に使用可能にはならないからです。元の UFS ブート環境に切り替えると、次の例のようなメッセージが表示されます。
# luactivate c0t0d0 WARNING: The following files have changed on both the current boot environment <new-zfsBE> zone <global> and the boot environment to be activated <c0t0d0>: /etc/zfs/zpool.cache INFORMATION: The files listed above are in conflict between the current boot environment <zfsBE> zone <global> and the boot environment to be activated <c0t0d0>. These files will not be automatically synchronized from the current boot environment <new-zfsBE> when boot environment <c0t0d0> |
ここでは、既存の ZFS ルートプールがある場合に、新規 ZFS ブート環境をそのプール内に作成する手順について説明します。非アクティブなブート環境の作成後、新しいブート環境を都合のよいときにアップグレードおよびアクティブにできます。同一プール内でブート環境を作成する場合、-p オプションは不要です。
Solaris Live Upgrade をはじめて実行する前に、インストールメディアに含まれている最新の Solaris Live Upgrade パッケージと、SunSolve Infodoc 206844 に記載されているパッチをインストールしてください。SunSolve の Web サイトで、infodoc 206844 (以前の 72099) を検索してください。
最新のパッケージとパッチにより、リリースに最新のバグ修正と新機能がすべて含まれるようになります。新しいブート環境の作成に進む前に、システムに関連するすべてのパッチを必ずインストールしてください。
以下では、SunSolve Infodoc 206844 の手順について説明します。
Solaris Live Upgrade を使って新規 ZFS ブート環境を作成するためには、少なくとも Solaris 10 10/08 リリースがインストールされている必要があります。それより前のリリースの ZFS および Solaris Live Upgrade ソフトウェアでは、この作業を実行することはできません。
スーパーユーザーになるか、同等の役割を引き受けます。
SunSolve の Web サイトにある infodoc 206844 の手順に従って、Solaris Live Upgrade パッケージを削除および追加します。
3 つの Solaris Live Upgrade パッケージ SUNWluu、SUNWlur、および SUNWlucfg は、Solaris Live Upgrade を使ってアップグレードするのに必要なソフトウェアを構成します。これらのパッケージには、既存のソフトウェア、新しい機能、およびバグ修正が含まれています。Solaris Live Upgrade を使用する前に、既存パッケージを削除しないで新しいパッケージをシステムにインストールすると、ターゲットリリースへのアップグレードは失敗します。SUMWlucfg パッケージは、Solaris 10 8/07 以降のリリースの新機能です。Solaris 10 8/07 より前のリリースから Solaris Live Upgrade パッケージを使用する場合は、このパッケージを削除する必要はありません。
SUMWlucfg パッケージは、Solaris 10 8/07 以降のリリースの新機能です。それより前のリリースから Solaris Live Upgrade パッケージを使用する場合は、このパッケージを削除する必要はありません。
# pkgrm SUNWlucfg SUNWluu SUNWlur |
新しい Solaris Live Upgrade パッケージをインストールします。詳細については、「Solaris Live Upgrade のインストール」を参照してください。
Solaris Live Upgrade を実行する前に、次のパッチをインストールする必要があります。これらのパッチにより、リリースに最新のバグ修正と新機能がすべて含まれるようになります。
SunSolve で最新のパッチリストを確認してください。SunSolve の Web サイトで、infodoc 206844 (以前の 72099) を検索してください。
パッチをローカルディスクに保存する場合は、/var/tmp/lupatches のようなディレクトリを作成し、パッチをそのディレクトリにダウンロードします。
SunSolve の Web サイトから、パッチリストを取得します。
この例のようにパッチディレクトリに移動します。
# cd /var/tmp/lupatches |
patchadd コマンドを使用してパッチをインストールします。
# patchadd path-to-patches patch_id patch_id |
path-to-patches は、/var/tmp/lupatches などのパッチディレクトリへのパスです。patch_id はパッチの番号です。複数のパッチ名を指定する場合は、スペースで区切ります。
パッチは、info doc 206844 で指定されている順序で適用してください。
必要に応じてシステムをリブートします。いくつかのパッチは、有効にするためにリブートする必要があります。
x86 のみ: システムをリブートする必要があります。そうしないと、Solaris Live Upgrade は失敗します。
# init 6 |
以上で新しいブート環境を正しく作成するために必要なパッケージとパッチがインストールされました。
新しいブート環境を作成します。
# lucreate [-c zfsBE] -n new-zfsBE |
現在のブート環境に zfsBE という名前を割り当てます。このオプションは必須ではなく、また、最初のブート環境の作成時にのみ使用します。lucreate を初めて実行する場合に -c オプションを省略すると、デフォルトの名前が作成されます。
作成するブート環境に名前を割り当てます。名前は、システム上で一意となるように指定する必要があります。
新しいブート環境の作成は、きわめて短時間で完了します。現在の ZFS ルートプール内の各データセットのスナップショットが作成され、各スナップショットからクローンが作成されます。スナップショットはディスク容量の効率が非常に高いので、この処理は最小限のディスク容量しか消費しません。非アクティブなブート環境が作成された場合は、luupgrade コマンドまたは luactivate コマンドを使用して、新しい ZFS ブート環境をアップグレードまたはアクティブにすることができます。
(省略可能) ブート環境が完成したことを確認します。
lustatus コマンドは、ブート環境の作成が完了してブート可能であるかどうかを報告します。
# lustatus boot environment Is Active Active Can Copy Name Complete Now OnReboot Delete Status ------------------------------------------------------------------------ zfsBE yes yes yes no - new-zfsBE yes no no yes - |
(省略可能) システム上の基本データセット情報を確認します。
この例では、ZFS ルートプールの名前は rpool で、@ 記号はスナップショットを示します。新しいブート環境のマウントポイントは、luactivate コマンドが実行されるまでの一時的なものです。/dump ボリュームと /swap ボリュームは、ZFS ルートプールおよびルートプール内のブート環境と共有されます。
# zfs list NAME USED AVAIL REFER MOUNTPOINT rpool 9.29G 57.6G 20K /rpool rpool/ROOT 5.38G 57.6G 18K /rpool/ROOT rpool/ROOT/zfsBE 5.38G 57.6G 551M rpool/ROOT/zfsBE@new-zfsBE 66.5K - 551M - rpool/ROOT/new-zfsBE 85.5K 57.6G 551M /tmp/.alt.103197 rpool/dump 1.95G - 1.95G - rpool/swap 1.95G - 1.95G - |
これで、新しいブート環境をアップグレードおよびアクティブにできます。例 13–2 を参照してください。
新規 ZFS ブート環境 new-zfsBE を作成するためのコマンドは、次のとおりです。このブート環境は同一のルートプール内に作成されるため、-p オプションは不要です。
# lucreate [-c zfsBE] -n new-zfsBE Analyzing system configuration. Comparing source boot environment <zfsBE> file systems with the file system(s) you specified for the new boot environment. Determining which file systems should be in the new boot environment. Updating boot environment description database on all BEs. Creating configuration for boot environment new-zfsBE. Source boot environment is zfsBE. Creating boot environment new-zfsBE. Cloning file systems from boot environment zfsBE to create boot environment new-zfsBE. Creating snapshot for <rpool> on <rpool> Creating clone for <rpool>. Setting canmount=noauto for <rpool> in zone <global> on <rpool>. Population of boot environment zfsBE successful on <rpool>. # lustatus boot environment Is Active Active Can Copy Name Complete Now OnReboot Delete Status ------------------------------------------------------------------------ zfsBE yes yes yes no - new-zfsBE yes no no yes - # zfs list NAME USED AVAIL REFER MOUNTPOINT rpool 9.29G 57.6G 20K /rpool rpool/ROOT 5.38G 57.6G 18K /rpool/ROOT rpool/ROOT/zfsBE 5.38G 57.6G 551M rpool/ROOT/zfsBE@new-zfsBE 66.5K - 551M - rpool/ROOT/new-zfsBE 85.5K 57.6G 551M /tmp/.alt.103197 rpool/dump 1.95G - 1.95G - rpool/swap 1.95G - 1.95G - |
これで、新しいブート環境をアップグレードおよびアクティブにできます。ZFS ブート環境のアップグレードの例については、例 13–1 を参照してください。luupgrade コマンドのその他の使用例については、第 5 章Solaris Live Upgrade によるアップグレード (作業)を参照してください。
# luactivate new-zfsBE ********************************************************************** The target boot environment has been activated. It will be used when you reboot. NOTE: You MUST NOT USE the reboot, halt, or uadmin commands. You MUST USE either the init or the shutdown command when you reboot. If you do not use either init or shutdown, the system will not boot using the target BE. ********************************************************************** In case of a failure while booting to the target BE, the following process needs to be followed to fallback to the currently working boot environment: 1. Enter the PROM monitor (ok prompt). 2. Change the boot device back to the original boot environment by typing: setenv boot-device /pci@1f,0/pci@1/scsi@4,1/disk@2,0:a 3. Boot to the original boot environment by typing: boot ********************************************************************** Modifying boot archive service Activation of boot environment <new-zfsBE> successful. |
システムを ZFS ブート環境にリブートします。
# init 6 # svc.startd: The system is coming down. Please wait. svc.startd: 79 system services are now being stopped. . . . |
ここでは、既存の ZFS ルートプールがある場合に、新規のルートプール内に新規の ZFS ブート環境を作成する手順について説明します。非アクティブなブート環境の作成後、新しいブート環境を都合のよいときにアップグレードおよびアクティブにできます。新しいブート環境を配置する場所を指定する -p オプションは必須です。既存の ZFS ルートプールは、ブート可能かつアップグレード可能にするため単一のスライス上に配置してください。
Solaris Live Upgrade をはじめて実行する前に、インストールメディアに含まれている最新の Solaris Live Upgrade パッケージと、SunSolve Infodoc 206844 に記載されているパッチをインストールしてください。SunSolve の Web サイトで、infodoc 206844 (以前の 72099) を検索してください。
最新のパッケージとパッチにより、リリースに最新のバグ修正と新機能がすべて含まれるようになります。新しいブート環境の作成に進む前に、システムに関連するすべてのパッチを必ずインストールしてください。
以下では、SunSolve Infodoc 206844 の手順について説明します。
Solaris Live Upgrade を使って新規 ZFS ブート環境を作成するためには、少なくとも Solaris 10 10/08 リリースがインストールされている必要があります。それより前のリリースの ZFS および Solaris Live Upgrade ソフトウェアでは、この作業を実行することはできません。
スーパーユーザーになるか、同等の役割を引き受けます。
SunSolve の Web サイトにある infodoc 206844 の手順に従って、Solaris Live Upgrade パッケージを削除および追加します。
3 つの Solaris Live Upgrade パッケージ SUNWluu、SUNWlur、および SUNWlucfg は、Solaris Live Upgrade を使ってアップグレードするのに必要なソフトウェアを構成します。これらのパッケージには、既存のソフトウェア、新しい機能、およびバグ修正が含まれています。Solaris Live Upgrade を使用する前に、既存パッケージを削除しないで新しいパッケージをシステムにインストールすると、ターゲットリリースへのアップグレードは失敗します。SUMWlucfg パッケージは、Solaris 10 8/07 以降のリリースの新機能です。Solaris 10 8/07 より前のリリースから Solaris Live Upgrade パッケージを使用する場合は、このパッケージを削除する必要はありません。
SUMWlucfg パッケージは、Solaris 10 8/07 以降のリリースの新機能です。それより前のリリースから Solaris Live Upgrade パッケージを使用する場合は、このパッケージを削除する必要はありません。
# pkgrm SUNWlucfg SUNWluu SUNWlur |
新しい Solaris Live Upgrade パッケージをインストールします。詳細については、「Solaris Live Upgrade のインストール」を参照してください。
Solaris Live Upgrade を実行する前に、次のパッチをインストールする必要があります。これらのパッチにより、リリースに最新のバグ修正と新機能がすべて含まれるようになります。
SunSolve で最新のパッチリストを確認してください。SunSolve の Web サイトで、infodoc 206844 (以前の 72099) を検索してください。
パッチをローカルディスクに保存する場合は、/var/tmp/lupatches のようなディレクトリを作成し、パッチをそのディレクトリにダウンロードします。
SunSolve の Web サイトから、パッチリストを取得します。
この例のようにパッチディレクトリに移動します。
# cd /var/tmp/lupatches |
patchadd コマンドを使用してパッチをインストールします。
# patchadd path-to-patches patch_id patch_id |
path-to-patches は、/var/tmp/lupatches などのパッチディレクトリへのパスです。patch_id はパッチの番号です。複数のパッチ名を指定する場合は、スペースで区切ります。
パッチは、info doc 206844 で指定されている順序で適用してください。
必要に応じてシステムをリブートします。いくつかのパッチは、有効にするためにリブートする必要があります。
x86 のみ: システムをリブートする必要があります。そうしないと、Solaris Live Upgrade は失敗します。
# init 6 |
以上で正しく移行するために必要なパッケージとパッチがインストールされました。
ZFS ルートプールを作成します。
ZFS ルートプールは、ブート可能かつアップグレード可能にするため単一のスライス上に作成します。
# zpool create rpool2 c0t1d0s5 |
新しい ZFS ルートプールの名前です。
rpool2 を、ブート可能なスライス c0t1d0s5 に配置するように指定します。
新規ルートプールの作成の詳細については、『Solaris ZFS 管理ガイド』を参照してください。
新しいブート環境を作成します。
# lucreate [-c zfsBE] -n new-zfsBE -p rpool2 |
現在の ZFS ブート環境に zfsBE という名前を割り当てます。
作成するブート環境に名前を割り当てます。名前は、システム上で一意となるように指定する必要があります。
新しく作成した ZFS ルートのブート環境を rpool2 で定義した ZFS ルートプールに配置します。
新しい ZFS ブート環境の作成には、しばらく時間がかかることがあります。ファイルシステムのデータが新しい ZFS ルートプールにコピーされます。非アクティブなブート環境が作成された場合は、luupgrade コマンドまたは luactivate コマンドを使用して、新しい ZFS ブート環境をアップグレードまたはアクティブにすることができます。
(省略可能) ブート環境が完成したことを確認します。
lustatus コマンドは、ブート環境の作成が完了してブート可能であるかどうかを報告します。
# lustatus boot environment Is Active Active Can Copy Name Complete Now OnReboot Delete Status ------------------------------------------------------------------------ zfsBE yes yes yes no - new-zfsBE yes no no yes - |
(省略可能) システム上の基本データセット情報を確認します。
次の例では、システム上のすべてのデータセットの名前を表示しています。表示される新しいブート環境のマウントポイントは、luactivate コマンドが実行されるまでの一時的なものです。新しいブート環境は、ボリューム rpool2/dump および rpool2/swap を、rpool2 ZFS ブート環境と共有します。
# zfs list NAME USED AVAIL REFER MOUNTPOINT rpool2 9.29G 57.6G 20K /rpool2 rpool2/ROOT/ 5.38G 57.6G 18K /rpool2/ROOT rpool2/ROOT/new-zfsBE 5.38G 57.6G 551M /tmp/.new.luupdall.109859 rpool2/dump 3.99G - 3.99G - rpool2/swap 3.99G - 3.99G - rpool 9.29G 57.6G 20K /.new.lulib.rs.109262 rpool/ROOT 5.46G 57.6G 18K legacy rpool/ROOT/zfsBE 5.46G 57.6G 551M rpool/dump 3.99G - 3.99G - rpool/swap 3.99G - 3.99G - |
これで、新しいブート環境をアップグレードおよびアクティブにできます。例 13–3 を参照してください。
この例では、新しい ZFS ルートプール rpool が、別のスライス c0t2s0s5 上に作成されます。lucreate コマンドで、新規 ZFS ブート環境 new-zfsBE を作成します。このブート環境は異なるルートプール内に作成されるため、-p オプションは必須です。
# zpool create rpool C0t1d0s5 # zfs list NAME USED AVAIL REFER MOUNTPOINT rpool2 9.29G 57.6G 20K /rpool2 rpool 9.29G 57.6G 20K /.new.lulib.rs.109262 rpool/ROOT 5.46G 57.6G 18K legacy rpool/ROOT/zfsBE 5.46G 57.6G 551M rpool/dump 3.99G - 3.99G - rpool/swap 3.99G - 3.99G - # lucreate -c rpool -n new-zfsBE -p rpool2 Analyzing system configuration. Current boot environment is named <rpool>. Creating initial configuration for primary boot environment <rpool>. The device </dev/dsk/c0t0d0> is not a root device for any boot environment; cannot get BE ID. PBE configuration successful: PBE name <rpool> PBE Boot Device </dev/dsk/rpool>. Comparing source boot environment <rpool> file systems with the file system(s) you specified for the new boot environment. Determining which file systems should be in the new boot environment. Updating boot environment description database on all BEs. Updating system configuration files. The device </dev/dsk/c1t0d0s0> is not a root device for any boot environment; cannot get BE ID. Creating configuration for boot environment <new-zfsBE>. Source boot environment is <rpool>. Creating boot environment <new-zfsBE>. Creating file systems on boot environment <new-zfsBE>. Creating <zfs> file system for </> in zone <global> on <rpool2/ROOT/new-zfsBE>. Populating file systems on boot environment <new-zfsBE>. Checking selection integrity. Integrity check OK. Populating contents of mount point </>. Copying. Creating shared file system mount points. Creating compare databases for boot environment <zfsBE>. Creating compare database for file system </>. Making boot environment <new-zfsBE> bootable. Creating boot_archive for /.alt.tmp.b-cBc.mnt updating /.alt.tmp.b-cBc.mnt/platform/sun4u/boot_archive Population of boot environment <new-zfsBE> successful. Creation of boot environment <new-zfsBE> successful. # lustatus boot environment Is Active Active Can Copy Name Complete Now OnReboot Delete Status ------------------------------------------------------------------------ zfsBE yes yes yes no - new-zfsBE yes no no yes - # zfs list NAME USED AVAIL REFER MOUNTPOINT rpool2 9.29G 57.6G 20K /rpool2 rpool2/ROOT/ 5.38G 57.6G 18K /rpool2/ROOT rpool2/ROOT/new-zfsBE 5.38G 57.6G 551M /tmp/.new.luupdall.109859 rpool2/dump 3.99G - 3.99G - rpool2/swap 3.99G - 3.99G - rpool 9.29G 57.6G 20K /.new.lulib.rs.109262 rpool/ROOT 5.46G 57.6G 18K legacy rpool/ROOT/zfsBE 5.46G 57.6G 551M rpool/dump 3.99G - 3.99G - rpool/swap 3.99G - 3.99G - |
ここでは、現在アクティブなブート環境として使用されていない既存の ZFS ルートプールまたは UFS ブート環境がある場合に、新しい ZFS ブート環境をこのブート環境から作成する手順について説明します。新しい ZFS ブート環境の作成後、この新しいブート環境を都合のよいときにアップグレードおよびアクティブにできます。
現在稼動中のシステム以外のソースからブート環境を作成する場合は、lucreate コマンドに -s オプションを指定して実行します。-s オプションは、UFS ファイルシステムの場合と同じように機能します。-s オプションには、代替ルート (/) ファイルシステムのパスを指定します。この代替ルート (/) ファイルシステムが、新しい ZFS ルートプールを作成するためのソースとなります。代替ルートは、UFS (/) ルートファイルシステム、ZFS ルートプールのどちらでもかまいません。コピー処理には、システムによって時間がかかる場合があります。
次の例では、別の ZFS ルートプール上にブート環境を作成する場合の、-s オプションの使用方法を示します。
次のコマンドで、既存の ZFS ルートプールから新規 ZFS ルートプールを作成します。-n オプションで、作成するブート環境に new-zfsBE という名前を割り当てます。-s オプションには、現在稼動中のブート環境の代わりにコピー元として使用する、ブート環境 rpool3 を指定します。-p オプションでは、新しいブート環境を rpool2 に配置することを指定します。
# lucreate -n new-zfsBE -s rpool3 -p rpool2 # lustatus boot environment Is Active Active Can Copy Name Complete Now OnReboot Delete Status ------------------------------------------------------------------------ zfsBE yes yes yes no - zfsBE2 yes no no yes - zfsBE3 yes no no yes - new-zfsBE yes no no yes - # zfs list NAME USED AVAIL REFER MOUNTPOINT rpool2 9.29G 57.6G 20K /rpool2 rpool2/ROOT/ 5.38G 57.6G 18K /rpool2/ROOT rpool2/ROOT/new-zfsBE 5.38G 57.6G 551M /tmp/.new.luupdall.109859 rpool2/dump 3.99G - 3.99G - rpool2/swap 3.99G - 3.99G - rpool3 9.29G 57.6G 20K /rpool2 rpool3/ROOT/ 5.38G 57.6G 18K /rpool2/ROOT rpool3/ROOT/zfsBE3 5.38G 57.6G 551M /tmp/.new.luupdall.109859 rpool3/dump 3.99G - 3.99G - rpool3/swap 3.99G - 3.99G - prool 9.29G 57.6G 20K /.new.lulib.rs.109262 rpool/ROOT 5.46G 57.6G 18K legacy rpool/ROOT/zfsBE 5.46G 57.6G 551M rpool/dump 3.99G - 3.99G - rpool/swap 3.99G - 3.99G - |
これで、新しいブート環境をアップグレードおよびアクティブにできます。
アップグレード後にエラーが検出された場合、またはアップグレードしたコンポーネントとアプリケーションの間に互換性がない場合には、luactivate コマンドを使って元のブート環境に戻すことができます。
UFS ブート環境から ZFS ルートプールに移行した場合に、UFS ブート環境に戻すには、ZFS ブート環境に作成されたすべての ZFS ストレージプールをもう一度インポートしてください。これらの ZFS ストレージプールは、UFS ブート環境で自動的に使用可能にはなりません。元の UFS ブート環境に切り替えると、次の例のようなメッセージが表示されます。
# luactivate c0t0d0 WARNING: The following files have changed on both the current boot environment <new-ZFSbe> zone <global> and the boot environment to be activated <c0t0d0>: /etc/zfs/zpool.cache INFORMATION: The files listed above are in conflict between the current boot environment <ZFSbe> zone <global> and the boot environment to be activated <c0t0d0>. These files will not be automatically synchronized from the current boot environment <new-ZFSbe> when boot environment <c0t0d0> |
元のブート環境に戻す例については、第 6 章障害回復: 元のブート環境へのフォールバック (作業)を参照してください。
この章のトピックに関する追加情報については、表 13–1 のリソースを参照してください。
表 13–1 追加情報
リソース |
場所 |
---|---|
概要、計画、詳細な手順を含む ZFS の情報 | |
UFS ファイルシステムがインストールされているシステムでの Solaris Live Upgrade の使用 |
この章では、UFS (/) ルートファイルシステムの ZFS ルートプールへの移行に関する概要と詳細な手順について説明します。
Solaris Live Upgrade を使った、UFS ルート (/) ファイルシステムから ZFS ルートプールへの移行や ZFS ブート環境の作成は、Solaris 10 10/08 リリースの新機能です。UFS ファイルシステムでの Solaris Live Upgrade の実行に関しては、コマンド行パラメータにも Solaris Live Upgrade の操作にも変更はありません。UFS ファイルシステムがインストールされているシステムで Solaris Live Upgrade を実行する場合は、本書のパート I「Solaris Live Upgrade によるアップグレード」を参照してください。
Solaris Live Upgrade を使用して、非大域ゾーンがインストールされている UFS ルート (/) ファイルシステムを ZFS ルートプール上に移行できます。ファイルシステムに関連するすべての非大域ゾーンも、新しいブート環境にコピーされます。次の非大域ゾーンの移行シナリオがサポートされています。
移行前のルートファイルシステムとゾーンの組み合わせ |
移行後のルートファイルシステムとゾーンの組み合わせ |
---|---|
UFS ファイルシステム内で非大域ゾーンのルートディレクトリを持つ UFS ルートファイルシステム |
ZFS ルートプール内で非大域ゾーンのルートディレクトリを持つ UFS ルートファイルシステム |
|
ZFS ルートプール内で非大域ゾーンのルートディレクトリを持つ ZFS ルートプール |
UFS ファイルシステム内で非大域ゾーンのルートディレクトリを持つ ZFS ルートプール |
|
ZFS ルートプール内で非大域ゾーンのルートを持つ UFS ルートファイルシステム |
ZFS ルートプール内で非大域ゾーンのルートを持つ ZFS ルートプール |
ZFS ルートプール内で非大域ゾーンのルートを持つ UFS ルートファイルシステム |
|
ZFS ルートプール内で非大域ゾーンのルートディレクトリを持つ ZFS ルートプール |
ZFS ルートプール内で非大域ゾーンのルートディレクトリを持つ ZFS ルートプール |
UFS ルート (/) ファイルシステムおよび非大域ゾーンがインストールされているシステムでは、非大域ゾーンの移行は、そのゾーンが非共有ファイルシステム内にある場合に UFS から ZFS への移行の一部として行われます。同一 ZFS プール内でアップグレードを行うと、ゾーンは複製されます。非大域ゾーンが共有 UFS ファイルシステムに存在する場合、別の ZFS ルートプールに移行するには、以前の Solaris リリースの場合と同様に、まず非大域ゾーンをアップグレードします。
ZFS ルートプールへの移行の計画の詳細については、「Solaris Live Upgrade 使用時のシステム要件と制限事項」を参照してください。
ZFS および非大域ゾーンのその他の制限事項については、『Solaris ZFS 管理ガイド』の「ゾーンがインストールされている Solaris システムで ZFS を使用する」を参照してください。
この章では、非大域ゾーンがインストールされているシステムで UFS ルート (/) ファイルシステムから ZFS ルートプールに移行するための、詳細な手順について説明します。非大域ゾーンは、UFS ファイルシステムの共有ファイルシステム上にあります。
lucreate コマンドは、UFS ルート (/) ファイルシステムから ZFS ルートプールのブート環境を作成します。ZFS ルートプールは lucreate を使用する前に作成します。また、アップグレード可能かつブート可能にするために、ディスク全体ではなくスライス上に作成します。次に示す手順では、UFS ルート (/) ファイルシステムに関連する既存の非大域ゾーンが、ZFS ルートプール内の新しいブート環境にコピーされます。
次の例では、既存の非大域ゾーン myzone の非大域ゾーンルートが、UFS ルート (/) ファイルシステムにあります。ゾーン zzone のゾーンルートは、既存の ZFS ストレージプール pool 内の ZFS ファイルシステムにあります。Solaris Live Upgrade は、UFS ブート環境 c2t2d0s0 を ZFS ブート環境 zfs2BE に移行するために使用します。UFS ベースの myzone ゾーンが、Solaris Live Upgrade の操作前に作成された新しい ZFS ストレージプール mpool に移行されます。ZFS ベースの非大域ゾーン zzone はクローンが ZFS プール pool 内に保持され、新しい zfs2BE ブート環境に移行されます。
初めて Solaris Live Upgrade を実行するときには、次の手順を実行します。
Solaris Live Upgrade を使って新規 ZFS ブート環境を作成するためには、少なくとも Solaris 10 10/08 リリースがインストールされている必要があります。それより前のリリースの ZFS および Solaris Live Upgrade ソフトウェアでは、この作業を実行することはできません。
必要に応じて、システム上の既存の Solaris Live Upgrade パッケージを削除します。新しいリリースにアップグレードする場合は、そのリリースのパッケージをインストールしてください。
3 つの Solaris Live Upgrade パッケージ SUNWluu、SUNWlur、および SUNWlucfg は、Solaris Live Upgrade を使ってアップグレードするのに必要なソフトウェアを構成します。これらのパッケージには、既存のソフトウェア、新しい機能、およびバグ修正が含まれています。Solaris Live Upgrade を使用する前に、既存パッケージを削除しないで新しいパッケージをシステムにインストールすると、ターゲットリリースへのアップグレードは失敗します。
# pkgrm SUNWlucfg SUNWluu SUNWlur |
アップグレードのターゲットリリースから、新しい Solaris Live Upgrade パッケージをインストールします。詳細については、「Solaris Live Upgrade のインストール」を参照してください。
Solaris Live Upgrade をインストールまたは実行する前に、次のパッチをインストールします。これらのパッチにより、リリースに最新のバグ修正と新機能がすべて含まれるようになります。
SunSolve で最新のパッチリストを確認してください。SunSolve の Web サイトで、infodoc 206844 (以前の 72099) を検索してください。
スーパーユーザーになるか、同等の役割を引き受けます。
パッチをローカルディスクに保存する場合は、/var/tmp/lupatches のようなディレクトリを作成し、パッチをそのディレクトリにダウンロードします。
SunSolve の Web サイトから、パッチリストを取得します。
パッチのディレクトリに移動します。
# cd /var/tmp/lupatches |
patchadd コマンドを使用してパッチをインストールします。
# patchadd patch_id |
patch_id はパッチの番号です。複数のパッチ名を指定する場合は、スペースで区切ります。
パッチは、info doc 206844 で指定されている順序で適用してください。
必要に応じてシステムをリブートします。いくつかのパッチは、有効にするためにリブートする必要があります。
x86 のみ: システムをリブートする必要があります。そうしないと、Solaris Live Upgrade は失敗します。
# init 6 |
ZFS ルートプールを作成します。
ZFS ルートプールは、ブート可能かつアップグレード可能にするため単一のスライス上に作成します。
# zpool create rpool c3t0d0s0 |
この例で作成する新しい ZFS の名前は rpool です。このプールが、ブート可能なスライス c3t0d0s0 に作成されます。
新規ルートプールの作成の詳細については、『Solaris ZFS 管理ガイド』を参照してください。
UFS ルート (/) ファイルシステムを新しい ZFS ルートプールに移行します。
# lucreate [-c ufsBE] -n new-zfsBE -p rpool |
現在の UFS ブート環境に ufsBE という名前を割り当てます。このオプションは必須ではなく、また、最初のブート環境の作成時にのみ使用します。lucreate コマンドを初めて実行する場合に -c オプションを省略すると、デフォルトの名前が自動的に作成されます。
作成するブート環境に new-zfsBE という名前を割り当てます。名前は、システム上で一意となるように指定する必要があります。
新しく作成した ZFS ルート (/) ファイルシステムを、rpool で定義した ZFS ルートプールに配置します。
すべての非共有非大域ゾーンは、クリティカルファイルシステムと共に、新しいブート環境にコピーされます。新しい ZFS ブート環境の作成には、しばらく時間がかかることがあります。UFS ファイルシステムのデータが ZFS ルートプールにコピーされます。非アクティブなブート環境が作成された場合は、luupgrade コマンドまたは luactivate コマンドを使用して、新しい ZFS ブート環境をアップグレードまたはアクティブにすることができます。
(省略可能) ブート環境が完成したことを確認します。
lustatus コマンドは、ブート環境の作成が完了してブート可能であるかどうかを報告します。
# lustatus boot environment Is Active Active Can Copy Name Complete Now OnReboot Delete Status ------------------------------------------------------------------------ ufsBE yes yes yes no - new-zfsBE yes no no yes - |
(省略可能) システム上の基本データセット情報を確認します。
list コマンドで、システム上のすべてのデータセットの名前を表示できます。この例では、rpool が ZFS プールの名前、new-zfsBE が新しく作成した ZFS ブート環境の名前です。
# zfs list NAME USED AVAIL REFER MOUNTPOINT rpool 9.29G 57.6G 20K /rpool rpool/ROOT 5.38G 57.6G 18K /rpool/ROOT rpool/ROOT/new-zfsBE 5.38G 57.6G 551M /tmp/.alt.luupdall.110034 rpool/dump 1.95G - 1.95G - rpool/swap 1.95G - 1.95G - |
表示される新しいブート環境のマウントポイントは、luactivate コマンドが実行されるまでの一時的なものです。/dump ボリュームと /swap ボリュームは、元の UFS ブート環境と共有されませんが、ZFS ルートプール内およびルートプール内のブート環境内で共有されます。
次の例では、既存の非大域ゾーン myzone の非大域ゾーンルートが、UFS ルート (/) ファイルシステムにあります。ゾーン zzone のゾーンルートは、既存の ZFS ストレージプール pool 内の ZFS ファイルシステムにあります。Solaris Live Upgrade は、UFS ブート環境 c2t2d0s0 を ZFS ブート環境 zfs2BE に移行するために使用します。UFS ベースの myzone ゾーンが、Solaris Live Upgrade の操作前に作成された新しい ZFS ストレージプール mpool に移行されます。ZFS ベースの非大域ゾーン zzone はクローンが ZFS プール pool 内に保持され、新しい zfs2BE ブート環境に移行されます。
# zoneadm list -iv ID NAME STATUS PATH BRAND IP 0 global running / native shared - myzone installed /zones/myzone native shared - zzone installed /pool/zones native shared # zpool create mpool mirror c3t0d0s0 c4td0s0 # lucreate -c c1t2d0s0 -n zfs2BE -p mpool Analyzing system configuration. No name for current boot environment. Current boot environment is named <c1t2d0s0>. Creating initial configuration for primary boot environment <c1t2d0s0>. The device </dev/dsk/c1t2d0s0> is not a root device for any boot environment; cannot get BE ID. PBE configuration successful: PBE name <c1t2d0s0> PBE Boot Device </dev/dsk/c1t2d0s0>. Comparing source boot environment <c1t2d0s0> file systems with the file system(s) you specified for the new boot environment. Determining which file systems should be in the new boot environment. Updating boot environment description database on all BEs. Updating system configuration files. The device </dev/dsk/c1t0d0s0> is not a root device for any boot environment; cannot get BE ID. Creating configuration for boot environment <zfsBE>. Source boot environment is <c1t2d0s0>. Creating boot environment <zfsBE>. Creating file systems on boot environment <zfsBE>. Creating <zfs> file system for </> in zone <global> on <rpool/ROOT/zfsBE>. Populating file systems on boot environment <zfsBE>. Checking selection integrity. Integrity check OK. Populating contents of mount point </>. Copying. Creating shared file system mount points. Creating compare databases for boot environment <zfsBE>. Creating compare database for file system </>. Making boot environment <zfsBE> bootable. Creating boot_archive for /.alt.tmp.b-cBc.mnt updating /.alt.tmp.b-cBc.mnt/platform/sun4u/boot_archive Population of boot environment <zfsBE> successful. Creation of boot environment <zfsBE> successful. |
lucreate の操作が完了したら、この例で示すように lustatus コマンドを使ってブート環境の状態を表示します。
# lustatus Boot Environment Is Active Active Can Copy Name Complete Now On Reboot Delete Status -------------------------- -------- ------ --------- ------ ---------- c1t2d0s0 yes yes yes no - zfsBE yes no no yes - |
# zoneadm list -iv ID NAME STATUS PATH BRAND IP 0 global running / native shared - myzone installed /zones/myzone native shared - zzone installed /pool/zones native shared |
次に、luactivate コマンドで新しい ZFS ブート環境をアクティブにします。次に例を示します。
# luactivate zfsBE ********************************************************************** The target boot environment has been activated. It will be used when you reboot. NOTE: You MUST NOT USE the reboot, halt, or uadmin commands. You MUST USE either the init or the shutdown command when you reboot. If you do not use either init or shutdown, the system will not boot using the target BE. ********************************************************************** In case of a failure while booting to the target BE, the following process needs to be followed to fallback to the currently working boot environment: 1. Enter the PROM monitor (ok prompt). 2. Change the boot device back to the original boot environment by typing: setenv boot-device /pci@1f,0/pci@1/scsi@4,1/disk@2,0:a 3. Boot to the original boot environment by typing: boot ********************************************************************** Modifying boot archive service Activation of boot environment <ZFSbe> successful. |
システムをリブートして ZFS ブート環境にします。
# init 6 # svc.startd: The system is coming down. Please wait. svc.startd: 79 system services are now being stopped. . . . |
この例のように、新しいブート環境および移行されたゾーンの状態を確認します。
# lustatus Boot Environment Is Active Active Can Copy Name Complete Now On Reboot Delete Status -------------------------- -------- ------ --------- ------ ---------- c1t2d0s0 yes yes yes no - zfsBE yes no no yes - |
UFS ブート環境に戻す場合は、ZFS ブート環境で作成したすべての ZFS ストレージプールをもう一度インポートしてください。これらは、UFS ブート環境で自動的に使用可能にはならないからです。元の UFS ブート環境に切り替えると、次のようなメッセージが表示されます。
# luactivate c1t2d0s0 WARNING: The following files have changed on both the current boot environment <ZFSbe> zone <global> and the boot environment to be activated <c1t2d0s0>: /etc/zfs/zpool.cache INFORMATION: The files listed above are in conflict between the current boot environment <ZFSbe> zone <global> and the boot environment to be activated <c1t2d0s0>. These files will not be automatically synchronized from the current boot environment <ZFSbe> when boot environment <c1t2d0s0> |
この章のトピックに関する追加情報については、表 14–1 のリソースを参照してください。
表 14–1 追加情報
リソース |
場所 |
---|---|
非大域ゾーンの概要、計画、および詳細な手順についての情報 | |
概要、計画、詳細な手順を含む ZFS の情報 | |
UFS ファイルシステムがインストールされているシステムでの Solaris Live Upgrade の使用 |
本書のパート I「Solaris Live Upgrade によるアップグレード」の第 8 章非大域ゾーンがインストールされているシステムにおける Solaris OS のアップグレード |