内に含まその他のドキュメントサポート リソース | PDF 文書ファイルをダウンロードする (2012 KB)
第 5 章 ZFS ルートファイルシステムのインストールと起動この章では、ZFS ファイルシステムのインストールと起動の方法について説明します。Solaris Live Upgrade を使用して UFS ルートファイルシステムを ZFS ファイルシステムに移行する方法についても説明します。 この章は、次の節で構成されます。 このリリースで認識されている問題のリストについては、『Solaris 10 10/09 ご使用にあたって』を参照してください。 トラブルシューティングに関する最新情報については、次のサイトを参照してください。 http://www.solarisinternals.com/wiki/index.php/ZFS_Troubleshooting_Guide ZFS ルートファイルシステムのインストールと起動 (概要)Solaris 10 10/08 以降のリリースでは、次の方法で ZFS ルートファイルシステムからインストールと起動を行うことができます。
SPARC システムまたは x86 システムを ZFS ルートファイルシステムでインストールするか、ZFS ルートファイルシステムに移行したあとは、システムは自動的に ZFS ルートファイルシステムから起動します。起動の変更に関する詳細は、「ZFS ルートファイルシステムからの起動」を参照してください。 ZFS インストール機能この Solaris リリースでは、次の ZFS インストール機能が用意されています。
このリリースでは、次のインストール機能は用意されていません。
ZFS をサポートするための Solaris インストールと Solaris Live Upgrade の要件システムを ZFS ルートファイルシステムでインストールする場合や、UFS ルートファイルシステムを ZFS ルートファイルシステムに移行する場合は、次の要件が満たされていることを事前に確認してください。 Solaris リリースの要件ZFS ルートファイルシステムのインストールと起動または ZFS ルートファイルシステムへの移行は、次の方法で行うことができます。
一般的な ZFS ストレージプール要件ZFS ルートプールの容量および構成の要件について説明している以降の節を確認してください。 ZFS ストレージプールの容量要件ZFS ルート環境にはスワップデバイスおよびダンプデバイスとして別個のデバイスが必要なので、ZFS ルートファイルシステムに最小限必要なプール容量は、UFS ルートファイルシステムの場合よりも大きくなります。UFS ルートファイルシステムの場合、デフォルトではスワップデバイスとダンプデバイスは同一のデバイスです。 システムを ZFS ルートファイルシステムでインストールまたはアップグレードする場合、スワップ領域とダンプデバイスのサイズは、物理メモリーの容量によって決まります。ブート可能な ZFS ルートファイルシステムに最小限必要なプール容量は、物理メモリーの容量、利用可能なディスク容量、および作成するブート環境 (BE) の数によって決まります。 次の ZFS ストレージプール容量要件を確認してください。
ZFS ストレージプールの構成要件次の ZFS ストレージプール構成要件を確認してください。
ZFS ルートファイルシステムのインストール (初期インストール)この Solaris リリースでは、Solaris 対話式テキストインストーラを使用して初期インストールを実行し、ブート可能な ZFS ルートファイルシステムを含む ZFS ストレージプールを作成できます。既存の ZFS ストレージプールを ZFS ルートファイルシステムとして使用するには、Solaris Live Upgrade を使用して、既存の ZFS ストレージプール内で既存の UFS ルートファイルシステムを ZFS ファイルシステムに移行する必要があります。詳細は、「UFS ルートファイルシステムから ZFS ルートファイルシステムへの移行 (Solaris Live Upgrade)」を参照してください。 ZFS ルートファイルシステムの初期インストールのあとでゾーンを構成し、システムにパッチやアップグレードを適用することを計画している場合は、「ゾーンが含まれているシステムを Solaris Live Upgrade で移行またはアップグレードする (Solaris 10 10/08)」または「ゾーンが含まれているシステムを Solaris Live Upgrade で移行またはアップグレードする (Solaris 10 5/09 および Solaris 10 10/09)」を参照してください。 システム上に ZFS ストレージプールがすでに存在する場合、それらは次のメッセージで認識されますが、既存のプールのディスクを選択して新しいストレージプールを作成する場合以外は変更されません。
既存のプールのディスクのいずれかを新しいプール用に選択すると、既存のプールは破棄されます。 初期インストールを実行して ZFS ストレージプールを作成する前に、「ZFS をサポートするための Solaris インストールと Solaris Live Upgrade の要件」を参照してください。 例 5–1 ブート可能な ZFS ルートファイルシステムの初期インストールSolaris 対話式テキストインストーラによるインストール処理は、基本的に以前の Solaris リリースと同じですが、UFS または ZFS ルートファイルシステムの作成を求めるプロンプトが表示される点が異なります。このリリースでも、デフォルトのファイルシステムは UFS です。ZFS ルートファイルシステムを選択すると、ZFS ストレージプールの作成を求めるプロンプトが表示されます。ZFS ルートファイルシステムのインストール手順は次のとおりです。
インストールが完了したら、作成された ZFS ストレージプールおよびファイルシステムの情報を確認します。次に例を示します。
このサンプルの zfs list の出力では、rpool/ROOT ディレクトリなどルートプールのコンポーネントが識別されています。デフォルトでは、これらにはアクセスできません。 最初に 1 つのディスクで ZFS ストレージプールを作成した場合は、インストール完了後に zpool attach コマンドを使用して利用可能なディスクを接続することにより、ZFS ミラー化構成に変換できます。次に例を示します。
新しいディスクにデータを再同期化するために時間がかかりますが、プールは引き続き使用可能です。 CR 6668666 が解決されるまでは、ミラー内のほかのディスクで起動できるようにするには、追加で接続したディスクにブート情報を installboot コマンドまたは installgrub コマンドでインストールする必要があります。ミラー化された ZFS ルートプールを初期インストールで作成した場合は、この手順は不要です。ブート情報のインストールの詳細については、「ミラー化された ZFS ルートプールの代替ディスクから起動する」を参照してください。 ディスクの追加または接続の詳細については、「ZFS ストレージプール内のデバイスを管理する」を参照してください。 同じストレージプール内に別の ZFS ブート環境 (BE) を作成するには、lucreate コマンドを使用できます。次の例では、zfs10092BE という名前の新しい BE が作成されます。現在の BE は zfs509BE という名前で、zfs list の出力に表示されていますが、新しい BE が作成されるまで lustatus の出力では認識されません。
同じプール内に新しい ZFS BE を作成する場合は、次のような構文を使用します。
同じプール内での ZFS BE の作成には ZFS のクローンとスナップショットの機能が使用されるため、BE は即時に作成されます。Solaris Live Upgrade を使用した ZFS ルートへの移行の詳細については、「UFS ルートファイルシステムから ZFS ルートファイルシステムへの移行 (Solaris Live Upgrade)」を参照してください。 次に、新しいブート環境を確認します。次に例を示します。
代替 BE からブートするには、luactivate コマンドを使用します。SPARC システムで BE をアクティブにしたあと、起動デバイスに ZFS ストレージプールが含まれている場合は、利用可能な BE を -boot L コマンドで識別します。x86 システムから起動する場合は、起動する BE を GRUB メニューで識別します。 たとえば、SPARC システムでは、boot -L コマンドを使用して利用可能な BE のリストを表示します。新しい BE zfs5092BE から起動するには、オプション 2 を選択します。次に、表示された boot -Z コマンドを入力します。
ZFS ファイルシステムの起動に関する詳細は、「ZFS ルートファイルシステムからの起動」を参照してください。 ZFS ルートファイルシステムをインストールする (フラッシュアーカイブインストール)Solaris 10 10/09 リリースでは、フラッシュアーカイブは、UFS ルートファイルシステムまたは ZFS ルートファイルシステムを実行しているシステムで作成できます。ZFS ルートプールのフラッシュアーカイブには、スワップボリュームとダンプボリュームおよび任意の除外されたデータセットを除く、プール階層全体が含まれます。スワップボリュームとダンプボリュームは、フラッシュアーカイブのインストール時に作成されます。フラッシュアーカイブによるインストール方法は次のとおりです。
ZFS フラッシュアーカイブを使用してシステムをインストールする前に、次の制限事項を確認してください。
マスターシステムに Solaris 10 10/09 リリースを新規インストールした後、または、マスターシステムを Solaris 10 10/09 リリースにアップグレードした後に、ターゲットシステムのインストールに使用する ZFS フラッシュアーカイブを作成することができます。基本的な操作を次に示します。
フラッシュアーカイブによる ZFS ルートプールのインストールでサポートされているアーカイブオプションは、次のとおりです。
ZFS フラッシュアーカイブがインストールされると、システムが次のように構成されます。
例 5–2 ZFS フラッシュアーカイブを使用してシステムをインストールするマスターシステムに Solaris 10 10/09 リリースを新規インストールした後、またはマスターシステムを Solaris 10 10/09 リリースにアップグレードした後に、ZFS ルートプールのフラッシュアーカイブを作成します。次に例を示します。
インストールサーバーとして使用されるシステム上で、任意のシステムをインストールするための JumpStart プロファイルを作成します。例えば、zfs10u8flar アーカイブをインストールする場合は、次のようなプロファイルを使用します。
ZFS ルートファイルシステムのインストール (JumpStart インストール)JumpStart プロファイルを作成して、ZFS ルートファイルシステムまたは UFS ルートファイルシステムをインストールできます。UFS ルートファイルシステムをインストールするためのプロファイルを設定した場合は、既存のすべてのプロファイルキーワードが以前の Solaris リリースと同様に機能します。 ZFS 固有のプロファイルには、新しいキーワード pool を含める必要があります。pool キーワードを使用すると、新しいルートプールがインストールされ、新しいブート環境がデフォルトで作成されます。bootenv キーワードと installbe キーワード、および bename オプションと dataset オプションを使用して、ブート環境の名前を指定したり、別の /var データセットを作成したりできます。 JumpStart 機能の使用に関する一般的な情報については、『Solaris 10 インストールガイド (カスタム JumpStart/ 上級編)』を参照してください。 ZFS ルートファイルシステムの JumpStart インストールのあとでゾーンを構成し、システムにパッチやアップグレードを適用することを計画している場合は、「ゾーンが含まれているシステムを Solaris Live Upgrade で移行またはアップグレードする (Solaris 10 10/08)」を参照してください。 ZFS JumpStart プロファイルの例この節では、ZFS 固有の JumpStart プロファイルの例を紹介します。 次のプロファイルは、install_type initial_install で指定された初期インストールを、pool newpool で指定された新しいプールで実行します。auto キーワードにより、この新しいプールのサイズは自動的に、指定されたディスクのサイズになります。auto キーワードにより、スワップ領域とダンプデバイスのサイズは自動的に決められます。また、mirror キーワードにより、c0t0d0s0 と c0t1d0s0 で指定されたディスクのミラー化構成になります。ブート環境の特性は bootenv キーワードで設定されます。ここでは、キーワード installbe により新しい BE がインストールされ、s10up-xx という bename が作成されます。
次のプロファイルは、キーワード install_type initial_install で指定された初期インストールを、SUNWCall メタクラスタを対象として、newpool という新しいプールで実行します。このプールのサイズは 80G バイトです。このプールは、2G バイトのスワップボリュームと 2G バイトのダンプボリュームを含んで作成されます。また、80G バイトのプールを作成するのに十分なサイズの、利用可能な任意の 2 つのデバイスによるミラー化構成になります。そのような 2 つのデバイスを利用できない場合、インストールは失敗します。ブート環境の特性は bootenv キーワードで設定されます。ここでは、キーワード installbe により新しい BE がインストールされ、s10up-xx という bename が作成されます。
JumpStart インストールの構文では、ZFS ルートプールも含まれているディスク上に、UFS ファイルシステムを維持することや作成することができます。この構成は本稼働システムにはお勧めできませんが、ノートパソコンなどの小規模なシステムで移行を行う必要がある場合に使用できます。 ZFS JumpStart のキーワードZFS 固有のプロファイルでは、次のキーワードを使用できます。
ZFS の JumpStart に関する問題ブート可能な ZFS ルートファイルシステムの JumpStart インストールを開始する前に、次の問題を考慮してください。
UFS ルートファイルシステムから ZFS ルートファイルシステムへの移行 (Solaris Live Upgrade)以前の Solaris Live Upgrade 機能は引き続き使用可能で、UFS コンポーネントに関しては以前の Solaris リリースと同様に動作します。 次の機能が使用可能です。
Solaris インストールおよび Solaris Live Upgrade の機能の詳細については、『Solaris 10 インストールガイド (Solaris Live Upgrade とアップグレードの計画)』を参照してください。 UFS ルートファイルシステムを ZFS ルートファイルシステムに移行するための基本的な手順は次のとおりです。
ZFS および Solaris Live Upgrade の要件については、「ZFS をサポートするための Solaris インストールと Solaris Live Upgrade の要件」を参照してください。 ZFS の Solaris Live Upgrade 移行に関する問題Solaris Live Upgrade を使用して UFS ルートファイルシステムを ZFS ルートファイルシステムに移行する前に、次に示す問題のリストを確認してください。
Solaris Live Upgrade を使用して ZFS ルートファイルシステムに移行する (ゾーンなし)次の例では、UFS ルートファイルシステムを ZFS ルートファイルシステムに移行する方法を示します。 ゾーンが含まれているシステムを移行またはアップグレードする場合は、次の各節を参照してください。
例 5–3 Solaris Live Upgrade を使用して、UFS ルートファイルシステムを ZFS ルートファイルシステムに移行する次の例では、ZFS ルートファイルシステムの BE を UFS ルートファイルシステムから作成する方法を示します。現在の BE ufs509BE は -c オプションで指定されています。この BE には UFS ルートファイルシステムが含まれています。-c オプション (省略可能) を指定しない場合、デフォルトではデバイス名が現在の BE の名前になります。新しい BE zfs1009BE は -n オプションで識別されています。lucreate 操作の前に ZFS ストレージプールが存在している必要があります。 ZFS ストレージプールは、ディスク全体ではなくスライスを使用して、アップグレード可能およびブート可能なストレージプールとして作成する必要があります。新しいプールを作成する前に、プールで使用するディスクに、EFI ラベルではなく SMI (VTOC) ラベルが付いていることを確認してください。ディスクに SMI ラベルを付け直した場合は、ラベル付け処理によってパーティション分割方式が変更されていないことを確認してください。ほとんどの場合、ルートプールに使用するスライスにディスク容量の大部分を割り当てるようにしてください。
lucreate 操作が完了したら、lustatus コマンドを使用して BE の状態を表示します。次に例を示します。
その後、ZFS コンポーネントのリストを確認します。次に例を示します。
次に、luactivate コマンドを使用して、新しい ZFS BE をアクティブにします。次に例を示します。
次に、システムを再起動して ZFS BE に切り替えます。
ZFS BE がアクティブになっていることを確認します。
UFS BE に切り替えなおす場合は、ZFS BE が起動されていた間に作成された ZFS ストレージプールをすべて再インポートする必要があります。これらは UFS BE で自動的には使用可能になりません。 UFS BE が必要でなくなった場合は、ludelete コマンドで削除できます。 例 5–4 Solaris Live Upgrade を使用して ZFS BE を ZFS BE から作成する同じプール内で ZFS BE から ZFS BE を作成する操作には ZFS のスナップショットとクローンの機能が使用されるため、この操作は非常に高速です。たとえば、現在の BE が同じ ZFS プール mpool にある場合、-p オプションは省略されます。 SPARC システムに複数の ZFS BE が存在する場合は、利用可能な BE を boot -L コマンドで識別し、どの BE から起動するかを boot -Z コマンドで選択します。x86 システムでは、BE を GRUB メニューから選択できます。詳細は、例 5–9 を参照してください。
例 5–5 ZFS BE をアップグレードする (luupgrade)ZFS BE を追加のパッケージやパッチでアップグレードすることができます。 基本的な手順は次のとおりです。
ゾーンが含まれているシステムを Solaris Live Upgrade で移行またはアップグレードする (Solaris 10 10/08)Solaris 10 10/08 リリースでは、ゾーンが含まれているシステムを Solaris Live Upgrade で移行することはできますが、サポートされる構成は限られています。Solaris 10 5/09 リリースをインストールする場合や Solaris 10 5/09 リリースにアップグレードする場合は、より多くのゾーン構成がサポートされます。詳細は、「ゾーンが含まれているシステムを Solaris Live Upgrade で移行またはアップグレードする (Solaris 10 5/09 および Solaris 10 10/09)」を参照してください。 この節では、Solaris Live Upgrade によるアップグレードやパッチの適用が可能になるように、ゾーンが含まれているシステムを構成してインストールする方法について説明します。ゾーンが含まれていない ZFS ルートファイルシステムに移行する場合は、「Solaris Live Upgrade を使用して ZFS ルートファイルシステムに移行する (ゾーンなし)」を参照してください。 Solaris 10 10/08 リリースで、ゾーンが含まれているシステムを移行する場合や、ゾーンが含まれているシステムを構成する場合は、次の手順を確認してください。
ZFS ルートファイルシステムが含まれているシステムで推奨手順に従ってゾーンを設定して、そのシステムで Live Upgrade を使用できるようにします。
|
# lucreate -n S10BE2 -p rpool |
このコマンドは、新しいブート環境のデータセットをルートプールに確立し、現在のブート環境をゾーンも含めてそれらのデータセットにコピーします。
新しいブート環境をアクティブにします。
# luactivate s10BE2 |
これで、システムでは ZFS ルートファイルシステムが稼働していますが、UFS 上のゾーンルートはまだ UFS ルートファイルシステムにあります。UFS ゾーンをサポートされる ZFS 構成に完全に移行するには、次の手順が必要です。
システムを再起動します。
# init 6 |
ゾーンを ZFS BE に移行します。
この Solaris リリースでは、マウントポイントに関連して発生する可能性のある問題をすべて解決してください。
Live Upgrade 機能のバグのため、アクティブでないブート環境は起動に失敗する場合があります。これは、ブート環境の ZFS データセットまたはゾーンの ZFS データセットに無効なマウントポイントが含まれているためです。
zfs list の出力を確認します。
正しくない一時的なマウントポイントを探します。次に例を示します。
# zfs list -r -o name,mountpoint rpool/ROOT/s10u6 NAME MOUNTPOINT rpool/ROOT/s10u6 /.alt.tmp.b-VP.mnt/ rpool/ROOT/s10u6/zones /.alt.tmp.b-VP.mnt//zones rpool/ROOT/s10u6/zones/zonerootA /.alt.tmp.b-VP.mnt/zones/zonerootA |
ルート ZFS BE (rpool/ROOT/s10u6) のマウントポイントは / となるべきです。
ZFS BE とそのデータセットのマウントポイントを設定しなおします。
次に例を示します。
# zfs inherit -r mountpoint rpool/ROOT/s10u6 # zfs set mountpoint=/ rpool/ROOT/s10u6 |
システムを再起動します。
GRUB メニューまたは OpenBoot Prom プロンプトで、特定のブート環境を起動するオプションが表示されたら、前の手順でマウントポイントを修正したブート環境を選択します。
次の手順に従って、アップグレードやパッチの適用が可能な ZFS ルートファイルシステムおよび ZFS ゾーンルート構成を設定します。この構成では、ZFS ゾーンルートは ZFS データセットとして作成されます。
次の手順では、プール名の例として rpool、現在アクティブになっているブート環境の名前の例として S10be を使用しています。
対話形式による初期インストールまたは Solaris JumpStart インストールを使用して、システムを ZFS ルートでインストールします。
初期インストールまたは Solaris JumpStart インストールを使用して ZFS ルートファイルシステムをインストールする方法の詳細については、「ZFS ルートファイルシステムのインストール (初期インストール)」または 「ZFS ルートファイルシステムのインストール (JumpStart インストール)」を参照してください。
新しく作成したルートプールからシステムを起動します。
ゾーンルートをまとめるためのデータセットを作成します。
次に例を示します。
# zfs create -o canmount=noauto rpool/ROOT/S10be/zones |
ゾーンのデータセットの名前には、正当なデータセット名であればどのようなものでも使用できます。次の手順では、データセット名の例として zones を使用しています。
canmount プロパティーに noauto 値を設定すると、Solaris Live Upgrade とシステムの起動コードの明示的なアクションによらないかぎり、データセットはマウントされなくなります。
新しく作成したゾーンのコンテナデータセットをマウントします。
# zfs mount rpool/ROOT/S10be/zones |
データセットは /zones にマウントされます。
各ゾーンルートのデータセットを作成し、マウントします。
# zfs create -o canmount=noauto rpool/ROOT/S10be/zones/zonerootA # zfs mount rpool/ROOT/S10be/zones/zonerootA |
ゾーンルートディレクトリに適切なアクセス権を設定します。
# chmod 700 /zones/zonerootA |
ゾーンを設定して、ゾーンパスを次のように設定します。
# zonecfg -z zoneA
zoneA: No such zone configured
Use 'create' to begin configuring a new zone.
zonecfg:zoneA> create
zonecfg:zoneA> set zonepath=/zones/zonerootA
|
次の構文を使用して、システムの起動時にゾーンが自動的に起動するように設定できます。
zonecfg:zoneA> set autoboot=true |
ゾーンをインストールします。
# zoneadm -z zoneA install |
ゾーンを起動します。
# zoneadm -z zoneA boot |
ZFS 上にゾーンルートを持つ ZFS ルートファイルシステムにアップグレードやパッチを適用する必要がある場合は、次の手順を使用します。このような更新には、システムのアップグレードの場合と、パッチの適用の場合があります。
次の手順では、アップグレードまたはパッチを適用するブート環境の名前の例として newBE を使用しています。
アップグレードまたはパッチを適用するブート環境を作成します。
# lucreate -n newBE |
すべてのゾーンを含め、既存のブート環境が複製されます。元のブート環境の各データセットに対して新しいデータセットが作成されます。新しいデータセットは、現在のルートプールと同じプールに作成されます。
次のいずれかを選択して、システムをアップグレードするか新しいブート環境にパッチを適用します。
システムをアップグレードします。
# luupgrade -u -n newBE -s /net/install/export/s10u7/latest |
ここで、-s オプションは Solaris インストールメディアの場所です。
新しいブート環境にパッチを適用します。
# luupgrade -t -n newBE -t -s /patchdir 139147-02 157347-14 |
新しいブート環境の更新が完了したら、新しいブート環境をアクティブにします。
# luactivate newBE |
新しくアクティブにしたブート環境から起動します。
# init 6 |
Solaris 10/08 リリースでは、マウントポイントに関連して発生する可能性のある問題をすべて解決してください。
Live Upgrade 機能のバグのため、アクティブでないブート環境は起動に失敗する場合があります。これは、ブート環境の ZFS データセットまたはゾーンの ZFS データセットに無効なマウントポイントが含まれているためです。
zfs list の出力を確認します。
正しくない一時的なマウントポイントを探します。次に例を示します。
# zfs list -r -o name,mountpoint rpool/ROOT/newBE NAME MOUNTPOINT rpool/ROOT/newBE /.alt.tmp.b-VP.mnt/ rpool/ROOT/newBE/zones /.alt.tmp.b-VP.mnt//zones rpool/ROOT/newBE/zones/zonerootA /.alt.tmp.b-VP.mnt/zones/zonerootA |
ルート ZFS BE (rpool/ROOT/newBE) のマウントポイントは / となるべきです。
ZFS BE とそのデータセットのマウントポイントを設定しなおします。
次に例を示します。
# zfs inherit -r mountpoint rpool/ROOT/newBE # zfs set mountpoint=/ rpool/ROOT/newBE |
システムを再起動します。
GRUB メニューまたは OpenBoot Prom プロンプトで、特定のブート環境を起動するオプションが表示されたら、前の手順でマウントポイントを修正したブート環境を選択します。
Solaris 10 10/08 以降のリリースでは、Live Upgrade 機能を使用して、ゾーンが含まれているシステムを移行またはアップグレードすることができます。Solaris 10 5/09 以降のリリースでは、疎ゾーン構成と完全ゾーン構成も Live Upgrade でサポートされます。
この節では、Solaris 10 5/09 以降のリリースで Solaris Live Upgrade によるアップグレードやパッチの適用が可能になるように、ゾーンが含まれているシステムを構成してインストールする方法について説明します。ゾーンが含まれていない ZFS ルートファイルシステムに移行する場合は、「Solaris Live Upgrade を使用して ZFS ルートファイルシステムに移行する (ゾーンなし)」を参照してください。
Solaris 10 5/09 以降のリリースで ZFS とゾーンに Live Upgrade を使用する場合は、次の点を考慮してください。
Solaris 10 5/09 以降のリリースでサポートされているゾーン構成に Live Upgrade を使用するには、まず標準のアップグレードプログラムを使用してシステムを Solaris 10 5/09 または Solaris 10 10/09 リリースにアップグレードする必要があります。
その後、Live Upgrade を使用して、ゾーンルートを持つ UFS ルートファイルシステムを ZFS ルートファイルシステムに移行するか、ZFS ルートファイルシステムとゾーンルートにアップグレードやパッチを適用することができます。
サポートされていないゾーン構成を以前の Solaris 10 リリースから Solaris 10 5/09 または Solaris 10 10/09 リリースに直接移行することはできません。
Solaris 10 5/09 以降のリリースで、ゾーンが含まれているシステムを移行する場合や、ゾーンが含まれているシステムを構成する場合は、次の情報を確認してください。
「サポートされているゾーンルート構成を持つ ZFS の情報 (Solaris 10 5/09 または Solaris 10 10/09)」
「ZFS ルートファイルシステムとゾーンルートを持つ ZFS BE を作成する方法 (Solaris 10 5/09 または Solaris 10 10/09)」
「ゾーンルートを持つ ZFS ルートファイルシステムにアップグレードまたはパッチを適用する方法 (Solaris 10 5/09 または Solaris 10 10/09)」
「ゾーンルートを持つ UFS ルートファイルシステムを ZFS ルートファイルシステムに移行する方法 (Solaris 10 5/09 または Solaris 10 10/09)」
ゾーンが含まれているシステムを Live Upgrade 機能を使用して移行またはアップグレードする前に、サポートされているゾーン構成を確認してください。
UFS ルートファイルシステムを ZFS ルートファイルシステムに移行する – 次のゾーンルート構成がサポートされています。
UFS ルートファイルシステムのディレクトリ内
UFS ルートファイルシステムのマウントポイントのサブディレクトリ内
ゾーンルートを持つ UFS ルートファイルシステム (前述) およびゾーンルートを持つルート以外の ZFS プール
次の UFS/ゾーン構成はサポートされていません。
ゾーンルートをマウントポイントとして持つ UFS ルートファイルシステム
ZFS ルートファイルシステムを移行またはアップグレードする – 次のゾーンルート構成がサポートされています。
ZFS ルートプールのデータセット内。場合により、Live Upgrade 操作の前にゾーンルートのデータセットが用意されていないときは、ゾーンルートのデータセット (zoneds) が Live Upgrade によって作成されます。
ZFS ルートファイルシステムのサブディレクトリ内
ZFS ルートファイルシステムの外部にあるデータセット内
ZFS ルートファイルシステムの外部にあるデータセットのサブディレクトリ内
非ルートプールのデータセット内。例えば、zonepool/zones はゾーンルートを含むデータセットであり、rpool は ZFS BE を含んでいます。
zonepool zonepool/zones zonepool/zones/myzone rpool rpool/ROOT rpool/ROOT/myBE |
次の構文を使用すると、Live Upgrade 操作によって zonepool のゾーンおよび rpool BE のスナップショットが作成され、複製が行われます。
# lucreate -n newBE |
rpool/ROOT/newBE にnewBE BE が作成されます。これがアクティブになると、zonepool のコンポーネントにアクセスできるようになります。
前述の例では、/zonepool/zones がサブディレクトリーであり、別個のデータセットではない場合には、それらは、ルートプール rpool のコンポーネントとして、Live Upgrade によって移行されます。
UFS および ZFS のゾーンの移行またはアップグレードに関する情報 – UFS 環境または ZFS 環境の移行とアップグレードに影響を与える可能性のある次の考慮事項を確認してください。
「ゾーンが含まれているシステムを Solaris Live Upgrade で移行またはアップグレードする (Solaris 10 10/08)」の説明に従って Solaris 10 10/08 リリースでゾーンを構成し、Solaris 10 5/09 または Solaris 10 10/09 リリースにアップグレードした場合は、ZFS ルートファイルシステムへの移行や、Solaris Live Upgrade による Solaris 10 5/09 または Solaris 10 10/09 リリースへのアップグレードが可能なはずです。
zones/zone1 や zones/zone1/zone2 のような入れ子のディレクトリにゾーンルートを作成しないでください。起動時にマウントが失敗する可能性があります。
Solaris 10 5/09 または Solaris 10 10/09 リリースの初期インストールを実行して ZFS ルートファイルシステムを作成したあと、あるいは luupgrade 機能を使用して ZFS ルートファイルシステムを Solaris 10 5/09 または Solaris 10 10/09 リリースにアップグレードしたあとで、この手順を使用してください。この手順を使用して作成した ZFS BE には、あとでアップグレードやパッチを適用できます。
次の手順で例として使用する Solaris 10 10/09 システムは、ZFS ルートファイルシステムと、/rpool/zones にゾーンルートのデータセットを持っています。アップグレードやパッチの適用が可能な zfs10092BE という名前の ZFS BE が作成されます。
既存の ZFS ファイルシステムを確認します。次に例を示します。
# zfs list NAME USED AVAIL REFER MOUNTPOINT rpool 7.26G 59.7G 98K /rpool rpool/ROOT 4.64G 59.7G 21K legacy rpool/ROOT/zfs1009BE 4.64G 59.7G 4.64G / rpool/dump 1.00G 59.7G 1.00G - rpool/export 44K 59.7G 23K /export rpool/export/home 21K 59.7G 21K /export/home rpool/swap 1G 60.7G 16K - rpool/zones 633M 59.7G 633M /rpool/zones |
ゾーンがインストールされ起動されていることを確認します。次に例を示します。
# zoneadm list -cv ID NAME STATUS PATH BRAND IP 0 global running / native shared 2 zfszone running /rpool/zones native shared |
ZFS BE を作成します。次に例を示します。
# lucreate -n zfs10092BE Analyzing system configuration. Comparing source boot environment <zfs1009BE> 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. Creating configuration for boot environment <zfs10092BE>. Source boot environment is <zfs1009BE>. Creating boot environment <zfs10092BE>. Cloning file systems from boot environment <zfs1009BE> to create boot environment <zfs10092BE>. Creating snapshot for <rpool/ROOT/zfs1009BE> on <rpool/ROOT/zfs1009BE@zfs10092BE>. Creating clone for <rpool/ROOT/zfs1009BE@zfs10092BE> on <rpool/ROOT/zfs10092BE>. Setting canmount=noauto for </> in zone <global> on <rpool/ROOT/zfs10092BE>. Creating snapshot for <rpool/zones> on <rpool/zones@zfs10092BE>. Creating clone for <rpool/zones@zfs10092BE> on <rpool/zones-zfs10092BE>. Population of boot environment <zfs10092BE> successful. Creation of boot environment <zfs10092BE> successful. |
ZFS BE をアクティブにします。
# lustatus Boot Environment Is Active Active Can Copy Name Complete Now On Reboot Delete Status -------------------------- -------- ------ --------- ------ ---------- zfs1009BE yes yes yes no - zfs10092BE yes no no yes - # luactivate zfs10092BE A Live Upgrade Sync operation will be performed on startup of boot environment <zfs10092BE>. . . . # init 6 |
新しい BE に ZFS ファイルシステムとゾーンが作成されていることを確認します。次に例を示します。
# zfs list NAME USED AVAIL REFER MOUNTPOINT rpool 7.38G 59.6G 98K /rpool rpool/ROOT 4.72G 59.6G 21K legacy rpool/ROOT/zfs10092BE 4.72G 59.6G 4.64G / rpool/ROOT/zfs10092BE@zfs10092BE 74.0M - 4.64G - rpool/ROOT/zfs1009BE 5.45M 59.6G 4.64G /.alt.zfs1009BE rpool/dump 1.00G 59.6G 1.00G - rpool/export 44K 59.6G 23K /export rpool/export/home 21K 59.6G 21K /export/home rpool/swap 1G 60.6G 16K - rpool/zones 17.2M 59.6G 633M /rpool/zones rpool/zones-zfs1009BE 653M 59.6G 633M /rpool/zones-zfs1009BE rpool/zones-zfs1009BE@zfs10092BE 19.9M - 633M - # zoneadm list -cv ID NAME STATUS PATH BRAND IP 0 global running / native shared - zfszone installed /rpool/zones native shared |
Solaris 10 5/09 または Solaris 10 10/09 リリースで、ゾーンルートを持つ ZFS ルートファイルシステムにアップグレードやパッチを適用する必要がある場合は、次の手順を使用します。このような更新には、システムのアップグレードの場合と、パッチの適用の場合があります。
次の手順では、アップグレードまたはパッチを適用するブート環境の名前の例として zfs10093BE を使用しています。
既存の ZFS ファイルシステムを確認します。次に例を示します。
# zfs list NAME USED AVAIL REFER MOUNTPOINT rpool 7.38G 59.6G 100K /rpool rpool/ROOT 4.72G 59.6G 21K legacy rpool/ROOT/zfs10092BE 4.72G 59.6G 4.64G / rpool/ROOT/zfs10092BE@zfs10092BE 75.0M - 4.64G - rpool/ROOT/zfs1009BE 5.46M 59.6G 4.64G / rpool/dump 1.00G 59.6G 1.00G - rpool/export 44K 59.6G 23K /export rpool/export/home 21K 59.6G 21K /export/home rpool/swap 1G 60.6G 16K - rpool/zones 22.9M 59.6G 637M /rpool/zones rpool/zones-zfs1009BE 653M 59.6G 633M /rpool/zones-zfs1009BE rpool/zones-zfs1009BE@zfs10092BE 20.0M - 633M - |
ゾーンがインストールされ起動されていることを確認します。次に例を示します。
# zoneadm list -cv ID NAME STATUS PATH BRAND IP 0 global running / native shared 5 zfszone running /rpool/zones native shared |
アップグレードまたはパッチを適用する ZFS BE を作成します。次に例を示します。
# lucreate -n zfs10093BE Analyzing system configuration. Comparing source boot environment <zfs10092BE> 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. Creating configuration for boot environment <zfs10093BE>. Source boot environment is <zfs10092BE>. Creating boot environment <zfs10093BE>. Cloning file systems from boot environment <zfs10092BE> to create boot environment <zfs10093BE>. Creating snapshot for <rpool/ROOT/zfs10092BE> on <rpool/ROOT/zfs10092BE@zfs10093BE>. Creating clone for <rpool/ROOT/zfs10092BE@zfs10093BE> on <rpool/ROOT/zfs10093BE>. Setting canmount=noauto for </> in zone <global> on <rpool/ROOT/zfs10093BE>. Creating snapshot for <rpool/zones> on <rpool/zones@zfs10093BE>. Creating clone for <rpool/zones@zfs10093BE> on <rpool/zones-zfs10093BE>. Population of boot environment <zfs10093BE> successful. Creation of boot environment <zfs10093BE> successful. |
次のいずれかを選択して、システムをアップグレードするか新しいブート環境にパッチを適用します。
システムをアップグレードします。次に例を示します。
# luupgrade -u -n zfs10093BE -s /net/install/export/s10uX/combined.s10s_uXwos/latest |
ここで、-s オプションは Solaris インストールメディアの場所です。
この処理には、かなり長い時間がかかることがあります。
luupgrade 処理の詳細な例については、例 5–6 を参照してください。
新しいブート環境にパッチを適用します。次に例を示します。
# luupgrade -t -n zfs10093BE -t -s /patchdir patch-id-02 patch-id-04 |
新しいブート環境の更新が完了したら、新しいブート環境をアクティブにします。
# lustatus Boot Environment Is Active Active Can Copy Name Complete Now On Reboot Delete Status -------------------------- -------- ------ --------- ------ ---------- zfs1009BE yes no no yes - zfs10092BE yes yes yes no - zfs10093BE yes no no yes - # luactivate zfs10093BE A Live Upgrade Sync operation will be performed on startup of boot environment <zfs10093BE>. . . . |
新しくアクティブにしたブート環境から起動します。
# init 6 |
この例では、Solaris 5 10//09 システムに作成された、非ルートプール内に ZFS ルートファイルシステムとゾーンルートを持つ ZFS BE (zfs509BE) を、Solaris 10 10/09 リリースにアップグレードします。この処理には長い時間がかかることがあります。その後、アップグレードした BE (zfs10092BE) をアクティブにします。移行を行う前に、ゾーンがインストールされ起動されていることを確認してください。
この例では、zonepool プール、/zonepool/zones データセット、および zfszone が、次のようにして作成されます。
# zpool create zonepool mirror c2t1d0 c2t5d0 # zfs create zonepool/zones # chmod 700 zonepool/zones # zonecfg -z zfszone zfszone: No such zone configured Use 'create' to begin configuring a new zone. zonecfg:zfszone> create zonecfg:zfszone> set zonepath=/zonepool/zones zonecfg:zfszone> verify zonecfg:zfszone> exit # zoneadm -z zfszone install cannot create ZFS dataset zonepool/zones: dataset already exists Preparing to install zone <zfszone>. Creating list of files to copy from the global zone. Copying <8960> files to the zone. . . . |
# zoneadm list -cv ID NAME STATUS PATH BRAND IP 0 global running / native shared 2 zfszone running /zonepool/zones native shared # lucreate -n zfs1009BE . . . # luactivate zfs1009BE . . . # init 6 # luupgrade -u -n zfs1009BE -s /net/install/export/s10u8/combined.s10s_u8wos/latest 40410 blocks miniroot filesystem is <lofs> Mounting miniroot at </net/system/export/s10u8/latest/Solaris_10/Tools/Boot> Validating the contents of the media </net/system/export/s10u8//latest>. The media is a standard Solaris media. The media contains an operating system upgrade image. The media contains <Solaris> version <10>. 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 <zfs1009BE>. Determining packages to install or upgrade for BE <zfs1009BE>. Performing the operating system upgrade of the BE <zfs1009BE>. 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. Updating package information on boot environment <zfs1009BE>. Package information successfully updated on boot environment <zfs1009BE>. Adding operating system patches to the BE <zfs1009BE>. The operating system patch installation is complete. INFORMATION: The file </var/sadm/system/logs/upgrade_log> on boot environment <zfs1009BE> contains a log of the upgrade operation. INFORMATION: The file </var/sadm/system/data/upgrade_cleanup> on boot environment <zfs1009BE> contains a log of cleanup operations required. INFORMATION: Review the files listed above. Remember that all of the files are located on boot environment <zfs1009BE>. Before you activate boot environment <zfs1009BE>, 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 <zfs1009BE> is complete. Installing failsafe Failsafe install is complete. # luactivate zfs1009BE # init 6 # lustatus Boot Environment Is Active Active Can Copy Name Complete Now On Reboot Delete Status -------------------------- -------- ------ --------- ------ ---------- zfs509BE yes no no yes - zfs1009BE yes yes yes no - # zoneadm list -cv ID NAME STATUS PATH BRAND IP 0 global running / native shared - zfszone installed /zonepool/zones native shared |
UFS ルートファイルシステムとゾーンルートを持つシステムを Solaris 10 5/09 または Solaris 10 10/09 リリースにアップグレードするには、次の手順を使用します。その後、Live Upgrade を使用して ZFS BE を作成します。
次の手順では、UFS BE の名前の例として c0t1d0s0、UFS ゾーンルートとして zonepool/zfszone、ZFS ルート BE として zfs1009 を使用しています。
システムで以前の Solaris 10 リリースが稼働している場合は、Solaris 10 5/09 または Solaris 10 10/09 リリースにアップグレードします。
Solaris 10 リリースが稼働しているシステムのアップグレードの詳細については、『Solaris 10 インストールガイド (Solaris Live Upgrade とアップグレードの計画)』を参照してください。
ルートプールを作成します。
ルートプールの要件については、「ZFS をサポートするための Solaris インストールと Solaris Live Upgrade の要件」を参照してください。
UFS 環境のゾーンが起動されることを確認します。次に例を示します。
# zoneadm list -cv ID NAME STATUS PATH BRAND IP 0 global running / native shared 2 zfszone running /zonepool/zones native shared |
新しい ZFS ブート環境を作成します。次に例を示します。
# lucreate -c c1t1d0s0 -n zfs1009 -p rpool |
このコマンドは、新しいブート環境のデータセットをルートプールに確立し、現在のブート環境をゾーンも含めてそれらのデータセットにコピーします。
新しい ZFS ブート環境をアクティブにします。次に例を示します。
# lustatus Boot Environment Is Active Active Can Copy Name Complete Now On Reboot Delete Status -------------------------- -------- ------ --------- ------ ---------- c1t1d0s0 yes yes yes no - zfs1009BE yes no no yes - # luactivate zfs1009BE A Live Upgrade Sync operation will be performed on startup of boot environment <zfs1009BE>. . . . |
システムを再起動します。
# init 6 |
新しい BE に ZFS ファイルシステムとゾーンが作成されていることを確認します。次に例を示します。
# zfs list NAME USED AVAIL REFER MOUNTPOINT rpool 6.17G 60.8G 98K /rpool rpool/ROOT 4.67G 60.8G 21K /rpool/ROOT rpool/ROOT/zfs1009BE 4.67G 60.8G 4.67G / rpool/dump 1.00G 60.8G 1.00G - rpool/swap 517M 61.3G 16K - zonepool 634M 7.62G 24K /zonepool zonepool/zones 270K 7.62G 633M /zonepool/zones zonepool/zones-c1t1d0s0 634M 7.62G 633M /zonepool/zones-c1t1d0s0 zonepool/zones-c1t1d0s0@zfs1009BE 262K - 633M - # zoneadm list -cv ID NAME STATUS PATH BRAND IP 0 global running / native shared - zfszone installed /zonepool/zones native shared |
この例では、UFS ルートとゾーンルート (/uzone/ufszone) およびルート以外の ZFS プール (pool) とゾーンルート (/pool/zfszone) を持つ Solaris 10 10/09 システムを、ZFS ルートファイルシステムに移行します。移行を行う前に、ZFS ルートプールが作成されていることと、ゾーンがインストールされ起動されていることを確認してください。
# zoneadm list -cv ID NAME STATUS PATH BRAND IP 0 global running / native shared 2 ufszone running /uzone/ufszone native shared 3 zfszone running /pool/zones/zfszone native shared |
# lucreate -c ufs1009BE -n zfs1009BE -p rpool Analyzing system configuration. No name for current boot environment. Current boot environment is named <ufs509BE>. Creating initial configuration for primary boot environment <ufs509BE>. The device </dev/dsk/c1t0d0s0> is not a root device for any boot environment; cannot get BE ID. PBE configuration successful: PBE name <ufs1009BE> PBE Boot Device </dev/dsk/c1t0d0s0>. Comparing source boot environment <ufs1009BE> 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/c1t1d0s0> is not a root device for any boot environment; cannot get BE ID. Creating configuration for boot environment <zfs1009BE>. Source boot environment is <ufs1009BE>. Creating boot environment <zfs1009BE>. Creating file systems on boot environment <zfs1009BE>. Creating <zfs> file system for </> in zone <global> on <rpool/ROOT/zfs1009BE>. Populating file systems on boot environment <zfs1009BE>. Checking selection integrity. Integrity check OK. Populating contents of mount point </>. Copying. Creating shared file system mount points. Copying root of zone <ufszone> to </.alt.tmp.b-EYd.mnt/uzone/ufszone>. Creating snapshot for <pool/zones/zfszone> on <pool/zones/zfszone@zfs1009BE>. Creating clone for <pool/zones/zfszone@zfs1009BE> on <pool/zones/zfszone-zfs1009BE>. Creating compare databases for boot environment <zfs1009BE>. Creating compare database for file system </rpool/ROOT>. Creating compare database for file system </>. Updating compare databases on boot environment <zfs1009BE>. Making boot environment <zfs1009BE> bootable. Creating boot_archive for /.alt.tmp.b-DLd.mnt updating /.alt.tmp.b-DLd.mnt/platform/sun4u/boot_archive Population of boot environment <zfs1009BE> successful. Creation of boot environment <zfs1009BE> successful. # lustatus Boot Environment Is Active Active Can Copy Name Complete Now On Reboot Delete Status -------------------------- -------- ------ --------- ------ ---------- ufs1009BE yes yes yes no - zfs1009BE yes no no yes - # luactivate zfs1009BE . . . # init 6 . . . # zfs list NAME USED AVAIL REFER MOUNTPOINT pool 628M 66.3G 19K /pool pool/zones 628M 66.3G 20K /pool/zones pool/zones/zfszone 75.5K 66.3G 627M /pool/zones/zfszone pool/zones/zfszone-ufs1009BE 628M 66.3G 627M /pool/zones/zfszone-ufs1009BE pool/zones/zfszone-ufs1009BE@zfs1009BE 98K - 627M - rpool 7.76G 59.2G 95K /rpool rpool/ROOT 5.25G 59.2G 18K /rpool/ROOT rpool/ROOT/zfs1009BE 5.25G 59.2G 5.25G / rpool/dump 2.00G 59.2G 2.00G - rpool/swap 517M 59.7G 16K - # zoneadm list -cv ID NAME STATUS PATH BRAND IP 0 global running / native shared - ufszone installed /uzone/ufszone native shared - zfszone installed /pool/zones/zfszone native shared |
初期インストールまたは UFS ファイルシステムからの Solaris Live Upgrade の際に、ZFS ルートプールの ZFS ボリュームにスワップ領域が作成されます。次に例を示します。
# swap -l swapfile dev swaplo blocks free /dev/zvol/dsk/mpool/swap 253,3 16 8257520 8257520 |
初期インストールまたは UFS ファイルシステムからの Solaris Live Upgrade の際に、ZFS ルートプールの ZFS ボリュームにダンプデバイスが作成されます。ダンプデバイスを設定したあとは、ダンプデバイスの管理は不要です。次に例を示します。
# dumpadm
Dump content: kernel pages
Dump device: /dev/zvol/dsk/mpool/dump (dedicated)
Savecore directory: /var/crash/t2000
Savecore enabled: yes
|
インストールプログラムによって作成されるスワップボリュームとダンプボリュームのサイズについては、「ZFS をサポートするための Solaris インストールと Solaris Live Upgrade の要件」を参照してください。
スワップボリュームのサイズとダンプボリュームのサイズはどちらも、インストール中またはインストール後に調整することができます。詳細は、「ZFS スワップデバイスおよびダンプデバイスのサイズを調整する」を参照してください。
ZFS のスワップデバイスとダンプデバイスを操作する場合には、次の問題を考慮してください。
スワップ領域とダンプデバイスには別個の ZFS ボリュームを使用する必要があります。
現時点では、ZFS ファイルシステムでスワップファイルを使用することはできません。
CR 6724860 のため、ZFS ダンプボリュームを使用している場合は、クラッシュダンプを保存するには savecore を手動で実行する必要があります。
システムのインストール後またはアップグレード後にスワップ領域やダンプデバイスを変更する必要がある場合は、以前の Solaris 10 リリースと同様に swap コマンドと dumpadm コマンドを使用します。詳細は、『Solaris のシステム管理 (デバイスとファイルシステム)』の第 20 章「追加スワップ空間の構成 (手順)」および『Solaris のシステム管理 (上級編)』の第 17 章「システムクラッシュ情報の管理 (手順)」を参照してください。
ZFS ルートのインストールでは、スワップデバイスとダンプデバイスのサイズの決定方法が異なるため、インストール前、インストール中、またはインストール後にスワップデバイスとダンプデバイスのサイズの調整が必要になることがあります。
ZFS ダンプボリュームのパフォーマンスは、ボリュームを 128K バイトのブロックサイズで作成すると大幅に向上します。
スワップボリュームとダンプボリュームのサイズは、初期インストール時に調整することができます。詳細は、例 5–1 を参照してください。
Solaris Live Upgrade 操作を実行する前に、スワップボリュームとダンプボリュームを作成し、それらのサイズを設定することができます。次に例を示します。
ストレージプールを作成します。
# zpool create rpool mirror c0t0d0s0 c0t1d0s0 |
ダンプデバイスを作成します。
# zfs create -V 2G rpool/dump |
次のいずれかを選択してスワップ領域を作成します。
SPARC システムで、スワップ領域を作成します。ブロックサイズを 8K バイトに設定します。
# zfs create -V 2G -b 8k rpool/swap |
x86 システムで、スワップ領域を作成します。ブロックサイズを 4K バイトに設定します。
# zfs create -V 2G -b 4k rpool/swap |
新しいスワップデバイスを追加または変更したときは、スワップ領域をアクティブにしてください。
Solaris Live Upgrade では、既存のスワップボリュームとダンプボリュームのサイズは変更されません。
ダンプデバイスの volsize プロパティーは、システムのインストール後に再設定することができます。次に例を示します。
# zfs set volsize=2G rpool/dump # zfs get volsize rpool/dump NAME PROPERTY VALUE SOURCE rpool/dump volsize 2G - |
スワップボリュームのサイズを変更することはできますが、CR 6765386 を組み込むまでは、まずスワップデバイスを削除することをお勧めします。そのあとで再作成してください。次に例を示します。
# swap -d /dev/zvol/dsk/rpool/swap # zfs volsize=2G rpool/swap # swap -a /dev/zvol/dsk/rpool/swap |
アクティブなシステムからスワップデバイスを削除する方法については、次のサイトを参照してください。
http://www.solarisinternals.com/wiki/index.php/ZFS_Troubleshooting_Guide
JumpStart プロファイルのスワップボリュームとダンプボリュームのサイズは、次のようなプロファイル構文を使用して調整することができます。
install_type initial_install cluster SUNWCXall pool rpool 16g 2g 2g c0t0d0s0 |
このプロファイルでは、2g エントリと 2g エントリにより、スワップ領域とダンプデバイスのサイズがそれぞれ 2G バイトと 2G バイトに設定されます。
インストール済みのシステムのスワップ領域を増やす必要がある場合は、スワップボリュームを追加するだけです。次に例を示します。
# zfs create -V 2G rpool/swap2 |
その後、新しいスワップボリュームをアクティブにします。次に例を示します。
# swap -a /dev/zvol/dsk/rpool/swap2 # swap -l swapfile dev swaplo blocks free /dev/zvol/dsk/rpool/swap 256,1 16 1058800 1058800 /dev/zvol/dsk/rpool/swap2 256,3 16 4194288 4194288 |
SPARC システムと x86 システムの両方で、ブートアーカイブによる新しい形式の起動方法が使用されます。ブートアーカイブは、起動に必要なファイルを含んだファイルシステムイメージです。ZFS ルートファイルシステムからの起動時には、アーカイブとカーネルファイルのパス名が、起動用に選択されたルートファイルシステム内で解決されます。
インストールのためにシステムを起動する場合は、インストール処理の全体にわたって RAM ディスクがルートファイルシステムとして使用されます。これにより、リムーバブルメディアから起動する必要がなくなります。
Solaris 10 10/08 または Solaris 10 5/09 リリースの初期インストールを実行するか、このリリースで Solaris Live Upgrade を使用して ZFS ルートファイルシステムに移行する場合は、SPARC システムでも x 86 システムでも、ZFS ルートファイルシステムから起動することができます。
ZFS では、単一のルートファイルシステムではなくストレージプールがデバイス指定子で指定されるため、ZFS ファイルシステムからの起動は UFS ファイルシステムからの起動とは異なります。ストレージプールには、複数の「ブート可能なデータセット」または ZFS ルートファイルシステムが含まれている場合があります。ZFS から起動する場合は、起動デバイスと、起動デバイスによって指定されたプール内のルートファイルシステムを指定する必要があります。
デフォルトでは、プールの bootfs プロパティーで指定されているデータセットが、起動用に選択されます。別のブート可能データセットを boot -Z コマンド内に指定することで、このデフォルトの選択を無効にできます。
ミラー化された ZFS ルートプールは、システムのインストール時に作成するか、インストール後にディスクを接続することによって作成することができます。ミラー化された ZFS ルートプールに関して、次に示す既知の問題を確認してください。
CR 6668666 – ミラー内のほかのディスクで起動できるようにするには、追加で接続したディスクにブート情報を installboot コマンドまたは installgrub コマンドでインストールする必要があります。ミラー化された ZFS ルートプールを初期インストールで作成した場合は、この手順は不要です。たとえば、ミラーに追加した 2 番目のディスクが c0t1d0s0 であった場合、installboot コマンドまたは installgrub コマンドは次のようになります。
sparc# installboot -F zfs /usr/platform/`uname -i`/lib/fs/zfs/bootblk /dev/rdsk/c0t1d0s0 |
x86# installgrub /boot/grub/stage1 /boot/grub/stage2 /dev/rdsk/c0t1d0s0 |
ミラー化された ZFS ルートプールのさまざまなデバイスから起動することができます。ハードウェア構成によっては、別の起動デバイスを指定するには、PROM または BIOS の更新が必要になる場合があります。
たとえば、このプール内のどちらかのディスク (c1t0d0s0 または c1t1d0s0) から起動できます。
# zpool status
pool: rpool
state: ONLINE
scrub: none requested
config:
NAME STATE READ WRITE CKSUM
rpool ONLINE 0 0 0
mirror ONLINE 0 0 0
c1t0d0s0 ONLINE 0 0 0
c1t1d0s0 ONLINE 0 0 0
|
SPARC システムでは、ok プロンプトに代替ディスクを入力します。
ok boot /pci@7c0/pci@0/pci@1/pci@0,2/LSILogic,sas@2/disk@1 |
システムが再起動したら、アクティブな起動デバイスを確認します。次に例を示します。
SPARC# prtconf -vp | grep bootpath
bootpath: '/pci@7c0/pci@0/pci@1/pci@0,2/LSILogic,sas@2/disk@1,0:a'
|
x86 システムで、次のような構文を使用します。
x86# prtconf -v|sed -n '/bootpath/,/value/p'
name='bootpath' type=string items=1
value='/pci@0,0/pci8086,25f8@4/pci108e,286@0/disk@0,0:a'
|
x86 システムでは、ミラー化された ZFS ルートプールの代替ディスクを、適切な BIOS メニューで選択します。
複数の ZFS BE が存在する SPARC システムでは、luactivate コマンドを使用することによって、任意の BE から起動できます。BE をアクティブにしたあと、起動デバイスに ZFS ストレージプールが含まれている場合は、boot -L コマンドを使用して BE のリストを表示できます。
インストールおよび Solaris Live Upgrade の処理中に、ZFS ルートファイルシステムが bootfs プロパティーで自動的に指定されます。
ブート可能なデータセットがプール内に複数存在する場合があります。デフォルトでは、/pool-name/boot/menu.lst ファイルのブート可能データセットのエントリは、プールの bootfs プロパティーで指定されます。ただし、menu.lst のエントリに bootfs コマンドを含めて、プールの代替データセットを指定することもできます。このように、menu.lst ファイルには、プール内の複数のルートファイルシステムに対応するエントリが含まれている場合があります。
システムを ZFS ルートファイルシステムでインストールするか、ZFS ルートファイルシステムに移行すると、次のようなエントリが menu.lst ファイルに追加されます。
title zfs1009BE bootfs rpool/ROOT/zfs1009BE title zfs509BE bootfs rpool/ROOT/zfs509BE |
新しい BE を作成すると、menu.lst ファイルが自動的に更新されます。
SPARC システムでは、2 つの新しい起動オプションを使用できます。
boot -L コマンドを使用して、ZFS プール内のブート可能なデータセットのリストを表示できます。その後、ブート可能なデータセットの 1 つをリストで選択できます。そのデータセットを起動するための詳細な手順が表示されます。手順に従って、選択したデータセットを起動できます。このオプションは、起動デバイスに ZFS ストレージプールが含まれている場合にのみ使用できます。
boot -Z dataset コマンドを使用して、特定の ZFS データセットを起動できます。
システムの起動デバイス上の ZFS ストレージプールに複数の ZFS BE が存在する場合は、luactivate コマンドを使用してデフォルトの BE を指定できます。
たとえば、次の ZFS BE が lustatus の出力のとおり使用可能であるとします。
# lustatus Boot Environment Is Active Active Can Copy Name Complete Now On Reboot Delete Status -------------------------- -------- ------ --------- ------ ---------- zfs1009BE yes yes yes no - zfs509BE yes no no yes - |
SPARC システムに複数の ZFS BE が存在する場合は、boot -L コマンドを使用できます。次に例を示します。
ok boot -L Rebooting with command: boot -L Boot device: /pci@8,600000/SUNW,qlc@2/fp@0,0/disk@w500000e01082bbd1,0:a File and args: -L 1 zfs1009BE 2 zfs509BE Select environment to boot: [ 1 - 2 ]: 2 ok boot -Z rpool/ROOT/zfs509BE |
SPARC システムでは、/platform/`uname -i`/failsafe にあるフェイルセーフアーカイブから、次のように起動できます。次に例を示します。
ok boot -F failsafe |
特定の ZFS ブート可能データセットのフェイルセーフアーカイブを起動するには、次のような構文を使用します。
ok boot -Z rpool/ROOT/zfs1009BE -F failsafe |
インストール処理中または Solaris Live Upgrade 操作中に、ZFS を自動的に起動するための次のようなエントリが /pool-name/boot/grub/menu.lst ファイルに追加されます。
title Solaris 10 10/09 s10x_u8wos_07b X86 findroot (pool_rpool,0,a) kernel$ /platform/i86pc/multiboot -B $ZFS-BOOTFS module /platform/i86pc/boot_archive title Solaris failsafe findroot (pool_rpool,0,a) kernel /boot/multiboot kernel/unix -s -B console=ttya module /boot/x86.miniroot-safe |
GRUB によって起動デバイスとして識別されたデバイスに ZFS ストレージプールが含まれている場合、menu.lst ファイルを使用して GRUB メニューが作成されます。
複数の ZFS BE が存在する x86 システムでは、BE を GRUB メニューから選択できます。このメニューエントリに対応するルートファイルシステムが ZFS データセットである場合は、次のオプションが追加されます。
-B $ZFS-BOOTFS |
ZFS ファイルシステムから起動する場合は、boot -B $ZFS-BOOTFS パラメータを GRUB メニューエントリの kernel 行または module 行に記述して、ルートデバイスを指定します。この値は、-B オプションで指定されるすべてのパラメータと同様に、GRUB によってカーネルに渡されます。次に例を示します。
title Solaris 10 10/09 s10x_u8wos_07b X86 findroot (pool_rpool,0,a) kernel$ /platform/i86pc/multiboot -B $ZFS-BOOTFS module /platform/i86pc/boot_archive title Solaris failsafe findroot (pool_rpool,0,a) kernel /boot/multiboot kernel/unix -s -B console=ttya module /boot/x86.miniroot-safe |
x86 のフェイルセーフアーカイブは /boot/x86.miniroot-safe です。GRUB メニューで Solaris フェイルセーフエントリを選択することによって起動できます。次に例を示します。
title Solaris failsafe findroot (pool_rpool,0,a) kernel /boot/multiboot kernel/unix -s -B console=ttya module /boot/x86.miniroot-safe |
アクティブなブート環境を変更するための最適な方法は、luactivate コマンドを使用することです。不適切なパッチや構成エラーが原因でアクティブな環境の起動に失敗する場合、別の環境を起動する唯一の方法は、起動時に環境を選択することです。x86 システムでは GRUB メニューから代替 BE を選択でき、SPARC システムでは PROM から明示的に代替 BE を起動できます。
Solaris 10 10/08 リリースの Live Upgrade 機能にはバグがあるため、アクティブでないブート環境は起動に失敗する場合があります。これは、ブート環境の ZFS データセットまたはゾーンの ZFS データセットに無効なマウントポイントが含まれているためです。同じバグのため、BE に別の /var データセットがある場合は、BE をマウントすることもできなくなります。
ゾーンのデータセットに無効なマウントポイントが含まれている場合は、次の手順に従ってマウントポイントを修正することができます。
フェイルセーフアーカイブからシステムを起動します。
プールをインポートします。
次に例を示します。
# zpool import rpool |
プールがインポートされたら、zfs list の出力を確認します。
正しくない一時的なマウントポイントを探します。次に例を示します。
# zfs list -r -o name,mountpoint rpool/ROOT/s10u6
NAME MOUNTPOINT
rpool/ROOT/s10u6 /.alt.tmp.b-VP.mnt/
rpool/ROOT/s10u6/zones /.alt.tmp.b-VP.mnt//zones
rpool/ROOT/s10u6/zones/zonerootA /.alt.tmp.b-VP.mnt/zones/zonerootA
|
ルート BE (rpool/ROOT/s10u6) のマウントポイントは / となるべきです。
/var のマウントの問題が原因で起動に失敗する場合は、/var データセットについて同様に、正しくない一時的なマウントポイントを探します。
ZFS BE とそのデータセットのマウントポイントを設定しなおします。
次に例を示します。
# zfs inherit -r mountpoint rpool/ROOT/s10u6 # zfs set mountpoint=/ rpool/ROOT/s10u6 |
システムを再起動します。
GRUB メニューまたは OpenBoot Prom プロンプトで、特定のブート環境を起動するオプションが表示されたら、前の手順でマウントポイントを修正したブート環境を選択します。
ここでは、次のタスクを実行する方法について説明します。
次の理由により、ルートプールのディスクの置き換えが必要になることがあります。
ルートプールが小さすぎるため、より大きいディスクに置き換えたい
ルートプールのディスクに障害が発生している。ディスクに障害が発生しているためシステムが起動しない場合は、CD やネットワークなどの代替メディアから起動したあとでルートプールのディスクを置き換える必要があります。
交換用ディスクからの起動をテストできるように、また、交換用ディスクに障害が発生した場合に必要に応じて既存のディスクから手動で起動できるように、現在のディスクと新しいディスクの起動デバイスのパス名を特定します。次の例で、現在のルートプールのディスク (c1t10d0s0) は次のとおりです。
/pci@8,700000/pci@3/scsi@5/sd@a,0 |
次の例で、交換用起動ディスク (c4t0d0s0) は次のとおりです。
/pci@8,700000/pci@3/scsi@5/sd@9,0 |
交換用ディスクを物理的に接続します。
交換用 (新しい) ディスクに SMI ラベルが付けられていてスライス 0 があることを確認してください。
ルートプールに使用するディスクのラベルを変更する方法については、次のサイトを参照してください。
http://www.solarisinternals.com/wiki/index.php/ZFS_Troubleshooting_Guide
新しいディスクをルートプールに接続します。
次に例を示します。
# zpool attach rpool c1t10d0s0 c4t0d0s0 |
ルートプールのステータスを確認します。
次に例を示します。
# zpool status rpool
pool: rpool
state: ONLINE
status: One or more devices is currently being resilvered. The pool will
continue to function, possibly in a degraded state.
action: Wait for the resilver to complete.
scrub: resilver in progress, 25.47% done, 0h4m to go
config:
NAME STATE READ WRITE CKSUM
rpool ONLINE 0 0 0
mirror ONLINE 0 0 0
c1t0d0s0 ONLINE 0 0 0
c1t5d0s0 ONLINE 0 0 0
errors: No known data errors
|
ディスクの再同期化が完了したら、新しいディスクにブートブロックを適用します。
次に例を示します。
SPARC システムの場合は、次のようになります。
# installboot -F zfs /usr/platform/`uname -i`/lib/fs/zfs/bootblk /dev/rdsk/c1t5d0s0 |
x86 システムの場合は、次のようになります。
# installgrub /boot/grub/stage1 /boot/grub/stage2 /dev/rdsk/c1t5d0s0 |
新しいディスクから起動できることを確認します。
SPARC システムの場合、たとえば次のようになります。
ok boot /pci@8,700000/pci@3/scsi@5/sd@9,0 |
新しいディスクからシステムが起動した場合は、古いディスクを切り離します。
次に例を示します。
# zpool detach rpool c1t0d0s0 |
システムが新しいディスクから自動的に起動するように設定します。そのためには、eeprom コマンドまたは SPARC ブート PROM のsetenv コマンドを使用するか、PC BIOS を再設定します。
回復に利用できるようにルートプールのスナップショットを作成します。ルートプールのスナップショットを作成するための最適な方法は、ルートプールの再帰的なスナップショットを実行することです。
次の手順に従って、再帰的なルートプールスナップショットを作成し、そのスナップショットをリモートシステムでプール内のファイルとして保存します。ルートプールで障害が発生した場合に備えて、再作成されたプール内に保存される NFS およびスナップショットファイルを使用して、リモートデータセットをマウントすることができます。また、ルートプールスナップショットをリモートシステムのプール内の実際のスナップショットとして保存することもできます。修復対象のシステムを Solaris OS ミニルートから起動する一方で ssh を構成または rsh を使用する必要があるので、リモートシステムとのスナップショットの送受信は、やや複雑です。
ルートプールスナップショットをリモートで保存して回復する方法、およびルートプールの回復に関する最新情報については、次のサイトを参照してください。
http://www.solarisinternals.com/wiki/index.php/ZFS_Troubleshooting_Guide
ファイルまたはスナップショットとしてリモートで保存されたスナップショットの検証は、ルートプールの回復における重要な手順です。いずれの場合でも、プール構成の変更時や Solaris OS のアップグレード時など、スナップショットを日常的に再作成する必要があります。
次の例では、システムが zfs1009BE ブート環境から起動されています。
スナップショットを保存するための領域をリモートシステム上に作成します。
次に例を示します。
remote# zfs create rpool/snaps |
この領域をローカルシステムと共有します。
次に例を示します。
remote# zfs set sharenfs='rw=local-system,root=local-system' rpool/snaps # share -@rpool/snaps /rpool/snaps sec=sys,rw=local-system,root=local-system "" |
ルートプールの再帰的なスナップショットを作成します。
local# zfs snapshot -r rpool@0804 local# zfs list NAME USED AVAIL REFER MOUNTPOINT rpool 6.17G 60.8G 98K /rpool rpool@0804 0 - 98K - rpool/ROOT 4.67G 60.8G 21K /rpool/ROOT rpool/ROOT@0804 0 - 21K - rpool/ROOT/zfs1009BE 4.67G 60.8G 4.67G / rpool/ROOT/zfs1009BE@0804 386K - 4.67G - rpool/dump 1.00G 60.8G 1.00G - rpool/dump@0804 0 - 1.00G - rpool/swap 517M 61.3G 16K - rpool/swap@0804 0 - 16K - |
ルートプールのスナップショットをリモートシステムに送信します。
次に例を示します。
local# zfs send -Rv rpool@0804 > /net/remote-system/rpool/snaps/rpool.0804 sending from @ to rpool@0804 sending from @ to rpool/swap@0804 sending from @ to rpool/ROOT@0804 sending from @ to rpool/ROOT/zfs1009BE@0804 sending from @ to rpool/dump@0804 |
このシナリオでは、次の条件を前提としています。
ZFS ルートプールを回復できない
ZFS ルートプールのスナップショットがリモートシステム上に保存されており、NFS で共有されている
次の手順はすべてローカルシステム上で実行します。
CD/DVD またはネットワークから起動します。
SPARC システムで、次の起動方法の 1 つを選択します。
ok boot net -s ok boot cdrom -s |
-s オプションを使用しない場合は、インストールプログラムを終了する必要があります。
x86 システムでは、DVD またはネットワークから起動するオプションを選択します。その後、インストールプログラムを終了します。
リモートのスナップショットのデータセットをマウントします。
次に例を示します。
# mount -F nfs remote-system:/rpool/snaps /mnt |
ネットワークサービスを構成していない場合は、remote-system の IP アドレスを指定する必要があります。
ルートプールのディスクが置き換えられ、ZFS で使用可能なディスクラベルを含んでいない場合は、ディスクのラベルを変更する必要があります。
ディスクのラベル変更の詳細は、次の Web サイトを参照してください。
http://www.solarisinternals.com/wiki/index.php/ZFS_Troubleshooting_Guide
ルートプールを再作成します。
次に例を示します。
# zpool create -f -o failmode=continue -R /a -m legacy -o cachefile= /etc/zfs/zpool.cache rpool c1t1d0s0 |
ルートプールのスナップショットを復元します。
この手順には時間がかかることがあります。次に例を示します。
# cat /mnt/rpool.0804 | zfs receive -Fdu rpool |
ルートプールのデータセットが復元されていることを確認します。
次に例を示します。
# zfs list NAME USED AVAIL REFER MOUNTPOINT rpool 6.17G 60.8G 98K /a/rpool rpool@0804 0 - 98K - rpool/ROOT 4.67G 60.8G 21K /legacy rpool/ROOT@0804 0 - 21K - rpool/ROOT/zfs1009BE 4.67G 60.8G 4.67G /a rpool/ROOT/zfs1009BE@0804 398K - 4.67G - rpool/dump 1.00G 60.8G 1.00G - rpool/dump@0804 0 - 1.00G - rpool/swap 517M 61.3G 16K - rpool/swap@0804 0 - 16K - |
ルートプールの BE に bootfs プロパティーを設定します。
次に例を示します。
# zpool set bootfs=rpool/ROOT/zfs1009BE rpool |
新しいディスクに起動ブロックをインストールします。
SPARC システムの場合は、次のようになります。
# installboot -F zfs /usr/platform/`uname -i`/lib/fs/zfs/bootblk /dev/rdsk/c1t5d0s0 |
x86 システムの場合は、次のようになります。
# installgrub /boot/grub/stage1 /boot/grub/stage2 /dev/rdsk/c1t5d0s0 |
システムを再起動します。
# init 6 |
この手順では、ルートプールの既存のスナップショットを利用できることを前提としています。この例では、ルートプールのスナップショットはローカルシステム上にあります。次に例を示します。
# zfs snapshot -r rpool@0804 # zfs list NAME USED AVAIL REFER MOUNTPOINT rpool 6.17G 60.8G 98K /rpool rpool@0804 0 - 98K - rpool/ROOT 4.67G 60.8G 21K /rpool/ROOT rpool/ROOT@0804 0 - 21K - rpool/ROOT/zfs1009BE 4.67G 60.8G 4.67G / rpool/ROOT/zfs1009BE@0804 398K - 4.67G - rpool/dump 1.00G 60.8G 1.00G - rpool/dump@0804 0 - 1.00G - rpool/swap 517M 61.3G 16K - rpool/swap@0804 0 - 16K - |
システムをシャットダウンし、フェイルセーフモードで起動します。
ok boot -F failsafe Multiple OS instances were found. To check and mount one of them read-write under /a, select it from the following list. To not mount any, select 'q'. 1 /dev/dsk/c1t1d0s0 Solaris 10 10/09 s10s_u8wos_04 SPARC 2 rpool:11306141908645873833 ROOT/zfs10092BE Please select a device to be mounted (q for none) [?,??,q]: 2 mounting rpool on /a Starting shell. |
ルートプールの個々のスナップショットをロールバックします。
# zfs rollback -rf rpool@0804 # zfs rollback -rf rpool/ROOT@0804 # zfs rollback -rf rpool/ROOT/zfs1009BE@0804 |
再起動してマルチユーザーモードに戻します。
# init 6 |