JavaScript is required to for searching.
ナビゲーションリンクをスキップ
印刷ビューの終了
Oracle Solaris ZFS 管理ガイド     Oracle Solaris 10 8/11 Information Library (日本語)
search filter icon
search icon

ドキュメントの情報

はじめに

1.  Oracle Solaris ZFS ファイルシステム (概要)

2.  Oracle Solaris ZFS 入門

3.  Oracle Solaris ZFS ファイルシステムと従来のファイルシステムの相違点

4.  Oracle Solaris ZFS ストレージプールの管理

5.  Oracle Solaris ZFS ルートファイルシステムのインストールとブート

Oracle Solaris ZFS ルートファイルシステムのインストールとブート (概要)

ZFS インストール機能

ZFS をサポートするための Oracle Solaris インストールと Live Upgrade の要件

Oracle Solaris リリースの要件

一般的な ZFS ストレージプール要件

ZFS ストレージプールのディスク容量要件

ZFS ストレージプールの構成要件

ZFS ルートファイルシステムのインストール (Oracle Solaris 初期インストール)

ミラー化された ZFS ルートプールを作成する方法 (インストール後)

ZFS ルートファイルシステムのインストール (Oracle Solaris フラッシュアーカイブインストール)

ZFS ルートファイルシステムのインストール (JumpStart インストール)

ZFS 用の JumpStart キーワード

ZFS 用 JumpStart プロファイルの例

ZFS の JumpStart に関する問題

ZFS ルートファイルシステムへの移行または ZFS ルートファイルシステムの更新 (Live Upgrade)

Live Upgrade で ZFS に移行する際の問題

Live Upgrade を使用して ZFS ルートファイルシステム (ゾーンが含まれていない) を移行または更新する

ゾーンが含まれているシステムを Live Upgrade を使用して移行またはアップグレードする (Solaris 10 10/08)

UFS 上にゾーンルートを持つ UFS ルートファイルシステムを ZFS ルートファイルシステムに移行する方法 (Solaris 10 10/08)

ZFS 上にゾーンルートを持つ ZFS ルートファイルシステムを構成する方法 (Solaris 10 10/08)

ZFS 上にゾーンルートを持つ ZFS ルートファイルシステムにアップグレードまたはパッチを適用する方法 (Solaris 10 10/08)

ゾーンが含まれているシステムを Oracle Solaris Live Upgrade で移行またはアップグレードする (Solaris 10 5/09 以降)

サポートされているゾーンルート構成を持つ ZFS の情報 (Solaris 10 5/09 以降)

ZFS ルートファイルシステムとゾーンルートを持つ ZFS BE を作成する方法 (Solaris 10 5/09 以降)

ゾーンルートを持つ ZFS ルートファイルシステムにアップグレードまたはパッチを適用する方法 (Solaris 10 5/09 以降)

ゾーンルートを持つ UFS ルートファイルシステムを ZFS ルートファイルシステムに移行する方法 (Solaris 10 5/09 以降)

スワップデバイスおよびダンプデバイスの ZFS サポート

ZFS スワップデバイスおよびダンプデバイスのサイズを調整する

ZFS ダンプデバイスの問題のトラブルシューティング

ZFS ルートファイルシステムからのブート

ミラー化された ZFS ルートプールの代替ディスクからブートする

SPARC: ZFS ルートファイルシステムからブートする

x86: ZFS ルートファイルシステムからブートする

正常なブートを妨げる ZFS マウントポイントの問題の解決 (Solaris 10 10/08)

ZFS マウントポイントの問題を解決する方法

ZFS ルート環境での回復のためのブート

ZFS フェイルセーフモードをブートする方法

代替メディアから ZFS をブートする方法

ZFS ルートプールまたはルートプールのスナップショットを回復する

ZFS ルートプールのディスクを置き換える方法

ルートプールのスナップショットを作成する方法

ZFS ルートプールを再作成しルートプールのスナップショットを復元する方法

フェイルセーフブートからルートプールのスナップショットをロールバックする方法

6.  Oracle Solaris ZFS ファイルシステムの管理

7.  Oracle Solaris ZFS のスナップショットとクローンの操作

8.  ACL および属性を使用した Oracle Solaris ZFS ファイルの保護

9.  Oracle Solaris ZFS 委任管理

10.  Oracle Solaris ZFS の高度なトピック

11.  Oracle Solaris ZFS のトラブルシューティングとプールの回復

A.  Oracle Solaris ZFS バージョンの説明

索引

ZFS ルートファイルシステムからのブート

SPARC システムと x86 システムの両方で、ブートアーカイブによる新しい形式のブート方法が使用されます。ブートアーカイブは、ブートに必要なファイルを含んだファイルシステムイメージです。ZFS ルートファイルシステムからシステムがブートされる際には、ブートアーカイブとカーネルファイルのパス名が、ブート用に選択されたルートファイルシステム内で解決されます。

