3 ZFS を使用したファイルシステムの構成

Solaris 11.2 は、ZFS ファイルシステムに基づいています。ディスクの I/O、ディスクのパーティション分割、ディスクのミラー化 (または RAID) は、完全に ZFS で処理されます。したがって、ディスクをパーティション分割する必要はありません (一般に、UFS ファイルシステムを使用した場合も同様です)。システムディスク全体が単一のパーティションとして表示されます。

ストレージアレイにはすでに RAID が構成されているため、ZFS を使用して追加の RAID レベルを構成することは、ACSLS ファイルシステムに不可欠ではありません。単純な JBOD ディスクを使用している場合は ZFS RAID が不可欠ですが、正規のディスクアレイを採用していれば、追加の RAID はオプションです。次の例では、どちらかのアプローチについて説明します。

ミラー化されたルートファイルシステムの作成

  1. Solaris プラットフォームは、2 つの物理ディスクドライブで構成されます。ZFS のパフォーマンスを最適化するには、システムディスクとそのミラードライブをパーティション分割します。

    オペレーティングシステムをインストールする前の新しいシステムでは、パーティション 0 にディスク領域全体の (全部ではないが) 大部分が含まれるように、各システムディスクドライブをパーティション分割できます。ZFS はディスク全体にアクセスできる場合に、より高速かつ確実に動作します。2 つ目のディスク上の ZFS について定義されたパーティションのサイズが、プライマリディスク上で定義されたサイズと同じであることを確認します。

    Solaris 11.2 がすでにインストールされているシステムでは、プライマリシステムディスク上で format または fdisk を使用して、root パーティションのサイズを表示します。パーティションサイズが等しい 2 つ目のシステムディスクをフォーマットします。フォーマットが完了したら、ディスクにラベルを付けます。

  2. システムが起動したら、zpool status コマンドを使用して、rpool を確認します。

    # zpool status
      pool: rpool
      state: ONLINE
      scan: none requested
      config:
         NAME                      STATE     READ WRITE CKSUM
         rpool                     ONLINE       0     0     0
          c0t5000C5000EA48903d0s0  ONLINE       0     0     0
    
  3. 2 つ目のシステムディスクを特定し、そのデバイス ID を確認します。

    # echo | format
    AVAILABLE DISK SELECTIONS:
      0. c0t5000C5000EA48893d0 <SUN146G cyl 14087 alt 2 hd 24 sec 848>
        /scsi_vhci/disk@g5000c5000ea48893
      1. c0t5000C5000EA48903d0 <SUN146G cyl 14087 alt 2 hd 24 sec 848>
        /scsi_vhci/disk@g5000c5000ea48903
    

    手順 2 で表示されたデバイスと同じサイズに近いサイズを持つ代替デバイスを選択します。この例では、2 つ目のディスク ID は c0t5000C5000EA48893d0s です

  4. rpool に 2 つ目のディスクを追加します。

    # zpool attach -f rpool \
           c0t5000C5000EA48903d0 \
           c0t5000C5000EA48893d0
    

    ミラー化されたドライブの再同期化が開始され、ブートドライブの内容が 2 つ目のドライブにコピーされます。この動作には数分間かかるため、リブートによって中断されないようにしてください。

    次のコマンドを使用すると、進行状況をモニターできます。

    zpool status -v
    

    注記 1: 再同期化が完了するまで、ステータスには、ディスクが縮退モードになっていることが表示されます。情報がプライマリディスクからミラーディスクにコピーされている間は、ディスクが縮退状態のままになります。

    注記 2: ディスクに EFI ディスクのラベルが付けられているために zpool attach に失敗する場合は、『Oracle Solaris の管理: デバイスとファイルシステム』ドキュメント (http://docs.oracle.com/cd/E23824_01/pdf/821-1459.pdf) で説明されている処理に従ってください。EFI ディスクを SMI に変換するプロセスは次のとおりです。

    # format -e
      (select the drive to serve as the rpool mirror).
      format> partition
      partition> print
      partition> label
        (specify label type "0")
        Ready to label? y
      partition> modify
        (select "1" All free Hog)
        Do you wish to continue ... yes
        Free Hog Partition[6]? (specify partition "0")
        (Specify a size of "0" to the remaining partitions)
        Okay to make this current partition table? yes
        Enter table name: "c1t1d0"
        Ready to label disk? y
     partition> quit
     format> quit
    
  5. ミラー化された rpool の構成を確認します。

    # zpool status
      pool: rpool
     state: ONLINE
      scan: resilvered 6.89G in 0h3m with 0 errors
    config:
            NAME                       STATE     READ WRITE CKSUM
            rpool                      ONLINE       0     0     0
              mirror-0                 ONLINE       0     0     0
                c0t5000C5000EA48903d0  ONLINE       0     0     0
                c0t5000C5000EA48893d0  ONLINE       0     0     0
    

    隣接するノード上で、この操作を繰り返します。

ACSLS アプリケーション用のミラー化されたファイルシステムの作成

ACSLS ファイルシステムは、外部の共有ストレージアレイ上の zpool に存在します。次の例では、2 つのディスクのみを使用した単純なミラー化アレイ (RAID 1) が採用されています。これらは実際のドライブである可能性もありますが、接続されているストレージアレイとは別個のドライブとして表示されている仮想デバイスである可能性が高いです。

ストレージアレイにはすでに RAID が構成されているため、ZFS を使用して追加の RAID レベルを構成することは、ACSLS ファイルシステムに不可欠ではありません。単純な JBOD ディスクを使用している場合は ZFS RAID が不可欠ですが、正規のディスクアレイを採用していれば、追加の RAID はオプションです。次の例では、どちらかのアプローチについて説明します。

  1. 共有ストレージアレイを準備します。

    標準の構成では、ディスクアレイから 1 つの仮想ドライブを使用します。それ以外の場合、ZFS RAID ミラー化構成では、サイズが等しい 2 つの仮想ドライブが使用されます。ディスクアレイに備わっている管理ツールまたは Solaris のフォーマットユーティリティーを使用すると、サイズが等しくなるように 2 つの仮想ドライブをパーティション分割できます。

  2. ACSLS をインストールするための目的のベースディレクトリを決定します。

    ACSLS 8.4 は、どのファイルシステムにもインストールできます。選択された基本ファイルシステムは、rpool システムにすでに存在するものであってはいけません。すでに存在する場合、既存のファイルシステムは、新しい zpool の下にそれを作成する前に破棄されます。

    デフォルトの /export/home ベースディレクトリを ACSLS 用に使用する場合、Solaris 11.2 のデフォルトの root プールから /export ファイルシステムを破棄する必要があります。

    /export/homerpool に接続されているかどうかを確認するには、次のコマンドを実行します。

    # zfs list
    

    rpool から /export/home を切り離すには、まず保持するべきファイルやディレクトリを保存します。/export/home に現在アクティブになっているユーザーのホームディレクトリが存在しないことを確認します。次に、zfs destroy を使用して、/export の下にあるすべてのものを削除します。

    # zfs destroy -r rpool/export
    

    隣接するノード上で、この手順を繰り返して rpool/export を切り離します。

  3. format を使用して、接続されているディスクアレイ上のドライブのデバイス名を特定します。

    # echo | format
    AVAILABLE DISK SELECTIONS:
       0. c0t5000C5000EA48893d0 <FUJITSU-MAY2073RCSUN72G-0501-68.37GB>
       /pci@0,0/pci1022,7450@2/pci1000,3060@3/sd@0,0
       /dev/chassis/SYS/HD0/disk
    1. c0t5000C5000EA48893d0 <FUJITSU-MAY2073RCSUN72G-0501-68.37GB>
       /pci@0,0/pci1022,7450@2/pci1000,3060@3/sd@1,0
       /dev/chassis/SYS/HD1/disk
    3. c0t600A0B800049EDD600000C9952CAA03Ed0 <SUN-LCSM100_F-50.00GB>
       /scsi_vhci/disk@g600a0b800049edd600000c9952caa03e
    4. c0t600A0B800049EE1A0000832652CAA899d0 <SUN-LCSM100_F-50.00GB>
       /scsi_vhci/disk@g600a0b800049ee1a0000832652caa899
    

    この例では、2 つのシステムディスクと、c0t600A... で始まるデバイス名を持つディスクアレイから表示されている 2 つの仮想ディスクがあります。

  4. acslspool を作成します。

    正規のディスクアレイを使用した標準の構成では、次のように acslspool を作成します。

    # zpool create -m /export/home acslspool\
      /dev/dsk/c0t600A0B800049EDD600000C9952CAA03Ed0
    

    手順 1 で提案されたように ZFS RAID が追加された場合、次のようにミラー化構成を作成します。

    # zpool create -m /export/home acslspool mirror \
       /dev/dsk/c0t600A0B800049EDD600000C9952CAA03Ed0 \
       /dev/dsk/c0t600A0B800049EE1A0000832652CAA899d0
    
  5. 新しい acslspool を検証します。

    # zpool status acslspool
      pool: acslspool
     state: ONLINE
      scan: none requested
    config:
      NAME                                       STATE   READ WRITE CKSUM
      acslspool                                  ONLINE   0     0     0
        mirror-0                                 ONLINE   0     0     0
          c0t600A0B800049EDD600000C9952CAA03Ed0  ONLINE   0     0     0
          c0t600A0B800049EE1A0000832652CAA899d0  ONLINE   0     0     0
    

    注記:

    RAID ディスクアレイを使用している場合、ミラー化された ZFS 構成はオプションです。
  6. 新しいプールにテストファイルを作成し、確認します。

    # cd /export/home
    # date > test
    # ls
    test
    # cat test
    Tue Jan  7 11:48:05 MST 2015
    
  7. プールをエクスポートします。

    # cd /
    # zpool export acslspool
    
  8. (新しい現在のノードとして参照される) 隣接するノードにログインします。

  9. 新しい現在のノードから、/export/home (または ACSLS 用のファイルシステム) が root プールのどこにもマウントされていないことを確認します。

    # zfs list
    

    すでにファイルシステムが rpool に存在する場合は、この現在のノード上で (前述の) 手順 2 を繰り返します。

  10. 新しい現在のノードから acslspool をインポートし、このノード上に acslspool が存在することを確認します。

    # zpool import acslspool
    # zpool status
      pool: acslspool
     state: ONLINE
      scan: none requested
    config:
    NAME                                       STATE   READ WRITE CKSUM
    acslspool                                  ONLINE   0     0     0
      mirror-0                                 ONLINE   0     0     0
        c0t600A0B800049EDD600000C9952CAA03Ed0  ONLINE   0     0     0
        c0t600A0B800049EE1A0000832652CAA899d0  ONLINE   0     0     0
    

    zpool import に失敗した場合は、zpool import -f を使用して操作を試すことができます。

    注記:

    RAID ディスクアレイを使用している場合、ミラー化された ZFS 構成はオプションです。
  11. 新しい現在のノード上にテストファイルが存在することを確認します。

    # cd /export/home
    # ls
    test
    # cat test
    Tue Jan  7 11:48:05 MST 2015