JavaScript is required to for searching.
ナビゲーションリンクをスキップ
印刷ビューの終了
Oracle Solaris の管理: ZFS ファイルシステム     Oracle Solaris 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.  ZFS ルートプールのコンポーネントの管理

ZFS ルートプールのコンポーネントの管理 (概要)

ZFS ルートプールの一般的な要件

ZFS ルートプールの容量要件

ZFS ルートプールの構成要件

ZFS ルートプールのインストールに関する問題のトラブルシューティング

ZFS ルートプールを管理する

ZFS ルートプールをインストールする

ZFS ブート環境を更新する方法

代替 BE をマウントする方法

ミラー化ルートプールを構成する方法

ZFS ルートプールのディスクを交換する方法

別のルートプール内で BE を作成する方法

ZFS スワップデバイスおよびダンプデバイスを管理する

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

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

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

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

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

x86 システムで 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 のトラブルシューティングとプールの回復

12.  スナップショットのアーカイブとルートプールの回復

13.  推奨の Oracle Solaris ZFS プラクティス

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

索引

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

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

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

デフォルトでは、プールの bootfs プロパティーで指定されているファイルシステムが、ブート用に選択されます。このデフォルト選択は、SPARC システムで boot -Z コマンドに代替のブート可能ファイルシステムを指定するか、x86 システムで BIOS から代替のブートデバイスを選択することによって上書きできます。

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

インストール後にディスクを追加して、ミラー化された ZFS ルートプールを作成することができます。ミラー化ルートプールの作成の詳細については、「ミラー化ルートプールを構成する方法」を参照してください。

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

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

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

インストールおよび beadm アクティブ化処理中に、ZFS ルートファイルシステムが bootfs プロパティーで自動的に指定されます。

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

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

title Oracle Solaris 11 solaris SPARC
bootfs rpool/ROOT/solaris

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

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

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

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

たとえば、次の ZFS BE が beadm の出力のとおり使用可能であるとします。

# beadm list
BE        Active Mountpoint Space  Policy Created          
--        ------ ---------- -----  ------ -------          
solaris   -      -          19.18M static 2011-01-13 15:31 
solaris-1 NR     /          8.48G  static 2011-01-13 15:44

SPARC システムに複数の ZFS BE が存在する場合は、boot -L コマンドを使用できます。例:

ok boot -L                                 
Boot device: /pci@0/pci@0/pci@2/scsi@0/disk@3,0:a  File and args: -L
1 solaris
2 solaris-1
Select environment to boot: [ 1 - 2 ]: 2

To boot the selected entry, invoke:
boot [<root-device>] -Z rpool/ROOT/solaris-1

Program terminated
ok boot -Z rpool/ROOT/solaris-1

上記のコマンドでブートした BE は、次回のリブートにはアクティブになっていないことに留意してください。boot -Z 操作中に選択した BE から自動的にブートし続けるようにする場合は、この BE をアクティブにする必要があります。

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

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

title solaris
bootfs rpool/ROOT/solaris
kernel$ /platform/i86pc/kernel/amd64/unix -B $ZFS-BOOTFS
module$ /platform/i86pc/amd64/boot_archive
title solaris-1
bootfs rpool/ROOT/solaris-1
kernel$ /platform/i86pc/kernel/amd64/unix -B $ZFS-BOOTFS
module$ /platform/i86pc/amd64/boot_archive

GRUB によってブートデバイスとして識別されたデバイスに ZFS ストレージプールが含まれている場合、menu.lst ファイルを使用して GRUB メニューが作成されます。

複数の ZFS BE が存在する x86 システムでは、BE を GRUB メニューから選択できます。このメニューエントリに対応するルートファイルシステムが ZFS ファイルシステムである場合は、次のオプションが追加されます。

-B $ZFS-BOOTFS

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

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

title solaris
bootfs rpool/ROOT/solaris
kernel$ /platform/i86pc/kernel/amd64/unix -B $ZFS-BOOTFS
module$ /platform/i86pc/amd64/boot_archive
title solaris-1
bootfs rpool/ROOT/solaris-1
kernel$ /platform/i86pc/kernel/amd64/unix -B $ZFS-BOOTFS
module$ /platform/i86pc/amd64/boot_archive

例 5-3 x86: ZFS ルートファイルシステムの高速リブート

高速リブート機能は、x86 システム上で数秒間のうちにリブートする機能を提供します。高速リブート機能により、BIOS およびブートローダーによって発生する可能性のある長い遅延を回避して、新しいカーネルにリブートすることができます。システムを高速にリブートするこの機能により、大幅にダウンタイムが短縮され、効率が向上します。

beadm activate コマンドで BE 間を移行するときは、引き続き init 6 コマンドを使用する必要があります。reboot コマンドが適切となるほかのシステム操作については、reboot -f コマンドを使用できます。例:

# reboot -f

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

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

復旧のためにシステムをブートする方法

