Oracle Solaris ZFS 管理ガイド

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

この Solaris リリースでは、Solaris 対話式テキストインストーラを使用して初期インストールを実行し、ブート可能な ZFS ルートファイルシステムを含む ZFS ストレージプールを作成できます。既存の ZFS ストレージプールを ZFS ルートファイルシステムとして使用するには、Oracle Solaris Live Upgrade を使用して、既存の ZFS ストレージプール内で既存の UFS ルートファイルシステムを ZFS ファイルシステムに移行する必要があります。詳細は、「UFS ルートファイルシステムから ZFS ルートファイルシステムへの移行 (Oracle Solaris Live Upgrade)」を参照してください。

ZFS ルートファイルシステムの初期インストールのあとでゾーンを構成し、システムにパッチやアップグレードを適用することを計画している場合は、「ゾーンが含まれているシステムを Oracle Solaris Live Upgrade で移行またはアップグレードする (Solaris 10 10/08)」または 「ゾーンが含まれているシステムを Oracle Solaris Live Upgrade で移行またはアップグレードする (Solaris 10 5/09 以降)」を参照してください。

ZFS ストレージプールがシステム上にすでに存在している場合、次のメッセージによってその旨が通知されます。ただし、ユーザーがそれらの既存プール内のディスクを新たに作成するストレージプール用として選択しないかぎり、それらのプールはそのまま残されます。


There are existing ZFS pools available on this system.  However, they can only be upgraded 
using the Live Upgrade tools.  The following screens will only allow you to install a ZFS root system, 
not upgrade one.

注意 – 注意 –

既存のプールのディスクのいずれかを新しいプール用に選択すると、既存のプールは破棄されます。


初期インストールを実行して ZFS ストレージプールを作成する前に、「ZFS をサポートするための Oracle Solaris インストールと Oracle Solaris Live Upgrade の要件」を参照してください。


例 5–1 ブート可能な ZFS ルートファイルシステムの初期インストール