インストールのためにシステムをブートする場合は、インストール処理の全体にわたって RAM ディスクがルートファイルシステムとして使用されます。

ZFS では、単一のルートファイルシステムではなくストレージプールがブートデバイス指定子で指定されるため、ZFS ファイルシステムからのブートは UFS ファイルシステムからのブートとは異なります。ストレージプールには、複数の「ブート可能なデータセット」または ZFS ルートファイルシステムが含まれている場合があります。ZFS からブートする場合は、ブートデバイスと、ブートデバイスによって指定されたプール内のルートファイルシステムを指定する必要があります。

デフォルトでは、プールの bootfs プロパティーで指定されているデータセットが、ブート用に選択されます。別のブート可能データセットを boot -Z コマンドに指定することで、このデフォルトの選択を無効にできます。

ミラー化された ZFS ルートプールの代替ディスクからブートする

ミラー化された ZFS ルートプールは、システムのインストール時に作成するか、インストール後にディスクを接続することによって作成することができます。詳細については、次のトピックを参照してください。

ミラー化された ZFS ルートプールに関して、次に示す既知の問題を確認してください。

SPARC: ZFS ルートファイルシステムからブートする

複数の ZFS BE が存在する SPARC システムでは、luactivate コマンドを使用することによって、任意の BE からブートできます。

Oracle Solaris OS インストールおよび Live Upgrade の処理中に、デフォルトの ZFS ルートファイルシステムが bootfs プロパティーで自動的に指定されます。

ブート可能なデータセットがプール内に複数存在する場合があります。デフォルトでは、/pool-name/boot/menu.lst ファイルのブート可能データセットのエントリは、プールの bootfs プロパティーで指定されます。ただし、menu.lst のエントリに bootfs コマンドを含めて、プールの代替データセットを指定することもできます。このように、menu.lst ファイルには、プール内の複数のルートファイルシステムに対応するエントリが含まれている場合があります。

システムを ZFS ルートファイルシステムでインストールするか、ZFS ルートファイルシステムに移行すると、次のようなエントリが menu.lst ファイルに追加されます。

title zfsBE
bootfs rpool/ROOT/zfsBE
title zfs2BE
bootfs rpool/ROOT/zfs2BE

新しい BE を作成すると、menu.lst ファイルが自動的に更新されます。

SPARC ベースのシステムでは、2 つの ZFS ブートオプションを使用できます。

例 5-11 SPARC: 特定の ZFS ブート環境からブートする

システムのブートデバイス上の ZFS ストレージプールに複数の ZFS BE が存在する場合は、luactivate コマンドを使用してデフォルトの BE を指定できます。

たとえば、次の lustatus 出力では、2 つの ZFS BE が使用可能なことを示しています。

# lustatus
Boot Environment           Is       Active Active    Can    Copy      
Name                       Complete Now    On Reboot Delete Status    
-------------------------- -------- ------ --------- ------ ----------
zfsBE                      yes      no     no        yes    -         
zfs2BE                     yes      yes    yes       no     -

SPARC システム上に ZFS BE が複数存在している場合、boot -L コマンドを使用すれば、デフォルト BE とは異なる BE からブートすることができます。ただし、boot -L セッションからブートされた BE がデフォルト BE としてリセットされることはなく、bootfs プロパティーも更新されません。boot -L セッションからブートされた BE をデフォルト BE にするには、その BE を luactivate コマンドでアクティブにする必要があります。

次に例を示します。

ok boot -L
Rebooting with command: boot -L
Boot device: /pci@7c0/pci@0/pci@1/pci@0,2/LSILogic,sas@2/disk@0  File and args: -L

1 zfsBE
2 zfs2BE
Select environment to boot: [ 1 - 2 ]: 1
To boot the selected entry, invoke:
boot [<root-device>] -Z rpool/ROOT/zfsBE

Program terminated
ok boot -Z rpool/ROOT/zfsBE

例 5-12 SPARC: ZFS ファイルシステムをフェイルセーフモードでブートする

SPARC システムでは、/platform/`uname -i`/failsafe にあるフェイルセーフアーカイブから、次のようにブートできます。

ok boot -F failsafe

特定の ZFS ブート可能データセットのフェイルセーフアーカイブをブートするには、次のような構文を使用します。

ok boot -Z rpool/ROOT/zfsBE -F failsafe

x86: ZFS ルートファイルシステムからブートする

Oracle Solaris OS インストール中または Live Upgrade 処理中に、ZFS を自動的にブートするための次のようなエントリが /pool-name/boot/grub/menu.lst ファイルに追加されます。

