ナビゲーションリンクをスキップ | |
印刷ビューの終了 | |
Oracle Solaris ZFS 管理ガイド Oracle Solaris 10 8/11 Information Library (日本語) |
1. Oracle Solaris ZFS ファイルシステム (概要)
3. Oracle Solaris ZFS ファイルシステムと従来のファイルシステムの相違点
4. Oracle Solaris ZFS ストレージプールの管理
5. Oracle Solaris ZFS ルートファイルシステムのインストールとブート
Oracle Solaris ZFS ルートファイルシステムのインストールとブート (概要)
ZFS をサポートするための Oracle Solaris インストールと Live Upgrade の要件
ZFS ルートファイルシステムのインストール (Oracle Solaris 初期インストール)
ミラー化された ZFS ルートプールを作成する方法 (インストール後)
ZFS ルートファイルシステムのインストール (Oracle Solaris フラッシュアーカイブインストール)
ZFS ルートファイルシステムのインストール (JumpStart インストール)
ZFS ルートファイルシステムへの移行または ZFS ルートファイルシステムの更新 (Live Upgrade)
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 ルートプールを再作成しルートプールのスナップショットを復元する方法
フェイルセーフブートからルートプールのスナップショットをロールバックする方法
6. Oracle Solaris ZFS ファイルシステムの管理
7. Oracle Solaris ZFS のスナップショットとクローンの操作
8. ACL および属性を使用した Oracle Solaris ZFS ファイルの保護
10. Oracle Solaris ZFS の高度なトピック
11. Oracle Solaris ZFS のトラブルシューティングとプールの回復
SPARC システムと x86 システムの両方で、ブートアーカイブによる新しい形式のブート方法が使用されます。ブートアーカイブは、ブートに必要なファイルを含んだファイルシステムイメージです。ZFS ルートファイルシステムからシステムがブートされる際には、ブートアーカイブとカーネルファイルのパス名が、ブート用に選択されたルートファイルシステム内で解決されます。
インストールのためにシステムをブートする場合は、インストール処理の全体にわたって RAM ディスクがルートファイルシステムとして使用されます。
ZFS では、単一のルートファイルシステムではなくストレージプールがブートデバイス指定子で指定されるため、ZFS ファイルシステムからのブートは UFS ファイルシステムからのブートとは異なります。ストレージプールには、複数の「ブート可能なデータセット」または ZFS ルートファイルシステムが含まれている場合があります。ZFS からブートする場合は、ブートデバイスと、ブートデバイスによって指定されたプール内のルートファイルシステムを指定する必要があります。
デフォルトでは、プールの bootfs プロパティーで指定されているデータセットが、ブート用に選択されます。別のブート可能データセットを boot -Z コマンドに指定することで、このデフォルトの選択を無効にできます。
ミラー化された ZFS ルートプールは、システムのインストール時に作成するか、インストール後にディスクを接続することによって作成することができます。詳細については、次のトピックを参照してください。
ミラー化された ZFS ルートプールに関して、次に示す既知の問題を確認してください。
zpool replace コマンドを使用してルートプールディスクを置き換える場合、installboot または installgrub コマンドを使用して、新しく置き換えられるディスクのブート情報をインストールする必要があります。初期インストール方法を使用して、ミラー化された ZFS ルートプールを作成するか、zpool attach コマンドを使用してディスクをルートプールに接続する場合、この手順は不要です。installboot および installgrub のコマンド構文は次のようになります。
SPARC:
sparc# installboot -F zfs /usr/platform/`uname -i`/lib/fs/zfs/bootblk
x86:
x86# installgrub /boot/grub/stage1 /boot/grub/stage2 /dev/rdsk/c0t1d0s0
ミラー化された ZFS ルートプールのさまざまなデバイスからブートすることができます。ハードウェア構成によっては、別のブートデバイスを指定するには、PROM または BIOS の更新が必要になる場合があります。
たとえば、次のプール内のどちらかのディスク (c1t0d0s0 または c1t1d0s0) からブートできます。
# zpool status rpool pool: rpool state: ONLINE scrub: none requested config: NAME STATE READ WRITE CKSUM rpool ONLINE 0 0 0 mirror-0 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@0
システムがリブートしたら、アクティブなブートデバイスを確認します。次に例を示します。
SPARC# prtconf -vp | grep bootpath bootpath: '/pci@7c0/pci@0/pci@1/pci@0,2/LSILogic,sas@2/disk@0,0:a'
x86: ミラー化された ZFS ルートプールの代替ディスクを、適切な BIOS メニューで選択します。
続いて、次のような構文を使って、代替ディスクからブートされていることを確認します。
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'
複数の 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 ブートオプションを使用できます。
その BE がアクティブになったあと、boot -L コマンドを使用して ZFS プール内のブート可能なデータセットのリストを表示できます。その後、ブート可能なデータセットの 1 つをリストで選択できます。そのデータセットをブートするための詳細な手順が表示されます。手順に従って、選択したデータセットをブートできます。
boot -Z dataset コマンドを使用して、特定の 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
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
アクティブなブート環境 (BE) を変更するための最適な方法は、luactivate コマンドを使用することです。不適切なパッチや構成エラーが原因でアクティブな BE のブートに失敗する場合、別の BE 環境からブートする唯一の方法は、ブート時にその環境を選択することです。SPARC ベースのシステム上の PROM から、または x86 ベースのシステム上の GRUB メニューから代替 BE を明示的にブートすることによって、代替 BE を選択できます。
Solaris 10 10/08 リリースの Live Upgrade のバグのため、アクティブでない BE 環境はブートに失敗する場合があります。これは、ブート環境の ZFS データセットまたはゾーンの ZFS データセットに無効なマウントポイントが含まれているためです。同じバグのため、BE に別の /var データセットがある場合は、BE をマウントすることもできなくなります。
ゾーンのデータセットに無効なマウントポイントが含まれている場合は、次の手順を実行してマウントポイントを修正することができます。
次に例を示します。
# zpool import rpool
例:
# 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 データセットについて同様に、正しくない一時的なマウントポイントを探します。
次に例を示します。
# zfs inherit -r mountpoint rpool/ROOT/s10up # zfs set mountpoint=/ rpool/ROOT/s10up
OpenBoot PROM プロンプトまたは GRUB メニューで、特定の BE をブートするオプションが表示されたら、マウントポイントが修正されたブート環境を選択します。
失われた root パスワードやそれに似た問題から回復する目的でシステムをブートする必要がある場合は、次の手順を使用します。
エラーの深刻度に応じてフェイルセーフモードのブート、代替メディアからのブートのいずれかを行う必要があります。一般に、フェイルセーフモードをブートすれば、失われたか未知の root パスワードを回復することができます。
ルートプールまたはルートプールのスナップショットを回復する必要がある場合は、「ZFS ルートプールまたはルートプールのスナップショットを回復する」を参照してください。
SPARC ベースのシステムでは、ok プロンプトに次を入力します。
ok boot -F failsafe
x86 システムの場合、GRUB メニューからフェイルセーフモードを選択します。
. . . 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.
# cd /a/etc
# TERM=vt100 # export TERM
# vi shadow
# init 6
システムの正常なブートを妨げる問題やその他の何らかの深刻な問題が発生した場合には、ネットワークインストールサーバーまたは Oracle Solaris インストール DVD からブートし、ルートプールをインポートし、ZFS BE をマウントし、問題の解決を試みる必要があります。
SPARC - 次のいずれかのブート方法を選択します。
ok boot cdrom -s ok boot net -s
-s オプションを使用しない場合は、インストールプログラムを終了する必要があります。
x86 - ネットワークブートオプションまたはローカル DVD からのブートのいずれかを選択します。
# zpool import -R /a rpool
# zfs mount rpool/ROOT/zfsBE
# cd /a
# init 6