Solaris 対話式テキストインストーラによるインストール処理は、基本的に以前の Solaris リリースの場合と同じですが、UFS または ZFS ルートファイルシステムの作成を求めるプロンプトが表示される点が異なります。このリリースでも、デフォルトのファイルシステムは UFS です。ZFS ルートファイルシステムを選択すると、ZFS ストレージプールの作成を求めるプロンプトが表示されます。ZFS ルートファイルシステムのインストール手順は次のとおりです。

  1. ブート可能な ZFS ルートファイルシステムの作成に Solaris フラッシュインストールは使用できないため、Solaris の対話式インストール方法を選択します。ただし、ZFS フラッシュアーカイブを作成して JumpStart インストール時に使用することができます。詳細は、「ZFS ルートファイルシステムのインストール (Oracle Solaris フラッシュアーカイブインストール)」を参照してください。

    Solaris 10 10/08 以降のリリースでは、Solaris 10 10/08 以降のリリースがすでにインストールされていれば、UFS ルートファイルシステムから ZFS ルートファイルシステムに移行することができます。ZFS ルートファイルシステムへの移行の詳細については、「UFS ルートファイルシステムから ZFS ルートファイルシステムへの移行 (Oracle Solaris Live Upgrade)」を参照してください。

  2. ZFS ルートファイルシステムを作成するには、ZFS オプションを選択します。次に例を示します。


    Choose Filesystem Type
    
      Select the filesystem to use for your Solaris installation
    
    
                [ ] UFS
                [X] ZFS
  3. インストールするソフトウェアを選択したあと、ZFS ストレージプールを作成するためのディスクの選択を求めるプロンプトが表示されます。この画面は、前の Solaris リリースとほぼ同じです。


    Select Disks
    
      On this screen you must select the disks for installing Solaris software.
      Start by looking at the Suggested Minimum field; this value is the
      approximate space needed to install the software you've selected. For ZFS,
      multiple disks will be configured as mirrors, so the disk you choose, or the
      slice within the disk must exceed the Suggested Minimum value.
      NOTE: ** denotes current boot disk
    
      Disk Device                                              Available Space
      =============================================================================
      [X]    c1t0d0                                           69994 MB  (F4 to edit)
      [ ]    c1t1d0                                           69994 MB
      [-]    c1t2d0                                               0 MB
      [-]    c1t3d0                                               0 MB
    
                                      Maximum Root Size:  69994 MB
                                      Suggested Minimum:   8279 MB

    ZFS ルートプールに使用する 1 つ以上のディスクを選択できます。2 つのディスクを選択すると、ルートプールには 2 ディスク構成が設定されます。2 ディスクまたは 3 ディスクのミラー化プールが最適です。8 つのディスクがある場合にそれらすべてを選択すると、ルートプールでは 8 つのディスクが単一の大規模なミラーとして使用されます。この構成は最適ではありません。もう 1 つの方法は、初期インストールの完了後にミラー化ルートプールを作成することです。ルートプールでは RAID-Z プール構成はサポートされていません。ZFS ストレージプールの構成方法の詳細については、「ZFS ストレージプールの複製機能」を参照してください。

  4. ミラー化ルートプールを作成するために 2 つのディスクを選択するには、Ctrl キーを押しながら 2 番目のディスクをクリックします。次の例では、c1t1d1c1t2d0 の両方をルートプールディスクとして選択しています。両方のディスクには、SMI ラベルが付けられていて、スライス 0 が割り当てられていなければなりません。ディスクに SMI ラベルが付けられていない場合やディスクにスライスが含まれていない場合は、インストールプログラムを終了し、format ユーティリティを使用して、ディスクのラベルを変更し、パーティションを再設定してから、インストールプログラムを再起動してください。


    Select Disks
    
      On this screen you must select the disks for installing Solaris software.
      Start by looking at the Suggested Minimum field; this value is the
      approximate space needed to install the software you've selected. For ZFS,
      multiple disks will be configured as mirrors, so the disk you choose, or the
      slice within the disk must exceed the Suggested Minimum value.
      NOTE: ** denotes current boot disk
    
      Disk Device                                              Available Space
      =============================================================================
      [X]    c1t0d0                                           69994 MB  
      [X]    c1t1d0                                           69994 MB  (F4 to edit)
      [-]    c1t2d0                                               0 MB
      [-]    c1t3d0                                               0 MB
    
                                      Maximum Root Size:  69994 MB
                                      Suggested Minimum:   8279 MB

    「Available Space」欄が 0M バイトになっている場合、そのディスクには通常 EFI ラベルが付いています。EFI ラベルの付いたディスクを使用するには、インストールプログラムを終了し、format -e コマンドを使ってそのディスクに SMI ラベルを付け直したあと、インストールプログラムを再度起動します。

    インストール中にミラー化ルートプールを作成しなかった場合も、インストール後にそのようなプールを容易に作成できます。これについては、「ミラー化ルートプールを作成する方法 (インストール後)」を参照してください。

  5. ZFS ルートプールに使用する 1 つ以上のディスクを選択したら、次のような画面が表示されます。


    Configure ZFS Settings
    
      Specify the name of the pool to be created from the disk(s) you have chosen.
      Also specify the name of the dataset to be created within the pool that is
      to be used as the root directory for the filesystem.
    
                  ZFS Pool Name: rpool                                   
          ZFS Root Dataset Name: s10s_u9wos_08
          ZFS Pool Size (in MB): 69995
      Size of Swap Area (in MB): 2048
      Size of Dump Area (in MB): 1536
            (Pool size must be between 6231 MB and 69995 MB)
    
                             [X] Keep / and /var combined
                             [ ] Put /var on a separate dataset

    この画面では、ZFS プールの名前、データセット名、プールサイズ、およびスワップデバイスとダンプデバイスのサイズを変更できます。変更するには、カーソル制御キーでエントリの中を移動し、デフォルトの値を新しい値で置き換えます。あるいは、デフォルト値をそのまま使用できます。また、/var ファイルシステムの作成およびマウントの方法を変更することもできます。

    次の例では、ルートデータセットの名前が zfsBE に変更されます。


                  ZFS Pool Name: rpool
          ZFS Root Dataset Name: zfsBE                                   
          ZFS Pool Size (in MB): 69995
      Size of Swap Area (in MB): 2048
      Size of Dump Area (in MB): 1536
            (Pool size must be between 6231 MB and 69995 MB)
    
                             [X] Keep / and /var combined
                             [ ] Put /var on a separate dataset
  6. この最後のインストール画面では、インストールプロファイルを変更できます。次に例を示します。


    Profile
    
      The information shown below is your profile for installing Solaris software.
      It reflects the choices you've made on previous screens.
    
      ============================================================================
    
                    Installation Option: Initial
                            Boot Device: c1t0d0
                  Root File System Type: ZFS
                        Client Services: None
    
                                Regions: North America
                          System Locale: C ( C )
    
                               Software: Solaris 10, Entire Distribution
                              Pool Name: rpool
                  Boot Environment Name: zfsBE
                              Pool Size: 69995 MB
                        Devices in Pool: c1t0d0
                                         c1t1d0
  7. インストールが完了したら、作成された ZFS ストレージプールおよびファイルシステムの情報を確認します。次に例を示します。


    # zpool status
      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
    
    errors: No known data errors
    # zfs list
    NAME                USED  AVAIL  REFER  MOUNTPOINT
    rpool              8.03G  58.9G    96K  /rpool
    rpool/ROOT         4.47G  58.9G    21K  legacy
    rpool/ROOT/zfsBE   4.47G  58.9G  4.47G  /
    rpool/dump         1.50G  58.9G  1.50G  -
    rpool/export         44K  58.9G    23K  /export
    rpool/export/home    21K  58.9G    21K  /export/home
    rpool/swap         2.06G  61.0G    16K  -

    このサンプルの zfs list の出力では、rpool/ROOT ディレクトリなどルートプールのコンポーネントが識別されています。デフォルトでは、これらにはアクセスできません。

  8. 同じストレージプール内に別の ZFS ブート環境 (BE) を作成するには、lucreate コマンドを使用できます。次の例では、zfs2BE という名前の新しい BE が作成されます。zfs list の出力からわかるように、現在の BE の名前は zfsBE です。ただし、この現在の BE は、新しい BE が作成されるまで lustatus の出力に表示されません。


    # lustatus
    ERROR: No boot environments are configured on this system
    ERROR: cannot determine list of all boot environment names

    同じプール内に新しい ZFS BE を作成する場合は、次のような構文を使用します。


    # lucreate -n zfs2BE
    INFORMATION: The current boot environment is not named - assigning name <zfsBE>.
    Current boot environment is named <zfsBE>.
    Creating initial configuration for primary boot environment <zfsBE>.
    The device </dev/dsk/c1t0d0s0> is not a root device for any boot environment; cannot get BE ID.
    PBE configuration successful: PBE name <zfsBE> PBE Boot Device </dev/dsk/c1t0d0s0>.
    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.
    Updating system configuration files.
    Creating configuration for boot environment <zfs2BE>.
    Source boot environment is <zfsBE>.
    Creating boot environment <zfs2BE>.
    Cloning file systems from boot environment <zfsBE> to create boot environment <zfs2BE>.
    Creating snapshot for <rpool/ROOT/zfsBE> on <rpool/ROOT/zfsBE@zfs2BE>.
    Creating clone for <rpool/ROOT/zfsBE@zfs2BE> on <rpool/ROOT/zfs2BE>.
    Setting canmount=noauto for </> in zone <global> on <rpool/ROOT/zfs2BE>.
    Population of boot environment <zfs2BE> successful.
    Creation of boot environment <zfs2BE> successful.

    同じプール内で ZFS BE を作成する場合、ZFS のクローン機能とスナップショット機能を使ってその BE が即座に作成されます。Oracle Solaris Live Upgrade を使用した ZFS ルートへの移行の詳細については、「UFS ルートファイルシステムから ZFS ルートファイルシステムへの移行 (Oracle Solaris Live Upgrade)」を参照してください。

  9. 次に、新しいブート環境を確認します。次に例を示します。


    # lustatus
    Boot Environment           Is       Active Active    Can    Copy      
    Name                       Complete Now    On Reboot Delete Status    
    -------------------------- -------- ------ --------- ------ ----------
    zfsBE                      yes      yes    yes       no     -         
    zfs2BE                     yes      no     no        yes    -        
    # zfs list
    NAME                      USED  AVAIL  REFER  MOUNTPOINT
    rpool                    8.03G  58.9G    97K  /rpool
    rpool/ROOT               4.47G  58.9G    21K  legacy
    rpool/ROOT/zfs2BE         116K  58.9G  4.47G  /
    rpool/ROOT/zfsBE         4.47G  58.9G  4.47G  /
    rpool/ROOT/zfsBE@zfs2BE  75.5K      -  4.47G  -
    rpool/dump               1.50G  58.9G  1.50G  -
    rpool/export               44K  58.9G    23K  /export
    rpool/export/home          21K  58.9G    21K  /export/home
    rpool/swap               2.06G  61.0G    16K  -
  10. 代替 BE からブートするには、luactivate コマンドを使用します。SPARC システムで BE をアクティブにしたあと、起動デバイスに ZFS ストレージプールが含まれている場合は、利用可能な BE を boot -L コマンドで識別します。x86 システムから起動する場合は、起動する BE を GRUB メニューで識別します。

    たとえば、SPARC システムでは、boot -L コマンドを使用して利用可能な BE のリストを表示します。新しい BE zfs2BE から起動するには、オプション 2 を選択します。次に、表示された boot -Z コマンドを入力します。


    ok boot -L
    Executing last 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 ]: 2
    
    To boot the selected entry, invoke:
    boot [<root-device>] -Z rpool/ROOT/zfs2BE
    ok boot -Z rpool/ROOT/zfs2BE
    