title Solaris 10 8/11  X86
findroot (rootfs0,0,a)
kernel$ /platform/i86pc/multiboot -B $ZFS-BOOTFS
module /platform/i86pc/boot_archive
title Solaris failsafe
findroot (rootfs0,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

例 5-13 x86: ZFS ファイルシステムをブートする

システムが ZFS ファイルシステムからブートするとき、ルートデバイスは -B $ZFS-BOOTFS ブートパラメータによって指定されます。例:

title Solaris 10 8/11  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

例 5-14 x86: ZFS ファイルシステムをフェイルセーフモードでブートする

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

正常なブートを妨げる ZFS マウントポイントの問題の解決 (Solaris 10 10/08)

アクティブなブート環境 (BE) を変更するための最適な方法は、luactivate コマンドを使用することです。不適切なパッチや構成エラーが原因でアクティブな BE のブートに失敗する場合、別の BE 環境からブートする唯一の方法は、ブート時にその環境を選択することです。SPARC ベースのシステム上の PROM から、または x86 ベースのシステム上の GRUB メニューから代替 BE を明示的にブートすることによって、代替 BE を選択できます。

Solaris 10 10/08 リリースの Live Upgrade のバグのため、アクティブでない BE 環境はブートに失敗する場合があります。これは、ブート環境の ZFS データセットまたはゾーンの ZFS データセットに無効なマウントポイントが含まれているためです。同じバグのため、BE に別の /var データセットがある場合は、BE をマウントすることもできなくなります。

ゾーンのデータセットに無効なマウントポイントが含まれている場合は、次の手順を実行してマウントポイントを修正することができます。

ZFS マウントポイントの問題を解決する方法

  1. フェイルセーフアーカイブからシステムをブートします。
  2. プールをインポートします。

    次に例を示します。

    # zpool import rpool
  3. 正しくない一時的なマウントポイントを探します。

    例:

    # zfs list -r -o name,mountpoint rpool/ROOT/s10up
        
        NAME                               MOUNTPOINT
        rpool/ROOT/s10up                   /.alt.tmp.b-VP.mnt/
        rpool/ROOT/s10up/zones             /.alt.tmp.b-VP.mnt//zones
        rpool/ROOT/s10up/zones/zonerootA   /.alt.tmp.b-VP.mnt/zones/zonerootA

    ルート BE (rpool/ROOT/s10up) のマウントポイントは / となるべきです。

    /var のマウントの問題が原因でブートに失敗する場合は、/var データセットについて同様に、正しくない一時的なマウントポイントを探します。

  4. ZFS BE とそのデータセットのマウントポイントを設定しなおします。

    次に例を示します。

    # zfs inherit -r mountpoint rpool/ROOT/s10up
    # zfs set mountpoint=/ rpool/ROOT/s10up
  5. システムをリブートします。

    OpenBoot PROM プロンプトまたは GRUB メニューで、特定の BE をブートするオプションが表示されたら、マウントポイントが修正されたブート環境を選択します。

ZFS ルート環境での回復のためのブート

失われた root パスワードやそれに似た問題から回復する目的でシステムをブートする必要がある場合は、次の手順を使用します。

エラーの深刻度に応じてフェイルセーフモードのブート、代替メディアからのブートのいずれかを行う必要があります。一般に、フェイルセーフモードをブートすれば、失われたか未知の root パスワードを回復することができます。

ルートプールまたはルートプールのスナップショットを回復する必要がある場合は、「ZFS ルートプールまたはルートプールのスナップショットを回復する」を参照してください。

ZFS フェイルセーフモードをブートする方法

  1. フェイルセーフモードをブートします。
    • SPARC ベースのシステムでは、ok プロンプトに次を入力します。

      ok boot -F failsafe
    • x86 システムの場合、GRUB メニューからフェイルセーフモードを選択します。

  2. プロンプトが表示されたら、ZFS BE を /a にマウントします。
    .
    .
    .
    ROOT/zfsBE was found on rpool.
    Do you wish to have it mounted read-write on /a? [y,n,?] y
    mounting rpool on /a
    Starting shell.
  3. /a/etc ディレクトリに移動します。
    # cd /a/etc
  4. 必要であれば、TERM タイプを設定します。
    # TERM=vt100
    # export TERM
  5. passwd または shadow ファイルを修正します。
    # vi shadow
  6. システムをリブートします。
    # init 6

代替メディアから ZFS をブートする方法

システムの正常なブートを妨げる問題やその他の何らかの深刻な問題が発生した場合には、ネットワークインストールサーバーまたは Oracle Solaris インストール DVD からブートし、ルートプールをインポートし、ZFS BE をマウントし、問題の解決を試みる必要があります。

  1. インストール DVD またはネットワークからブートします。
    • SPARC - 次のいずれかのブート方法を選択します。

      ok boot cdrom -s 
      ok boot net -s

      -s オプションを使用しない場合は、インストールプログラムを終了する必要があります。

    • x86 - ネットワークブートオプションまたはローカル DVD からのブートのいずれかを選択します。

  2. ルートプールをインポートし、代替マウントポイントを指定します。例:
    # zpool import -R /a rpool
  3. ZFS BE をマウントします。次に例を示します。
    # zfs mount rpool/ROOT/zfsBE
  4. /a ディレクトリから ZFS BE の内容にアクセスします。
    # cd /a
  5. システムをリブートします。
    # init 6