menu.lst の問題やルートパスワードの問題を伴う問題を解決するには、次の手順を使用します。ルートプールのディスクを交換する必要がある場合は、「ZFS ルートプールのディスクを交換する方法」を参照してください。完全なシステム (ベアメタル) 回復を実行する必要がある場合は、第 12 章スナップショットのアーカイブとルートプールの回復を参照してください。

  1. 適切なブート方法を選択します。
    • x86: Live Media - インストールメディアからブートし、回復手順のために GNOME 端末を使用します。

    • SPARC: テキストインストール – インストールメディアまたはネットワークからブートし、テキストインストール画面からオプション「3 Shell」を選択します。

    • x86: テキストインストール – GRUB メニューから「Text Installer and command line」ブートエントリを選択し、次にテキストインストール画面からオプション「3 Shell」を選択します。

    • SPARC: 自動インストール – 次のコマンドを使用して、シェルに出られるインストールメニューから直接ブートします。

      ok boot net:dhcp
    • x86: 自動インストール – ネットワーク上のインストールサーバーからのブートには PXE ブートが必要です。GRUB メニューから「Text Installer and command line」エントリを選択します。次に、テキストインストール画面からオプション「3 Shell」を選択します。

    たとえば、システムがブートしたあとで、オプション「3 Shell」を選択します。

            1  Install Oracle Solaris
            2  Install Additional Drivers
            3  Shell
            4  Terminal type (currently xterm)
            5  Reboot
    
    Please enter a number [1]: 3
    To return to the main menu, exit the shell
    #
  2. ブート回復の問題を選択します。
    • システムをシングルユーザーモードでブートし、/etc/passwd ファイルのシェルエントリを修正して、不正なルートシェルを解決します。

      x86 システムでは、選択したブートエントリを編集して -s オプションを追加します。

      たとえば、SPARC システムでは、システムをシャットダウンしてシングルモードでブートします。root としてログインしたら、/etc/passwd ファイルを編集してルートシェルエントリを修正します。

      # init 0
      ok boot -s
      
      Boot device: /pci@780/pci@0/pci@9/scsi@0/disk@0,0:a File and args: -s
      SunOS Release 5.11 Version 11.0 64-bit
      Copyright (c) 1983, 2011, Oracle and/or its affiliates. All rights
      reserved.
      Booting to milestone "milestone/single-user:default".
      Hostname: tardis.central
      Requesting System Maintenance Mode
      SINGLE USER MODE
      
      Enter user name for system maintenance (control-d to bypass): root
      Enter root password (control-d to bypass): xxxx
      single-user privilege assigned to root on /dev/console.
      Entering System Maintenance Mode
      
      Jan 24 13:23:54 su: 'su root' succeeded for root on /dev/console
      Oracle Corporation SunOS 5.11 11.0 November 2011
      su: No shell /usr/bin/mybash.  Trying fallback shell /sbin/sh.
      root@tardis.central:~# TERM =vt100; export TERM
      root@tardis.central:~# vi /etc/passwd
      root@tardis.central:~# <Press control-d> 
      logout
      svc.startd: Returning to milestone all.
    • menu.lst のブートエントリに関する問題を解決します。

      最初に、手順 1 に示したいずれかのブート方法を使用してメディアまたはネットワークからブートする必要があります。次に、ルートプールをインポートして、menu.lst のエントリを修正します。

      x86# zpool import -f rpool
      x86# cd /rpool/boot/grub
      x86# vi menu.lst
      x86# exit
              1  Install Oracle Solaris
              2  Install Additional Drivers
              3  Shell
              4  Terminal type (currently sun-color)
              5  Reboot
      
      Please enter a number [1]: 5

      システムが正常にブートすることを確認します。

    • システムにログインできない原因となっている不明なルートパスワードを解決します。

      最初に、手順 1 に示したいずれかのブート方法を使用してメディアまたはネットワークからブートする必要があります。次に、ルートプール (rpool) をインポートし、BE をマウントしてルートパスワードエントリを削除します。この処理は、SPARC プラットフォームと x86 プラットフォームで同一です。

      # zpool import -f rpool
      # beadm list
      be_find_current_be: failed to find current BE name
      be_find_current_be: failed to find current BE name
      BE                 Active Mountpoint Space  Policy Created          
      --                 ------ ---------- -----  ------ -------          
      solaris            -      -          11.45M static 2011-10-22 00:30 
      solaris-2          R      -          12.69G static 2011-10-21 21:04 
      # mkdir /a
      # beadm mount solaris-2 /a
      # TERM=vt100
      # export TERM
      # cd /a/etc
      # vi shadow 
      <Carefully remove the unknown password>
      # cd /
      # beadm umount solaris-2
      # halt

      次の手順に進んでルートパスワードを設定します。

  3. シングルユーザーモードでブートしてパスワードを設定することで、ルートパスワードを設定します。

    この手順は、前の手順で不明なルートパスワードが削除されていることを前提としています。

    x86 システムでは、選択したブートエントリを編集して -s オプションを追加します。

    SPARC システムでは、システムをシングルユーザーモードでブートし、ルートパスワードを設定します。例:

    ok boot -s
    
    Boot device: /pci@780/pci@0/pci@9/scsi@0/disk@0,0:a File and args: -s
    SunOS Release 5.11 Version 11.0 64-bit
    Copyright (c) 1983, 2011, Oracle and/or its affiliates. All rights
    reserved.
    Booting to milestone "milestone/single-user:default".
    Hostname: tardis.central
    Requesting System Maintenance Mode
    SINGLE USER MODE
    
    Enter user name for system maintenance (control-d to bypass): root
    Enter root password (control-d to bypass): <Press return>
    single-user privilege assigned to root on /dev/console.
    Entering System Maintenance Mode
    
    Jan 24 13:23:54 su: 'su root' succeeded for root on /dev/console
    Oracle Corporation SunOS 5.11 11.0 November 2011
    root@tardis.central:~# passwd -r files root
    New Password: xxxxxx
    Re-enter new Password: xxxxxx
    passwd: password successfully changed for root
    root@tardis.central:~# <Press control-d> 
    logout
    svc.startd: Returning to milestone all.