ZFS ファイルシステムの起動に関する詳細は、「ZFS ルートファイルシステムからの起動」を参照してください。


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

インストール中に ZFS ミラー化ルートプールを作成しなかった場合も、インストール後にそのようなプールを容易に作成できます。

ZFS ルートプールのディスクを置き換える方法については、「ZFS ルートプールのディスクを置き換える方法」を参照してください。

  1. ルートプールの現在の状態を表示します。


    # zpool status rpool
      pool: rpool
     state: ONLINE
     scrub: none requested
    config:
    
            NAME        STATE     READ WRITE CKSUM
            rpool       ONLINE       0     0     0
              c1t0d0s0  ONLINE       0     0     0
    
    errors: No known data errors
  2. ミラー化ルートプール構成にするために、2 つ目のディスクを接続します。


    # zpool attach rpool c1t0d0s0 c1t1d0s0
    Please be sure to invoke installboot(1M) to make 'c1t1d0s0' bootable.
    Make sure to wait until resilver is done before rebooting.
  3. ルートプールの状態を表示し、再同期化が完了しているか確認します。


    # 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 for 0h1m, 24.26% done, 0h3m to go
    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  3.18G resilvered
    
    errors: No known data errors

    上の出力の場合、再同期化処理は完了していません。次のようなメッセージが表示されたら、再同期化が完了しています。


    scrub: resilver completed after 0h10m with 0 errors on Thu Mar 11 11:27:22 2010
  4. 再同期化の完了後、2 つ目のディスクにブートブロックを適用します。


    sparc# installboot -F zfs /usr/platform/`uname -i`/lib/fs/zfs/bootblk /dev/rdsk/c1t1d0s0
    

    x86# installgrub /boot/grub/stage1 /boot/grub/stage2 /dev/rdsk/c1t1d0s0
    
  5. 2 つ目のディスクから正常に起動できることを確認します。

  6. システムが新しいディスクから自動的に起動するように設定します。そのためには、eeprom コマンドまたは SPARC ブート PROM のsetenv コマンドを使用します。あるいは、PC BIOS を再設定します。