<Insert Picture Here>




ZFS によるストレージ仮想化
旧題: ZFS とオペレーティングシステムの融合 Solaris 11 に見る、次世代ファイルシステム - ZFS -


日本オラクル株式会社
Solaris エバンジェリスト
野崎 宏明
以下の事項は、弊社の一般的な製品の方向性に関する概要を説明するものです。
また、情報提供を唯一の目的とするものであり、いかなる契約にも組み込むことは
できません。以下の事項は、マテリアルやコード、機能を提供することをコミットメント
(確約)するものではないため、購買決定を行う際の判断材料になさらないで下さい。
オラクル製品に関して記載されている機能の開発、リリースおよび時期については、
弊社の裁量により決定されます。




OracleとJavaは、Oracle Corporation 及びその子会社、関連会社の米国及びその他の国における登録商標です。
文中の社名、商品名等は各社の商標または登録商標である場合があります。




               Copyright© 2012, Oracle. All rights reserved.   2
スピーカー自己紹介

• 学生時代
 • JDK 1.1でPrologの推論機構を実装し検索エンジンの真似ごと
• 1998年4月(日本)サン・マイクロシステムズ入社
 • ふと気づけば社会人1415年目
• ほぼずっとSE (Sはシステム?セールス?)
 • 主にSolaris、開発環境、Sun Rayシンクライアント
 • 今は主に通信事業者様担当
 • Oracle では SC (Sales Consultant) と呼ばれます
• 1年だけサポートエンジニア
 • Java VMの解析
• Solarisエバンジェリスト(宣教師?!)
 • 最近は特にZFSの宣伝係としての出番増

           Copyright© 2012, Oracle. All rights reserved.   3
内容

• ZFS 概要
• Oracle Solaris 11 における ZFS 強化点
  •   暗号化
  •   重複排除
  •   性能向上
  •   Solaris 11 Express 2010.11 からの主な強化点
  •   その他の強化点
  •   OSの一機能からOS全体との融合とOSの進化




              Copyright© 2012, Oracle. All rights reserved.   4
ZFS 概要




Copyright© 2012, Oracle. All rights reserved.   5
ファイルシステム・ボリューム管理

• どのセクタにどうデータを書くか




• 開発者の腕(?)の見せどころ
 •   どのセクタにどうデータを書くか: 固定型、拡張型
 •   容量をうまく使えるか: 容量変更方法と制限
 •   安全か: 冗長性、書き込み方法、誤り検出
 •   便利か: 属性情報、スナップショット、バックアップ、リモートコピー、..
 •   高速か: データの配置、メモリの有効利用
 •   管理しやすいか




           Copyright© 2012, Oracle. All rights reserved.   6
従来型ファイルシステムやボリューム管理の問題点
    ところが



•   拡張性
•   堅牢性
•   機能
•   性能
•   管理性

• ....ZFSでは?




           Copyright© 2012, Oracle. All rights reserved.   7
ZFSの歴史と機能比較
       日付       build      ver        S11E       ZFSSA       S10                       内容
1996              -         -            -          -          -     DIMMの管理性を目指し究極のファイルシステム開発開始

2001/10/31        -         -            -          -          -     ユーザーレベルプロトタイプ
2005/10/31        -         -            -          -          -     オープンソースで公開
2006/03               36        1        -          -          -     Solaris 10 6/06 で製品として初リリース
2006/06               42        3       ◯          ◯          ◯      ダブルパリティ RAID-Z
2007/07               62        6       ◯          ◯          ◯      ブート対応
2007/07               68        7       ◯          ◯          ◯      分離ログデバイス (slog)
2007/11               78   10           ◯          ◯          ◯      2次読込キャッシュ (L2ARC)
2008/05               90    -           ◯          ◯          ×      COMSTAR 対応
2008/11           -         -            -          -          -     Storage 7000 シリーズ (現ZFSSAシリーズ)
2009/05           114      15           ◯          ◯          ◯      ユーザー・グループ単位容量制限
2009/07          120       17           ◯          ◯          ◯      トリプルパリティ RAID-Z
2009/11          128       21           ◯          ◯          ×      重複排除
2010/09          149       30           ◯           未         ×      暗号化

build: Nevada build, ver: zpool version, S11: Solaris 11 11/11 (Nevada 175b / zpool ver 33),
ZFSSA: ZFS Storage Appliance 2011.1.2.1, S10: Solaris 10 8/11 (zpool ver 29 but dedup not supported)


                                    Copyright© 2012, Oracle. All rights reserved.                  8
拡張性!
    ストレージプール
• 従来のファイルシステム・ボリューム管理
  • ファイルシステム管理がボリュームや物理ディスクに依存
     • 容量拡張ひとつとっても容易ではない
  • ストレージ管理 = ディスク/ボリューム/ファイルシステムの容量/性能/属性..管理
• ZFS
  • システム内共有プールに物理ストレージを登録・格納
                                                            非常に容易な
     • 必要なときにその容量が使用される                                      容量管理
     • 容量拡張はプールに物理ディスクを追加するだけ




            Copyright© 2012, Oracle. All rights reserved.     9
拡張性!
   ファイルシステムの切り出し: 自動容量割当
                                         / (root)
                                                                ファイルシステム3
                           usr          db             export
    ファイルシステム1
                                                              web
あるファイルシステムに                                                         ファイルシステム4
対してどのデバイスの                    ファイル
どこが使われるかは                     システム2
ZFSが自動で決定

ストレージ管理 =
プールを作れば後は
属性と名前の管理


ストレージデバイスを
ファイルシステムで
抽象化・仮想化                                 StoragePool

              Copyright© 2012, Oracle. All rights reserved.             10
堅牢性!
    トランザクションベースの書込時コピー(Copy-On-Write)
 Uber-block

                                                                                      元データ

                                                                                      新データ
アプリ
ケーションから                                                                               アプリ
見える状態                                                                                 ケーションから
                   はじめの状態                              コピーを作成して変更を記録(CoW)             見えない状態



  元ポインタ                                                                             New Uber-block

  新ポインタ


アプリ
ケーションから                                                                               アプリ
見えない状態                                                                                ケーションから
              ポインタ(間接ブロック)をCoW                                      Uber-blockを更新     見える状態


                    Copyright© 2012, Oracle. All rights reserved.                    11
堅牢性?                                                                 そもそもこの倉庫で
      従来のチェックサム: ブロック単位                                                    正しいかも未確認

                                                                           倉庫前
                                             荷物を                          中身検査
                                           倉庫に格納依頼                 配送過程
    • チェックサム
         • 誤り検出(訂正)用情報
    • ブロックのチェックサムを計算
         • 当該ブロック内のみでの誤り検出                チェックサムで
                                                          出荷前   チェックサムで
                                           保護されない
         • =ブロック単位で誤っていない場合は                             中身検査    保護される
            検出できない(silent data corruption) (ブロック単位チェックサムのイメージ)
 CERN の実験• 検出可: bit rot
 33700ファイル
  (約8.7TB) 中 検出不可: phantom writes, misdirected read/writes,
            •
22ファイルで発生 accidental overwrites, DMA parity errors, driver bugs
    など



             ブロック          {        データ
                                 checksum
                                                               データ
                                                            checksum


                   Copyright© 2012, Oracle. All rights reserved.             12
堅牢性!                                                         荷物を配送業者に渡す前に
 ZFS: End-to-Endチェックサム                                          チェックサムを計算

                                                               倉庫から帰ってきた荷物の
                                                                チェックサムを計算し
                                                              格納前のチェックサム値と比較
• データとチェックサムを分離
 • ファイルシステムがあらかじめチェックサムを計算
 • データとチェックサムが本当に正しい場所に
   書かれているかも確認できる
• ツリー全体用のチェックサム
 • silent data corruption への対策
 • IOパス全体のチェック
    • bit rot                                                  アドレスの値チェックサムで
                                                                 指しているアドレスが
    • phantom writes                                           本当にそこでよいのかも確認
    • misdirected read/writes
    • accidental overwrites
    • DMA parity errors
    • driver bugs

              Copyright© 2012, Oracle. All rights reserved.          13
機能!
    全ての機能がOSに付属
•   スナップショット
•   クローン
•   バックアップ・リストア                                                 original
                        snapshot                                uber-block
                         snapshot
                        uber-block                               original
•   リモートコピー
•   NFS
•   iSCSI                                                            Current
•   CIFS (Solaris 10はSamba経由)                                         Data
•   圧縮                  !
    • 実は複数コアで並列圧縮
• 重複排除 (Solaris 10 は非対応)
• 暗号化 (Solaris 11 Express 2010.11 以降)


                Copyright© 2012, Oracle. All rights reserved.   14
管理性!
ファイルシステム作成手順
                                                                   / (root)

1.プールにストレージを登録
                                         usr opt   tank
    zpool create tank <block_device> ...
2.プールから                  プール名                      home
                                       作成時に
   ファイルシステム切出                          自動でマウント

    zfs create tank/home
                           ファイルシステム名          home
3. (省略可) 属性値設定
    zfs set <attr>=<value> tank/home
     暗号化、重複排除、圧縮、容量制限、など

• 3ステップで構成可能                                                ZFS
• /etc/vfstab書き換え不要
• /etc/dfs/dfstab書き換え不要                                    Storage Pool: tank



           Copyright© 2012, Oracle. All rights reserved.                 15
性能!
Hybridストレージプール (HSP)                                  性能管理も非常に容易




                                                                !




      Copyright© 2012, Oracle. All rights reserved.        16
性能!
 Hybridストレージプールの性能効果例
Flash無し vs. Flash有り
構成 A: Flash 無しのストレージプール (DRAM + 7x 10K RPM SAS)
構成 B: Flash 有りのストレージプール
      (DRAM + Read SSD + Log SSD + 5x 4200 RPM SATA)




        x3.2                                  x2
                       +11%
                                                             x1/2    x1/4.9
    読込IOPs     書込IOPs               Raw 容量               TBあたり      消費電力
                                      (TB)                コスト       (ワット)
• Flash 利用でコスト面も優位                                           !

 • 大規模構成時のコストメリットが特に期待できる
             Copyright© 2012, Oracle. All rights reserved.             17
ZFS の活用
 ヘテロ環境での大規模統合共有ストレージ
・メールデータの保存
・オフィスファイルの保存
・画像データの保存                                          ・大規模ファイルシステムを簡単に構築可能
                                                   ・GB単価が安いディスクを使用可能
・データマイニング等の計算データ保存
                                                   ・SSDをファイルシステムの二次キャッシュと
 Solaris Linux Windows                              して使用できファイルシステムの入出力が
                                                    HDDのみで構築した場合に比べ高速になる

                              オンラインでの
 NFS/iSCSI/CIFS/FC            ディスクドライブ追加
                                                                 リモートレプリケー
                                    ローカルサーバー                     ション機能で大規模
                                                                 ファイルシステムの
                                                                 データのバックアップ
                                                                 も簡単に実現
     Pool

    オンライン                                 メイン SnapShot
                                                                 コピー
     拡張
                                                                 リモートサーバー
                                     HDDの追加
    128ビット
  ファイルシステム



                 Copyright© 2012, Oracle. All rights reserved.         18
ZFS + 仮想化
      ZFS: 仮想化の強力なストレージインフラ
• 仮想マシン/仮想OS (またはそのイメージ) の
  •   (大量一括)高速作成、配備
  •   シンプロビジョニング                                     •   リモートコピー
  •   スナップショット・ロールバック                                •   ブロック単位差分バックアップ
  •   自動圧縮                                           •   包括的管理・監視ツール
  •   重複排除                                           •   強力なデータ保護
  •   ストレージのRAID化                                    •   他ホストへの移動
  •   オンラインストレージ容量拡張                                 •   HA
  •   Flashの自動最適使用                                   •   動的リソース配分
  •   共有ディスクプロビジョニング                                 開発用途に用いて
                                                  時間、リソース、費用の節約も!
• Oracleによる仮想化ソリューション
  • Oracle Solaris コンテナ/ゾーン、Oracle VM Server for SPARC,
    Oracle VM Server for x86, Oracle VM VirtualBox, Oracle VDI
• VMware, Xen, KVM, ..

                  Copyright© 2012, Oracle. All rights reserved.     19
ZFS + 仮想化
  サーバー仮想化環境での共有ストレージ

・OSイメージサーバー用共有ストレージとして活用

                   HA / 簡易HA / マイグレーション

  VM1     VM3     VM5                                     Virus Scanning Active Directory
                                                              Server          Server
  VM2     VM4     VM6        VM7        VM5




  NFS
                共有ストレージ
  iSCSI
                                                                    Backup
                                                                    Server


                Copyright© 2012, Oracle. All rights reserved.                      20
Sun ZFS ストレージアプライアンス(ZFSSA)
• Unified Storage / Sun ZFS Storage 7000
  • Solaris 11 ベースの NAS ヘッド
  • オープンアーキテクチャ                                 7120
                                                         7320
     • データ形式、プロトコル                            〜177TB
                                                       〜432TB           7420
       (NFS, FTP, WebDAV, iSCSI, CIFS, FC,
       InfiniBand (iSER, SRP, IPoIB, NFS/RDMA), NDMP, ..)          〜1728TB
     • オープンソースソフトウェア採用
     • コストパフォーマンス                                           S7420
                                                              137,000 IOPS
                                                                  SPC-1
  • ZFS と Flash (SSD)                                         10,703 MBPS
                                                                  SPC-2
     • Hybridストレージプール                                       267,928 nfs ops/s
                                                              (ORT 1.31ms)
  • DTrace Analytics                                           SPECsfs2008

     • リアルタイム                                               S7320
                                                            134,140 nfs ops/s
        • システム性能確認                                            (ORT 1.51ms)
                                                               SPECsfs2008
        • 容量プランニング
        • 課題特定                                       DTrace Analytics


                  Copyright© 2012, Oracle. All rights reserved.   21
ZFS事例                                          • 国内事例
                                                         •   株式会社インターネットイニシアティブ様
                                                              •   クラウド用NASストレージ
• ZFSSAはサンのストレージ製品で
                                                         •   株式会社 IT コア様
  最速の立ち上がり
                                                              •   クラウドサーバー用ストレージ
 • 出荷6ヶ月でストレージ・コスト47.5億円、                                •   株式会社ドワンゴ様
   6,500人日のストレージ管理時間節減                                        •   「ニコニコ動画」用ストレージ
 • 多彩な業種で採用                                              •   さくらインターネット株式会社様
 • 発売60日で100を超える新パートナが契約                                      •   InfiniBand 対応「さくらのクラウド」ストレージ
 • 初期出荷から約 3 年で                                          •   グリー株式会社様
                                                              •   ログ解析システム
    • 6000 以上のシステム、100PB 以上の容
      量、2 億ドル以上の販売                                       •   某電機機器メーカー様
                                                              •   社内メールストレージ
• 海外事例
                                                         •   某放送事業者様
 • ZFS
                                                              •   放送データファイルサーバー
    • Wikimedia, Internet Archive, Joyent,          •   Exalogic Elastic Cloud (内蔵NAS)
       Oregon州立大学, Elanders, ETH Zurich                  •   ソフトバンクテレコム株式会社様
       フランス国立核物理素粒子物理研究所                                      •   ホワイトクラウド エンタープライズ PaaS
 • ZFSSA                                                          powered by Oracle
    • Signature Styles, EasySpeedy, DigiTar, • Exadata D2D バックアップ
      i365, OurStage, Last.fm, 某スマホベンダ... • 某通信事業者様、SI様、教育サービス業様、証券会社様、
                                                             半導体メーカー様、自動車部品メーカー様、請求書発行
 • Oracle 社内/社外向けシステム                                        業者様、金融業者様、製薬ソリューション業者様


                        Copyright© 2012, Oracle. All rights reserved.                    22
ZFS: 革新的ファイルシステム -ですが既に10年以上の蓄積
                          管理性                                       機能
拡張性                                                                  •スナップショット
 •事実上無制限                         •極めて簡素                              •リモートコピー
                                        •プール構造
    •プール容量                              •ボリューム管理の統合                  •バックアップ
    •ファイル                               •属性値による管理                    •ファイル共有
    システム容量
    •ファイル数
    •ディレクトリ数
 •圧縮                           ZFS 1          ZFS 2         ZFS 3   性能
 •重複排除 new!                                                          •Hybridストレージ
                                                                     プール
                                                                     •Read-modify-
堅牢性                                                                  writeの排除
 •Copy-on-Write                                                      •入出力のパイプ
 •トランザクショ                                                            ライン処理
 ン処理
 •End-to-End                                                         全てがOSの機能
 チェックサム
 •自己修復
 •暗号化                                   Storage Pool
       new!


                  Copyright© 2012, Oracle. All rights reserved.           23
ZFS: 広範なインフラ向けソリューションの
理想的なストレージ基盤
• 多くの機能を低コストで、多くの応用例、多くの事例
                           webインフラ
 データベース                    ストラクチャ
                                                        バックアップ
   DWH                      コンテンツ                        データ
                           マネジメント                      プロテクション

デスクトップ統合               ハイパフォーマンス                        事業継続
                       コンピューティング
  仮想化                                                   災害対策

  デスクトップ用                   NAS                            クラウド
 ファイルサービス/                Eメールなど                       コンピューティング
インフラストラクチャ                 アーカイブ                         / ストレージ



       Copyright© 2012, Oracle. All rights reserved.         24
Solaris 11における
   ZFS強化点




Copyright© 2012, Oracle. All rights reserved.   25
暗号化 ZFS




Copyright© 2012, Oracle. All rights reserved.   26
暗号化ZFS

• データの内容秘匿のため暗号化鍵でコード化
 • データ暗号化鍵はラップ用鍵で暗号化される
                                                        !
• これまでどおりの ZFS 管理モデルに統合
• 既存プールでも利用可能
 • プールバージョンを30以上にアップグレードする必要あり
• 鍵管理の権限委譲が可能
 • 管理者、エンドユーザー
 • ゾーン
 • 「鍵使用」と「鍵変更」の分掌
    • 外部預託の仕組みも作ることができる




        Copyright© 2012, Oracle. All rights reserved.       27
暗号化ZFS
暗号化をどこに設定するか
                                     !
• ZFS のデータセット単位で暗号化ポリシーを設定
 • ほとんどのシステムではプールは1-2個だがデータセットは多数
 • 現在 AES-128 / 192 / 256 をサポート
    • デフォルトでは aes-128-ccm
    • 他の方式もサポート可能なデザイン
 • iSCSI、FCoEターゲットは ZVOL を暗号化
    • イニシエータ側での鍵管理無し
 • NFSv2,v3,v4、CIFS (SMB) でデータセット共有可能
    • NAS クライアント側では鍵管理無し




         Copyright© 2012, Oracle. All rights reserved.   28
暗号化ZFS
ディスク上で何が暗号化されるか
• 暗号化される                                 • 暗号化されない
 •   全アプリケーションデータ                             •   プールのメタデータ
 •   POSIX 層のデータ                              •   プールの履歴
 •   パーミッション、ACL、所有者                          •   RAID構成情報
 •   ディレクトリ構造                                 •   データセット属性値
 •   全 ZVOL データ                               •   データセット名
 •   (スナップショットでも同様)                           •   データセットのユーザー属性値
 •   (クローンでも同様)

                                                    データデータデータ
                                                    情報情報情報情報
                                                    データデータデータ
                                                    情報情報情報情報
                                                    データデータデータ
                                                    情報情報情報情報


           Copyright© 2012, Oracle. All rights reserved.        29
暗号化ZFS
  暗号化をいつ設定するか
                                                              !
 • 暗号化属性値はデータセット作成時に指定
   • copy-on-writeで古いクリアテキストが残るのを避けるため
# zfs create -o encryption=on tank/home/darren
Enter passphrase for ’tank/home/darren’: xxxxxxxx (←8文字以上)
Enter again: xxxxxxxx

   • チェックサムは SHA256 になる
                                                                  !
 • 既存データセットの暗号化ポリシーは変更できない
   • 暗号化アルゴリズムやチェックサムを後から無効化や変更不能

# zfs set encryption=off tank/home/darren-new
cannot set property for ’tank/home/darren-new’: ’encryption’
is readonly




              Copyright© 2012, Oracle. All rights reserved.       30
暗号化ZFS
    ラップ用鍵
  • keysource属性値
     • ユーザー・管理者が管理するラップ用鍵の形式や場所を指定
     • passphrase: PKCS#5パスワードベース暗号化を使用
     • raw / hex: バイト形式または 16 進テキスト文字列
                                                                !
  • ラップ用鍵は派生データセットに継承される
     • クローン時に異なるラップ用鍵を指定可能
        • 新たな暗号化鍵を使用することも可能
           • デフォルトではoriginデータセットの鍵を使用
 # zfs clone tank/home/darren@now tank/home/darren-new
 Enter passphrase for ’tank/home/darren-new’: yyyyyyyy (←非表示)
 Enter again: yyyyyyyy (←非表示)
  • ファイルからのラップ用鍵作成例
  # pktool genkey keystore=file outkey=/rmdisk/stick/mykey 
      keytype=aes keylen=256
  # zfs create encryption=aes-256-ccm 
!     -o keysource=raw,file:///rmdisk/stick/mykey tank/home/bob

                Copyright© 2012, Oracle. All rights reserved.       31
暗号化ZFS
      暗号化ZFSデータセットの作成例
                                     !
# zfs create -o encryption=on build/fs
Enter passphrase for ‘build/fs’: xxxxxxxx (← 8文字以上、非表示)
Enter again: xxxxxxxx (← 非表示)
# zfs create build/fs/sub
# zfs get -r encryption,keysource,keystatus,checksum build/fs
NAME          PROPERTY    VALUE SOURCE
build/fs     encryption on                local
build/fs     keysource passphrase,prompt local
build/fs     keystatus available          -
build/fs     checksum   sha256-mac        local
build/fs/sub encryption on                inherited from build/fs
build/fs/sub keysource passphrase,prompt inherited from build/fs
build/fs/sub keystatus available          -
build/fs/sub checksum   sha256-mac        inherited from build/fs




                 Copyright© 2012, Oracle. All rights reserved.   32
重複排除(deduplication)




   Copyright© 2012, Oracle. All rights reserved.   33
重複排除 (deduplication)
    • ブロック単位の重複検知・排除機構
!    • 同一内容データブロックは全体で1コピーだけを格納
     • 格納されているブロックと同一内容のブロックはオンライン(オンザフライ)で
       除去される(格納されない)
     • 共通部分は複数ファイルで共有
     • メタデータは重複排除対象外
     • 重複判定を実行するための専用ディスク領域等は不要
     • チェックサム(SHA256)を使用して重複判定
!    • 圧縮、暗号化と同時利用可能
                                       !
    • 特に効果の高い適用範囲
       • 仮想化  !
       • サーバーバックアップ !
       • 開発環境   !         !
    • ZFSに統合済み (アドオンではない)
     • 特別なハードウェア不要
     • デザイン上容量制限無し
     • 直近では性能向上を重視

              Copyright© 2012, Oracle. All rights reserved.   34
重複排除
 ブロックレベルでの重複排除機構
                                                                    File 2
AA            A1
               A1
B             B                                                     CC
 B             B
C             C                                                     CC
 C             C
                                                                    DD
     File 1   File 1a
                                                                    BB
                                                                    BB




     A                             C                           A1

               B
                                                   D
              3 ファイルを格納するために使われるブロック

               Copyright© 2012, Oracle. All rights reserved.             35
重複排除
構成方法
        !
• dedup属性値をデータセット(スナップショット除く)単位で指定
 • デフォルトではオフ
# zfs set dedup=on tank/home
• スコープはプール単位
 • dedup=onの全データセットで共通のブロックを共有
 • 重複排除率確認方法 (プール内で dedup 適用データセットのみ計上)
# zpool list tank
NAME SIZE ALLOC FREE CAP                      DEDUP HEALTH ALTROOT
tank 136G 55.2G 80.8G 40%                     2.30x ONLINE -
• 有効時はzfs listの容量表示に注意
 • 参照サイズの合計が表示される
   • 重複排除分は考慮されず実際のディスク消費量より多く表示される



            Copyright© 2012, Oracle. All rights reserved.            36
ZFS 圧縮、暗号化、チェックサム
                                 ZFS
読み込み時                                                         書き込み時
                                 ZPL
                                 ZPL

                                DMU
                                DMU
               SPA              ARC
                                ARC                           • 圧縮
• 圧縮解除                                                        • 暗号化
• 複号化                            ZIO
                                 ZIO                          • チェックサム
• チェックサム確認                                                      (重複判定)
                      VDEV
                      VDEV                  VDEV
                                            VDEV


                              ...                       ...

        Copyright© 2012, Oracle. All rights reserved.              37
ZFSの性能向上




Copyright© 2012, Oracle. All rights reserved.   38
ZFS の性能向上
•   新しい ZFS システムプロセス
•   logbias 属性値
•   sync 属性値
•   RAID-Z/ミラー ハイブリッドアロケータ
•   カーネルモード iSCSI ターゲット (COMSTARによる)
•   その他の性能向上 (本日は詳細は割愛させていただきます)
    •   SPARC T4プロセッサによる暗号化やチェックサム計算の高速化
    •   ブロックアロケータの効率化、高速化
    •   scrub/resilver時の先読み
    •   raw scrub/resilver
    •   ゼロコピー I/O
    •   スリムZIL

             Copyright© 2012, Oracle. All rights reserved.   39
ZFSの性能向上
 新しいZFSシステムプロセス
• これまでの問題点
  • ZFSトランザクション処理はCPU使用量が大きい
     • トランザクションが多くなると、圧縮、暗号化、重複排除などと
       合わせて何秒か必要なことも
  • カーネルスレッドが高い優先度で動作
  • 結果: webサーバーやNFSなどの遅延が増加
• 解決策 (Solaris 11)
  • CPU使用量の大きいカーネルスレッド用スケジューリングクラス
     • このクラスをプールごとのシステムプロセスとして表す
  • 優先度を量子化・可変にしてオンオフを切替、他との調整
  • 結果: スループットへの影響極小で遅延を大幅削減 !
• 各プールのCPU使用率を見える化

            Copyright© 2012, Oracle. All rights reserved.   40
ZFSの性能向上
 logbias属性値
• これまでの問題点
  • slogデバイスは限りある資源
     • 遅延の許されないI/Oが多量の同期書込に埋もれてしまう
  • 全ての同期書込が低レイテンシである必要は無い
     • レイテンシが重要で無い場合はディスクに書く方が低コスト
     • ディスク本数が多ければ帯域もslogデバイスよりはるかに大
• 解決策 (Solaris 11)                 !
  • データセットごとにlogbias属性値を設定可能に
     • latency または throughput
  • 例: Oracle DBのredoログ: zfs set logbias=latency
    例: Oracle DBのデータファイル: zfs set logbias=throughput
  • 30%以上の性能向上


            Copyright© 2012, Oracle. All rights reserved.   41
ZFSの性能向上
sync属性値
• 同期書込の挙動をデータセットごとに制御
 • standard: 通常のPOSIXルールに従う (デフォルトかつ推奨)
    • fsync(), O_DSYNC write() などの際、stableなストレージに
      コミットされてからreturn
 • always: 全トランザクションが同期に
    • 明示的な同期指定は不要
    • 通常は性能が低下するが、
      ハードウェアと負荷要件によっては性能向上することもある
 • disabled: 全てが非同期に
    • 高速slogデバイスが無い場面で大幅な性能向上
    • ただし、使用はリスクを検討して慎重に
      • 書込が同期である必要が無い場面
                                                            !
      • DBやNFS操作など、アプリからの同期トランザクション要求は無視される
      • 使用中の / や /var への設定は仕様外動作、データロス、リプレイアタックの危険あり
 • sync属性値はzil_disabledパラメータを置き換える


            Copyright© 2012, Oracle. All rights reserved.       42
ZFSの性能向上
RAID-Z/ミラー ハイブリッドアロケータ
• RAID-Zグループがミラーとしても使用される
 • RAID-Z として使用: ユーザーデータと多くのメタデータ
   • 容量と書込スループットが最大化
 • ミラーとして使用: 低レイテンシが要求されるメタデータ
   • 読込IOPS最大化、読込レイテンシ最小化 !
   • 小さなランダムアクセスされるメタデータに有益
     • データノード / 間接ブロック、ディレクトリ、重複排除テーブル
 • ミラープールのような耐障害性は提供せず、性能向上のみ
 • ミラー化メタデータ分の容量を消費する !
• 現実世界の負荷で2-4倍の高速化を達成したものもある
 • 重複ブロックのある大きなファイルをコピー
 • ファイルの多いディレクトリでの rm -rf
• 既存プールはバージョンを29以降にアップグレードすれば
  以降の書込に適用される


         Copyright© 2012, Oracle. All rights reserved.   43
ZFSの性能向上
 カーネルモード iSCSIターゲット
• Solaris 10のiSCSI targetはユーザーランド実装 (shareiscsi で設定)
• Solaris 11 のCOMSTAR port providerはカーネル内実装
   • ZFSSA も同様 (COMSTAR 前と比べて 2.7倍の性能向上)          !
  • WCE (Write Cache Enabled) 設定
     • HDDやHW-RAIDのWCEとより良く協調可能
  • 設定手順 (shareiscsiでは設定できない)
  ! • stmfadm create-lu: backing store を logical unit provider に登録
     • itadm create-target: COMSTAR iSCSI port provider に紐付け




• iSCS MC/S (Multiple Connection per Session) も Solaris 11で対応




               Copyright© 2012, Oracle. All rights reserved.   44
Oracle Solaris 11 Express 2010.11 からの
                  主な強化点




    Copyright© 2012, Oracle. All rights reserved.   45
主な強化点

• zpool バージョン: 31 から 33 へ
   • 32 One MB blocksize
   • 33 Improved share support
• aclmode プロパティの改善
   • 値: discard, mask, passthrough をとるように
• 物理的な場所でのプールデバイスの指定
   • zpool status -l にてディスクの物理的な場所を表示
    • /dev/chassis/SUN-Storage-J4400.rack22/SCSI_Device__2/disk
   • fmadm add-alias による別名定義も可能
• ZFS シャドウマイグレーション
• ファイル共有の改善 (share プロパティ)




             Copyright© 2012, Oracle. All rights reserved.   46
ZFS シャドウマイグレーション
• 既存ファイルシステムのオンライン移行
  • 2年ほど前から ZFSSA の機能として先行実装
• 利点
  • 新規ファイルシステムは既存ファイルシステム同様にファイル提供
  • 既存ファイルシステムのファイルやディレクトリが即座にアクセス可
                                                                          !
    • ファイルシステムの完全移行(コピー完了)を待つ必要が無い
    • 名前変更、ファイル更新なども可能
  • 新規ファイルシステムはネットワーク共有も可能                                      !
    • ユーザーアクセスに対応する裏で移行作業用スレッドが動作してコピー
• 手順:
  • 移行元ファイルシステムを読込専用でマウント
  • 移行先ファイルシステムにshadowプロパティを設定
    •   zfs set shadow=file:///<srcpath> <dst_fs>: ローカルファイルシステムの内容を移行するとき
    •   zfs set shadow=nfs:///<host>:<srcpath> <dst_fs>: NFS の内容を移行するとき
  • 裏で移行作業用スレッドを動かすには system/file-system/shadow-migration パッケージを
    インストールし、SMFでshadowdサービスを起動


                Copyright© 2012, Oracle. All rights reserved.       47
ファイル共有の改善 (share プロパティ)
• 2 段階での共有設定に
 • share プロパティで「共有」を定義
    • 「共有」は ZFSSA で先行実装されていた枠組み
 • sharenfs/sharesmb プロパティで共有する/しないをオンオフ
• 「共有」
 • 共有に対してオプションなどを指定
 • ファイルシステムごとに複数の共有を定義でき、
   一意に特定する共有名が使用される
 • 1 つの共有は、NFS 共有とSMB 共有の両方にオプションを定義可能
 • 単一のディレクトリパスに対し複数のSMB パスを定義可能
• 設定例 (詳細は man zfs_share)
 • # zfs set share=name=pub,path=/pub,prot=nfs,sec=sys,rw=*,public rpool/public など
   (nameとpathとprotは必須、prot後にプロトコル依存オプションを記載、「,」後はスペース無)
   (解除は zfs set -c share=name=pub rpool/public など)
 • # zfs set sharenfs=on rpool/public (←ここで初めて公開される)

                Copyright© 2012, Oracle. All rights reserved.         48
その他の強化点
 (本日は詳細は割愛させていただきます)




Copyright© 2012, Oracle. All rights reserved.   49
ZFS その他の強化点 (1)
• ユーザー/グループ単位の容量制限 (user/group quota)
• トリプルパリティ RAID-Z
   • ディスク3本の障害に耐性 (業界初)
• ZFS スナップショット差分 (zfs diff)
   • スナップショットの差分を確認可能に
• zpool split
   • ミラー化プールを2個の同一プールに分割
   • 用途
      • ディザスタリカバリ
      • サイトの複製
      • 物理的アーカイブを簡単に取得可能




                Copyright© 2012, Oracle. All rights reserved.   50
ZFS その他の強化点 (2)
• zfs send/recv による NDMP バックアップ
  • send/recv の速度で既存 NDMP 環境に容易に統合可能
• 動的 LUN 拡張 (autoexpand属性値)
• プールの修復に関する強化点
  •   書き込み順序を無視するディスクへの対応
  •   ログが無い場合の修復
  •   読込専用モードでのプールインポート
  •   zpool コマンドの機能拡張
• zfs send/recv の拡張
  • send側とrecv側で異なる属性値をsend/recv時に設定可能に




            Copyright© 2012, Oracle. All rights reserved.   51
OSの一機能から
OS全体との融合と
   OSの進化



Copyright© 2012, Oracle. All rights reserved.   52
ZFS: 革新的ファイルシステム
                          管理性                                       機能
拡張性                                                                    •スナップショット
 •事実上無制限                         •極めて簡素                                •リモートコピー
                                        •プール構造
    •プール容量                              •ボリューム管理の統合                    •バックアップ
    •ファイル                               •属性値による管理                      •ファイル共有
    システム容量
    •ファイル数
    •ディレクトリ数
 •圧縮                           ZFS 1          ZFS 2         ZFS 3   性能
 •重複排除 new!                                                            •Hybridストレージ
                                                                       プール
                                                                       •Read-modify-
堅牢性                                                                    writeの排除
 •Copy-on-Write                                                        •入出力のパイプ
 •トランザクショ                                                              ライン処理
 ン処理
 •End-to-End                                                          全てがOSの機能
 チェックサム
 •自己修復
 •暗号化                                   Storage Pool                  Solaris 11 の
       new!                                                         標準ファイルシステム

                  Copyright© 2012, Oracle. All rights reserved.             53
ZFS: Solaris 11 標準ファイルシステム (1)
• root/boot ファイルシステムが ZFS に
 • ブート環境 (BE) という概念が導入される
    • Solaris 10 では Live Upgrade の設定が必要だったことが
      何も設定せずいきなり可能に
      • OS動作中、裏でOSアップグレード、パッチ適用
      • 旧環境へのロールバック
   • しかも、
      • 旧環境のコピー作成は瞬時
      • 容量消費は差分のみ
   • パッケージシステム IPS も root/boot が ZFS であることを前提
                             数 秒後
    Solaris 11




                 その他                      その他                       その他
                 データ                      データ                       データ
                          現在の                       現在の                     現在のブート環境
                          ブート環境                     ブート環境
                                                                    更新      新しく更新された
                 未使用                      未使用        新しい                    ブート環境
                                                     ブート環境          未使用
                 zpool                    zpool                     zpool



                    Copyright© 2012, Oracle. All rights reserved.                      54
ZFS: Solaris 11 標準ファイルシステム (2)

• ゾーン環境は ZFS 前提に
 • ゾーン複製機能は ZFS によるクローンを使用
 • ゾーンへの IPS によるパッケージ配備
 • ゾーンにおける BE




        Copyright© 2012, Oracle. All rights reserved.   55
Live Upgrade → BE 管理
                                                           !
• Live Upgradeの lu* コマンド群は beadm コマンドに置き換え
• AI (Automated Installer) で以下の機能を提供
  • ミラー化ルートプール作成 !
                        !
  • スワップとダンプのサイズ変更
  • (LiveCDとテキストインストーラではこれらは行えない)
• pkg update / image-update コマンド
  • 新たな BE (ブート環境) を自動作成 !
  • パッチ適用やアップグレードの前に別途 BE (ブート環境) を
    作成する必要が無くなった
  • パッチを個別に適用する必要無し
• ミラーのattach時にブートブロックが自動適用
  • スペアへの切り替わり時も同様


           Copyright© 2012, Oracle. All rights reserved.       56
BEのアップグレード例

   • 既存ZFS BEを pkg updateで更新後に新BE zfsBE-1でブート
  # pkg update ...

  (...しばらく後、更新完了後)

  A clone of zfsBE exists and has been updated and activated.
  On the next boot the Boot Environment zfsBE-1 will be mounted
  on ’/’.
  Reboot when ready to switch to this updated BE.
  # init 6

  (...しばらく後、リブート完了後)

  # beadm list
  BE       Active   Mountpoint           Space         Policy   Created
  --       ------   ----------           -----         ------   -------
  zfsBE    -        -                    9.38M         static   2011-10-15 09:18
! zfsBE-1 NR        /                    10.76G        static   2011-11-05 09:57

                Copyright© 2012, Oracle. All rights reserved.              57
Copyright© 2012, Oracle. All rights reserved.   58
クラウド・ビッグデータ時代に求められるもの
• 高いCPU/メモリ/ストレージ容量効率による高集約の実現
 • ゾーンによる低オーバーヘッドなサーバー仮想化、DTraceによる様々な層の
   ボトルネック解析、ZFS: クローン、重複排除、複 数コアによる圧縮、HSP、...
• 先が読めないので初期投資を抑え、スモールスタート           全てはコストや
 • コモディティ化した「サーバー」をネットワーク機器やストレージとする 競争力に直結
  CrossbowやCOMSTAR、ZFS: シンプロビジョニング、プールによる
  オンライン容量拡張かつ128ビットファイルシステム、autoexpand、
  ZFS on ZFS (iSCSI/FC)、...
• ネットワーク経由で柔軟/高速/自動化された環境の配備、切り戻し、管理
 • IPS/Automated Installer、Crossbowネットワーク仮想化、ゾーン移行、各種プロトコル、
   Enterprise Manager OpsCenter 12c、ZFS: クローンによるゾーンの高速複製、
   ブート環境、ゾーンブート環境、スナップショット、共有管理、COMSTAR連携、...
                                                              既存ユーザーには最初
• 当たり前のセキュリティ                                                  ちょっと慣れが必要!
                                                              他OSユーザーの方が
 • ゾーンによる環境隔離、ネットワーク帯域制御、ZFS: 暗号化、...                          敷居が低いかも?!

• 使うほどSolaris 11は「クラウドOS」と実感できます

              Copyright© 2012, Oracle. All rights reserved.      59
まとめと参考情報




Copyright© 2012, Oracle. All rights reserved.   60
まとめ

• 変わらないもの
 • ZFS: 革新的ファイルシステム
   • ファイルシステムとして重要なポイントを網羅
    • 拡張性、堅牢性、機能、性能、管理性
 • ZFS: 広範なインフラ向けソリューションでの理想的なストレージ基盤
   • 多くの機能を低コストで
   • 多くの応用例、多くの事例
   • クラウド時代・ビッグデータ時代に最適な拡張性とストレージ仮想化
• Solaris の強化・進化を支え、Solaris とともに強化・進化
 • Solaris 11 の標準ファイルシステム   !
 • ZFS のフル活用で Solaris も強力に
 • 時代の要請に応えつつ次世代エンタープライズを見据える
                        !

        Copyright© 2012, Oracle. All rights reserved.   61
参考情報
    Solaris 11 の ZFS 参考情報
• Oracle Solaris の管理: ZFS ファイルシステム
  • 日本語
     • http://docs.oracle.com/cd/E26924_01/html/E25824/index.html
     • http://docs.oracle.com/cd/E26924_01/pdf/E25824.pdf
  • 英語
     • http://download.oracle.com/docs/cd/E23824_01/html/821-1448/index.html
     • http://download.oracle.com/docs/cd/E23824_01/pdf/821-1448.pdf
• ZFS Best Practice / Troubleshooting Guide
  • http://www.solarisinternals.com/wiki/index.php/ZFS_Best_Practices_Guide
• ZFS Dedup FAQ:
  • http://hub.opensolaris.org/bin/view/Community+Group+zfs/dedup
• ZFS Encryption FAQ:
  • http://hub.opensolaris.org/bin/view/Community+Group+zfs/encrypt

                   Copyright© 2012, Oracle. All rights reserved.      62
参考情報
     ZFS 参考情報
• 参考情報リンク集
       hiroa blog zfs                検索           からリンクしました!
  • 解説記事、アーキテクチャ、ソースツアー、デモ、マニュアル、
    構築時の参考情報、blog、事例、書籍
• Oracle University コース
  • Oracle トレーニングオンデマンド「Oracle Solaris 11 新機能」 リリース!
    • http://education.oracle.com/pls/web_prod-plq-dad/db_pages.getpage?page_id=600
  • Solaris 10 ZFS管理 (SA-2290-S10)
     • ZFSの機能、プールとファイルシステム管理、操作、障害対応                                       !
• OTN (Oracle Technology Network)
  • http://www.oracle.com/technetwork/jp/index.html (Japan)
  • http://www.oracle.com/technetwork/index.html (Global)
  • 過去の ZFS ダイセミ資料もOTNオンデマンドで公開

                    Copyright© 2012, Oracle. All rights reserved.         63
予告: SPARC T4 + Solaris 11チューニング体験コース
                                                                               詳細はお問い合わせください
                                                                               もしくはアンケートまで

                                          Crossbowによる
   SPARC T4サーバー                           仮想ネットワーク                    zoneによる
                                                                      NFSサーバー
                                               http

                                             ユーザー毎の                                     実行用ドメイン
  グループA                                                                    ユーザー毎の
                     グループB              http 構築物                  NFS      本番環境用
  ユーザー毎の             ユーザー毎の                  アップロード用
                                                                           ゾーン           実行
  開発用ゾーン             開発用ドメイン                    ゾーン                        gzip/pigz
  開発ツール
                     開発ツール                      Webサーバー                    設定スクリプト
  解析ツール                                         NFSサーバー
                     解析ツール
                                                                                  x2N
  N人で2Nスレッド共有
  dtrace_kernel不可
                     各2スレッド占有                           x 2N
                xN   dtrace_kernel可
                                      xN
ssh -X
                                      ssh -X
         端末                               端末                         httpによるアップロードを
                                                                     検知し、順次実行
                                                                                           もちろんZFS
         Solaris Studio 12.3                     Automated Installerと
         コンパイラと統合開発環境                            zoneのcloneで作成


                           Copyright© 2012, Oracle. All rights reserved.                  64
詳細はお問い合わせ
            宣伝: SPARC SuperCluster T4-4                                                                                    ください、もしくは
                                                                                                                           アンケートまで
なんとあのExadataとさらにExalogicをSPARC/Solaris にて統合

まさに                                                                                                                   でないとまず達成不可能な
                                                                                                                      抜群の集約率
                                                                                                                              集約率は
                                                                                                                             コストに直結
T4-4 Node 1                  T4-4 Node 2                  T4-4 Node 3                 T4-4 Node 4
                                                                                                                             大きなものに
 Solaris 10 OVM               Solaris 10 OVM               Solaris 10 OVM              Solaris 10 OVM
                                                                                                                             まとめる方が
Solaris 10 Zone                                           Solaris 9 Zone              Solaris 8 Zone
                             Solaris 9 Zone
                                                                                                                            やはり集約率高
Solaris 10 Zone                                             Solaris 9                    Solaris 8
                             Solaris 8 Zone                 アプリ                          アプリ
                                                                                                                              少し前の
  Solaris 11 OVM              Solaris 11 OVM               Solaris 11 OVM              Solaris 11 OVM
                                                                                                                             サーバーを
                                                                                                                             数百台規模
                                                                                                                                +
                                                                                                                              それに
                                                                                                                              関連する
                                          InfiniBand Network                                                                 ストレージも
                                                                                                                               統合

                                                                                                                           •ここにZFSSAが
  EXADATA          EXADATA      EXADATA         EXADATA        EXADATA      EXADATA           ZFS STORAGE APPLIANCE
  STORAGE          STORAGE      STORAGE         STORAGE        STORAGE      STORAGE




                                               Copyright© 2012, Oracle. All rights reserved.
Copyright© 2012, Oracle. All rights reserved.   66
Copyright© 2012, Oracle. All rights reserved.   67   67

#02-01 ZFS によるストレージ仮想化 (2012-04-20)

  • 1.
    <Insert Picture Here> ZFSによるストレージ仮想化 旧題: ZFS とオペレーティングシステムの融合 Solaris 11 に見る、次世代ファイルシステム - ZFS - 日本オラクル株式会社 Solaris エバンジェリスト 野崎 宏明
  • 2.
    以下の事項は、弊社の一般的な製品の方向性に関する概要を説明するものです。 また、情報提供を唯一の目的とするものであり、いかなる契約にも組み込むことは できません。以下の事項は、マテリアルやコード、機能を提供することをコミットメント (確約)するものではないため、購買決定を行う際の判断材料になさらないで下さい。 オラクル製品に関して記載されている機能の開発、リリースおよび時期については、 弊社の裁量により決定されます。 OracleとJavaは、Oracle Corporation 及びその子会社、関連会社の米国及びその他の国における登録商標です。 文中の社名、商品名等は各社の商標または登録商標である場合があります。 Copyright© 2012, Oracle. All rights reserved. 2
  • 3.
    スピーカー自己紹介 • 学生時代 •JDK 1.1でPrologの推論機構を実装し検索エンジンの真似ごと • 1998年4月(日本)サン・マイクロシステムズ入社 • ふと気づけば社会人1415年目 • ほぼずっとSE (Sはシステム?セールス?) • 主にSolaris、開発環境、Sun Rayシンクライアント • 今は主に通信事業者様担当 • Oracle では SC (Sales Consultant) と呼ばれます • 1年だけサポートエンジニア • Java VMの解析 • Solarisエバンジェリスト(宣教師?!) • 最近は特にZFSの宣伝係としての出番増 Copyright© 2012, Oracle. All rights reserved. 3
  • 4.
    内容 • ZFS 概要 •Oracle Solaris 11 における ZFS 強化点 • 暗号化 • 重複排除 • 性能向上 • Solaris 11 Express 2010.11 からの主な強化点 • その他の強化点 • OSの一機能からOS全体との融合とOSの進化 Copyright© 2012, Oracle. All rights reserved. 4
  • 5.
    ZFS 概要 Copyright© 2012,Oracle. All rights reserved. 5
  • 6.
    ファイルシステム・ボリューム管理 • どのセクタにどうデータを書くか • 開発者の腕(?)の見せどころ • どのセクタにどうデータを書くか: 固定型、拡張型 • 容量をうまく使えるか: 容量変更方法と制限 • 安全か: 冗長性、書き込み方法、誤り検出 • 便利か: 属性情報、スナップショット、バックアップ、リモートコピー、.. • 高速か: データの配置、メモリの有効利用 • 管理しやすいか Copyright© 2012, Oracle. All rights reserved. 6
  • 7.
    従来型ファイルシステムやボリューム管理の問題点 ところが • 拡張性 • 堅牢性 • 機能 • 性能 • 管理性 • ....ZFSでは? Copyright© 2012, Oracle. All rights reserved. 7
  • 8.
    ZFSの歴史と機能比較 日付 build ver S11E ZFSSA S10 内容 1996 - - - - - DIMMの管理性を目指し究極のファイルシステム開発開始 2001/10/31 - - - - - ユーザーレベルプロトタイプ 2005/10/31 - - - - - オープンソースで公開 2006/03 36 1 - - - Solaris 10 6/06 で製品として初リリース 2006/06 42 3 ◯ ◯ ◯ ダブルパリティ RAID-Z 2007/07 62 6 ◯ ◯ ◯ ブート対応 2007/07 68 7 ◯ ◯ ◯ 分離ログデバイス (slog) 2007/11 78 10 ◯ ◯ ◯ 2次読込キャッシュ (L2ARC) 2008/05 90 - ◯ ◯ × COMSTAR 対応 2008/11 - - - - - Storage 7000 シリーズ (現ZFSSAシリーズ) 2009/05 114 15 ◯ ◯ ◯ ユーザー・グループ単位容量制限 2009/07 120 17 ◯ ◯ ◯ トリプルパリティ RAID-Z 2009/11 128 21 ◯ ◯ × 重複排除 2010/09 149 30 ◯ 未 × 暗号化 build: Nevada build, ver: zpool version, S11: Solaris 11 11/11 (Nevada 175b / zpool ver 33), ZFSSA: ZFS Storage Appliance 2011.1.2.1, S10: Solaris 10 8/11 (zpool ver 29 but dedup not supported) Copyright© 2012, Oracle. All rights reserved. 8
  • 9.
    拡張性! ストレージプール • 従来のファイルシステム・ボリューム管理 • ファイルシステム管理がボリュームや物理ディスクに依存 • 容量拡張ひとつとっても容易ではない • ストレージ管理 = ディスク/ボリューム/ファイルシステムの容量/性能/属性..管理 • ZFS • システム内共有プールに物理ストレージを登録・格納 非常に容易な • 必要なときにその容量が使用される 容量管理 • 容量拡張はプールに物理ディスクを追加するだけ Copyright© 2012, Oracle. All rights reserved. 9
  • 10.
    拡張性! ファイルシステムの切り出し: 自動容量割当 / (root) ファイルシステム3 usr db export ファイルシステム1 web あるファイルシステムに ファイルシステム4 対してどのデバイスの ファイル どこが使われるかは システム2 ZFSが自動で決定 ストレージ管理 = プールを作れば後は 属性と名前の管理 ストレージデバイスを ファイルシステムで 抽象化・仮想化 StoragePool Copyright© 2012, Oracle. All rights reserved. 10
  • 11.
    堅牢性! トランザクションベースの書込時コピー(Copy-On-Write) Uber-block 元データ 新データ アプリ ケーションから アプリ 見える状態 ケーションから はじめの状態 コピーを作成して変更を記録(CoW) 見えない状態 元ポインタ New Uber-block 新ポインタ アプリ ケーションから アプリ 見えない状態 ケーションから ポインタ(間接ブロック)をCoW Uber-blockを更新 見える状態 Copyright© 2012, Oracle. All rights reserved. 11
  • 12.
    堅牢性? そもそもこの倉庫で 従来のチェックサム: ブロック単位 正しいかも未確認 倉庫前 荷物を 中身検査 倉庫に格納依頼 配送過程 • チェックサム • 誤り検出(訂正)用情報 • ブロックのチェックサムを計算 • 当該ブロック内のみでの誤り検出 チェックサムで 出荷前 チェックサムで 保護されない • =ブロック単位で誤っていない場合は 中身検査 保護される 検出できない(silent data corruption) (ブロック単位チェックサムのイメージ) CERN の実験• 検出可: bit rot 33700ファイル (約8.7TB) 中 検出不可: phantom writes, misdirected read/writes, • 22ファイルで発生 accidental overwrites, DMA parity errors, driver bugs など ブロック { データ checksum データ checksum Copyright© 2012, Oracle. All rights reserved. 12
  • 13.
    堅牢性! 荷物を配送業者に渡す前に ZFS: End-to-Endチェックサム チェックサムを計算 倉庫から帰ってきた荷物の チェックサムを計算し 格納前のチェックサム値と比較 • データとチェックサムを分離 • ファイルシステムがあらかじめチェックサムを計算 • データとチェックサムが本当に正しい場所に 書かれているかも確認できる • ツリー全体用のチェックサム • silent data corruption への対策 • IOパス全体のチェック • bit rot アドレスの値チェックサムで 指しているアドレスが • phantom writes 本当にそこでよいのかも確認 • misdirected read/writes • accidental overwrites • DMA parity errors • driver bugs Copyright© 2012, Oracle. All rights reserved. 13
  • 14.
    機能! 全ての機能がOSに付属 • スナップショット • クローン • バックアップ・リストア original snapshot uber-block snapshot uber-block original • リモートコピー • NFS • iSCSI Current • CIFS (Solaris 10はSamba経由) Data • 圧縮 ! • 実は複数コアで並列圧縮 • 重複排除 (Solaris 10 は非対応) • 暗号化 (Solaris 11 Express 2010.11 以降) Copyright© 2012, Oracle. All rights reserved. 14
  • 15.
    管理性! ファイルシステム作成手順 / (root) 1.プールにストレージを登録 usr opt tank zpool create tank <block_device> ... 2.プールから プール名 home 作成時に ファイルシステム切出 自動でマウント zfs create tank/home ファイルシステム名 home 3. (省略可) 属性値設定 zfs set <attr>=<value> tank/home   暗号化、重複排除、圧縮、容量制限、など • 3ステップで構成可能 ZFS • /etc/vfstab書き換え不要 • /etc/dfs/dfstab書き換え不要 Storage Pool: tank Copyright© 2012, Oracle. All rights reserved. 15
  • 16.
    性能! Hybridストレージプール (HSP) 性能管理も非常に容易 ! Copyright© 2012, Oracle. All rights reserved. 16
  • 17.
    性能! Hybridストレージプールの性能効果例 Flash無し vs.Flash有り 構成 A: Flash 無しのストレージプール (DRAM + 7x 10K RPM SAS) 構成 B: Flash 有りのストレージプール (DRAM + Read SSD + Log SSD + 5x 4200 RPM SATA) x3.2 x2 +11% x1/2 x1/4.9 読込IOPs 書込IOPs Raw 容量 TBあたり 消費電力 (TB) コスト (ワット) • Flash 利用でコスト面も優位 ! • 大規模構成時のコストメリットが特に期待できる Copyright© 2012, Oracle. All rights reserved. 17
  • 18.
    ZFS の活用 ヘテロ環境での大規模統合共有ストレージ ・メールデータの保存 ・オフィスファイルの保存 ・画像データの保存 ・大規模ファイルシステムを簡単に構築可能 ・GB単価が安いディスクを使用可能 ・データマイニング等の計算データ保存 ・SSDをファイルシステムの二次キャッシュと Solaris Linux Windows  して使用できファイルシステムの入出力が  HDDのみで構築した場合に比べ高速になる オンラインでの NFS/iSCSI/CIFS/FC ディスクドライブ追加 リモートレプリケー ローカルサーバー ション機能で大規模 ファイルシステムの データのバックアップ も簡単に実現 Pool オンライン メイン SnapShot コピー 拡張 リモートサーバー HDDの追加 128ビット ファイルシステム Copyright© 2012, Oracle. All rights reserved. 18
  • 19.
    ZFS + 仮想化 ZFS: 仮想化の強力なストレージインフラ • 仮想マシン/仮想OS (またはそのイメージ) の • (大量一括)高速作成、配備 • シンプロビジョニング • リモートコピー • スナップショット・ロールバック • ブロック単位差分バックアップ • 自動圧縮 • 包括的管理・監視ツール • 重複排除 • 強力なデータ保護 • ストレージのRAID化 • 他ホストへの移動 • オンラインストレージ容量拡張 • HA • Flashの自動最適使用 • 動的リソース配分 • 共有ディスクプロビジョニング 開発用途に用いて 時間、リソース、費用の節約も! • Oracleによる仮想化ソリューション • Oracle Solaris コンテナ/ゾーン、Oracle VM Server for SPARC, Oracle VM Server for x86, Oracle VM VirtualBox, Oracle VDI • VMware, Xen, KVM, .. Copyright© 2012, Oracle. All rights reserved. 19
  • 20.
    ZFS + 仮想化 サーバー仮想化環境での共有ストレージ ・OSイメージサーバー用共有ストレージとして活用 HA / 簡易HA / マイグレーション VM1 VM3 VM5 Virus Scanning Active Directory Server Server VM2 VM4 VM6 VM7 VM5 NFS 共有ストレージ iSCSI Backup Server Copyright© 2012, Oracle. All rights reserved. 20
  • 21.
    Sun ZFS ストレージアプライアンス(ZFSSA) •Unified Storage / Sun ZFS Storage 7000 • Solaris 11 ベースの NAS ヘッド • オープンアーキテクチャ 7120 7320 • データ形式、プロトコル 〜177TB 〜432TB 7420 (NFS, FTP, WebDAV, iSCSI, CIFS, FC, InfiniBand (iSER, SRP, IPoIB, NFS/RDMA), NDMP, ..) 〜1728TB • オープンソースソフトウェア採用 • コストパフォーマンス S7420 137,000 IOPS SPC-1 • ZFS と Flash (SSD) 10,703 MBPS SPC-2 • Hybridストレージプール 267,928 nfs ops/s (ORT 1.31ms) • DTrace Analytics SPECsfs2008 • リアルタイム S7320 134,140 nfs ops/s • システム性能確認 (ORT 1.51ms) SPECsfs2008 • 容量プランニング • 課題特定 DTrace Analytics Copyright© 2012, Oracle. All rights reserved. 21
  • 22.
    ZFS事例 • 国内事例 • 株式会社インターネットイニシアティブ様 • クラウド用NASストレージ • ZFSSAはサンのストレージ製品で • 株式会社 IT コア様 最速の立ち上がり • クラウドサーバー用ストレージ • 出荷6ヶ月でストレージ・コスト47.5億円、 • 株式会社ドワンゴ様 6,500人日のストレージ管理時間節減 • 「ニコニコ動画」用ストレージ • 多彩な業種で採用 • さくらインターネット株式会社様 • 発売60日で100を超える新パートナが契約 • InfiniBand 対応「さくらのクラウド」ストレージ • 初期出荷から約 3 年で • グリー株式会社様 • ログ解析システム • 6000 以上のシステム、100PB 以上の容 量、2 億ドル以上の販売 • 某電機機器メーカー様 • 社内メールストレージ • 海外事例 • 某放送事業者様 • ZFS • 放送データファイルサーバー • Wikimedia, Internet Archive, Joyent, • Exalogic Elastic Cloud (内蔵NAS) Oregon州立大学, Elanders, ETH Zurich • ソフトバンクテレコム株式会社様 フランス国立核物理素粒子物理研究所 • ホワイトクラウド エンタープライズ PaaS • ZFSSA powered by Oracle • Signature Styles, EasySpeedy, DigiTar, • Exadata D2D バックアップ i365, OurStage, Last.fm, 某スマホベンダ... • 某通信事業者様、SI様、教育サービス業様、証券会社様、 半導体メーカー様、自動車部品メーカー様、請求書発行 • Oracle 社内/社外向けシステム 業者様、金融業者様、製薬ソリューション業者様 Copyright© 2012, Oracle. All rights reserved. 22
  • 23.
    ZFS: 革新的ファイルシステム -ですが既に10年以上の蓄積 管理性 機能 拡張性 •スナップショット •事実上無制限 •極めて簡素 •リモートコピー •プール構造 •プール容量 •ボリューム管理の統合 •バックアップ •ファイル •属性値による管理 •ファイル共有 システム容量 •ファイル数 •ディレクトリ数 •圧縮 ZFS 1 ZFS 2 ZFS 3 性能 •重複排除 new! •Hybridストレージ プール •Read-modify- 堅牢性 writeの排除 •Copy-on-Write •入出力のパイプ •トランザクショ ライン処理 ン処理 •End-to-End 全てがOSの機能 チェックサム •自己修復 •暗号化 Storage Pool new! Copyright© 2012, Oracle. All rights reserved. 23
  • 24.
    ZFS: 広範なインフラ向けソリューションの 理想的なストレージ基盤 • 多くの機能を低コストで、多くの応用例、多くの事例 webインフラ データベース ストラクチャ バックアップ DWH コンテンツ データ マネジメント プロテクション デスクトップ統合 ハイパフォーマンス 事業継続 コンピューティング 仮想化 災害対策 デスクトップ用 NAS クラウド ファイルサービス/ Eメールなど コンピューティング インフラストラクチャ アーカイブ / ストレージ Copyright© 2012, Oracle. All rights reserved. 24
  • 25.
    Solaris 11における ZFS強化点 Copyright© 2012, Oracle. All rights reserved. 25
  • 26.
    暗号化 ZFS Copyright© 2012,Oracle. All rights reserved. 26
  • 27.
    暗号化ZFS • データの内容秘匿のため暗号化鍵でコード化 •データ暗号化鍵はラップ用鍵で暗号化される ! • これまでどおりの ZFS 管理モデルに統合 • 既存プールでも利用可能 • プールバージョンを30以上にアップグレードする必要あり • 鍵管理の権限委譲が可能 • 管理者、エンドユーザー • ゾーン • 「鍵使用」と「鍵変更」の分掌 • 外部預託の仕組みも作ることができる Copyright© 2012, Oracle. All rights reserved. 27
  • 28.
    暗号化ZFS 暗号化をどこに設定するか ! • ZFS のデータセット単位で暗号化ポリシーを設定 • ほとんどのシステムではプールは1-2個だがデータセットは多数 • 現在 AES-128 / 192 / 256 をサポート • デフォルトでは aes-128-ccm • 他の方式もサポート可能なデザイン • iSCSI、FCoEターゲットは ZVOL を暗号化 • イニシエータ側での鍵管理無し • NFSv2,v3,v4、CIFS (SMB) でデータセット共有可能 • NAS クライアント側では鍵管理無し Copyright© 2012, Oracle. All rights reserved. 28
  • 29.
    暗号化ZFS ディスク上で何が暗号化されるか • 暗号化される • 暗号化されない • 全アプリケーションデータ • プールのメタデータ • POSIX 層のデータ • プールの履歴 • パーミッション、ACL、所有者 • RAID構成情報 • ディレクトリ構造 • データセット属性値 • 全 ZVOL データ • データセット名 • (スナップショットでも同様) • データセットのユーザー属性値 • (クローンでも同様) データデータデータ 情報情報情報情報 データデータデータ 情報情報情報情報 データデータデータ 情報情報情報情報 Copyright© 2012, Oracle. All rights reserved. 29
  • 30.
    暗号化ZFS 暗号化をいつ設定するか ! • 暗号化属性値はデータセット作成時に指定 • copy-on-writeで古いクリアテキストが残るのを避けるため # zfs create -o encryption=on tank/home/darren Enter passphrase for ’tank/home/darren’: xxxxxxxx (←8文字以上) Enter again: xxxxxxxx • チェックサムは SHA256 になる ! • 既存データセットの暗号化ポリシーは変更できない • 暗号化アルゴリズムやチェックサムを後から無効化や変更不能 # zfs set encryption=off tank/home/darren-new cannot set property for ’tank/home/darren-new’: ’encryption’ is readonly Copyright© 2012, Oracle. All rights reserved. 30
  • 31.
    暗号化ZFS ラップ用鍵 • keysource属性値 • ユーザー・管理者が管理するラップ用鍵の形式や場所を指定 • passphrase: PKCS#5パスワードベース暗号化を使用 • raw / hex: バイト形式または 16 進テキスト文字列 ! • ラップ用鍵は派生データセットに継承される • クローン時に異なるラップ用鍵を指定可能 • 新たな暗号化鍵を使用することも可能 • デフォルトではoriginデータセットの鍵を使用 # zfs clone tank/home/darren@now tank/home/darren-new Enter passphrase for ’tank/home/darren-new’: yyyyyyyy (←非表示) Enter again: yyyyyyyy (←非表示) • ファイルからのラップ用鍵作成例 # pktool genkey keystore=file outkey=/rmdisk/stick/mykey keytype=aes keylen=256 # zfs create encryption=aes-256-ccm ! -o keysource=raw,file:///rmdisk/stick/mykey tank/home/bob Copyright© 2012, Oracle. All rights reserved. 31
  • 32.
    暗号化ZFS 暗号化ZFSデータセットの作成例 ! # zfs create -o encryption=on build/fs Enter passphrase for ‘build/fs’: xxxxxxxx (← 8文字以上、非表示) Enter again: xxxxxxxx (← 非表示) # zfs create build/fs/sub # zfs get -r encryption,keysource,keystatus,checksum build/fs NAME PROPERTY VALUE SOURCE build/fs encryption on local build/fs keysource passphrase,prompt local build/fs keystatus available - build/fs checksum sha256-mac local build/fs/sub encryption on inherited from build/fs build/fs/sub keysource passphrase,prompt inherited from build/fs build/fs/sub keystatus available - build/fs/sub checksum sha256-mac inherited from build/fs Copyright© 2012, Oracle. All rights reserved. 32
  • 33.
    重複排除(deduplication) Copyright© 2012, Oracle. All rights reserved. 33
  • 34.
    重複排除 (deduplication) • ブロック単位の重複検知・排除機構 ! • 同一内容データブロックは全体で1コピーだけを格納 • 格納されているブロックと同一内容のブロックはオンライン(オンザフライ)で 除去される(格納されない) • 共通部分は複数ファイルで共有 • メタデータは重複排除対象外 • 重複判定を実行するための専用ディスク領域等は不要 • チェックサム(SHA256)を使用して重複判定 ! • 圧縮、暗号化と同時利用可能 ! • 特に効果の高い適用範囲 • 仮想化 ! • サーバーバックアップ ! • 開発環境 ! ! • ZFSに統合済み (アドオンではない) • 特別なハードウェア不要 • デザイン上容量制限無し • 直近では性能向上を重視 Copyright© 2012, Oracle. All rights reserved. 34
  • 35.
    重複排除 ブロックレベルでの重複排除機構 File 2 AA A1 A1 B B CC B B C C CC C C DD File 1 File 1a BB BB A C A1 B D 3 ファイルを格納するために使われるブロック Copyright© 2012, Oracle. All rights reserved. 35
  • 36.
    重複排除 構成方法 ! • dedup属性値をデータセット(スナップショット除く)単位で指定 • デフォルトではオフ # zfs set dedup=on tank/home • スコープはプール単位 • dedup=onの全データセットで共通のブロックを共有 • 重複排除率確認方法 (プール内で dedup 適用データセットのみ計上) # zpool list tank NAME SIZE ALLOC FREE CAP DEDUP HEALTH ALTROOT tank 136G 55.2G 80.8G 40% 2.30x ONLINE - • 有効時はzfs listの容量表示に注意 • 参照サイズの合計が表示される • 重複排除分は考慮されず実際のディスク消費量より多く表示される Copyright© 2012, Oracle. All rights reserved. 36
  • 37.
    ZFS 圧縮、暗号化、チェックサム ZFS 読み込み時 書き込み時 ZPL ZPL DMU DMU SPA ARC ARC • 圧縮 • 圧縮解除 • 暗号化 • 複号化 ZIO ZIO • チェックサム • チェックサム確認 (重複判定) VDEV VDEV VDEV VDEV ... ... Copyright© 2012, Oracle. All rights reserved. 37
  • 38.
  • 39.
    ZFS の性能向上 • 新しい ZFS システムプロセス • logbias 属性値 • sync 属性値 • RAID-Z/ミラー ハイブリッドアロケータ • カーネルモード iSCSI ターゲット (COMSTARによる) • その他の性能向上 (本日は詳細は割愛させていただきます) • SPARC T4プロセッサによる暗号化やチェックサム計算の高速化 • ブロックアロケータの効率化、高速化 • scrub/resilver時の先読み • raw scrub/resilver • ゼロコピー I/O • スリムZIL Copyright© 2012, Oracle. All rights reserved. 39
  • 40.
    ZFSの性能向上 新しいZFSシステムプロセス • これまでの問題点 • ZFSトランザクション処理はCPU使用量が大きい • トランザクションが多くなると、圧縮、暗号化、重複排除などと 合わせて何秒か必要なことも • カーネルスレッドが高い優先度で動作 • 結果: webサーバーやNFSなどの遅延が増加 • 解決策 (Solaris 11) • CPU使用量の大きいカーネルスレッド用スケジューリングクラス • このクラスをプールごとのシステムプロセスとして表す • 優先度を量子化・可変にしてオンオフを切替、他との調整 • 結果: スループットへの影響極小で遅延を大幅削減 ! • 各プールのCPU使用率を見える化 Copyright© 2012, Oracle. All rights reserved. 40
  • 41.
    ZFSの性能向上 logbias属性値 • これまでの問題点 • slogデバイスは限りある資源 • 遅延の許されないI/Oが多量の同期書込に埋もれてしまう • 全ての同期書込が低レイテンシである必要は無い • レイテンシが重要で無い場合はディスクに書く方が低コスト • ディスク本数が多ければ帯域もslogデバイスよりはるかに大 • 解決策 (Solaris 11) ! • データセットごとにlogbias属性値を設定可能に • latency または throughput • 例: Oracle DBのredoログ: zfs set logbias=latency 例: Oracle DBのデータファイル: zfs set logbias=throughput • 30%以上の性能向上 Copyright© 2012, Oracle. All rights reserved. 41
  • 42.
    ZFSの性能向上 sync属性値 • 同期書込の挙動をデータセットごとに制御 •standard: 通常のPOSIXルールに従う (デフォルトかつ推奨) • fsync(), O_DSYNC write() などの際、stableなストレージに コミットされてからreturn • always: 全トランザクションが同期に • 明示的な同期指定は不要 • 通常は性能が低下するが、 ハードウェアと負荷要件によっては性能向上することもある • disabled: 全てが非同期に • 高速slogデバイスが無い場面で大幅な性能向上 • ただし、使用はリスクを検討して慎重に • 書込が同期である必要が無い場面 ! • DBやNFS操作など、アプリからの同期トランザクション要求は無視される • 使用中の / や /var への設定は仕様外動作、データロス、リプレイアタックの危険あり • sync属性値はzil_disabledパラメータを置き換える Copyright© 2012, Oracle. All rights reserved. 42
  • 43.
    ZFSの性能向上 RAID-Z/ミラー ハイブリッドアロケータ • RAID-Zグループがミラーとしても使用される • RAID-Z として使用: ユーザーデータと多くのメタデータ • 容量と書込スループットが最大化 • ミラーとして使用: 低レイテンシが要求されるメタデータ • 読込IOPS最大化、読込レイテンシ最小化 ! • 小さなランダムアクセスされるメタデータに有益 • データノード / 間接ブロック、ディレクトリ、重複排除テーブル • ミラープールのような耐障害性は提供せず、性能向上のみ • ミラー化メタデータ分の容量を消費する ! • 現実世界の負荷で2-4倍の高速化を達成したものもある • 重複ブロックのある大きなファイルをコピー • ファイルの多いディレクトリでの rm -rf • 既存プールはバージョンを29以降にアップグレードすれば 以降の書込に適用される Copyright© 2012, Oracle. All rights reserved. 43
  • 44.
    ZFSの性能向上 カーネルモード iSCSIターゲット •Solaris 10のiSCSI targetはユーザーランド実装 (shareiscsi で設定) • Solaris 11 のCOMSTAR port providerはカーネル内実装 • ZFSSA も同様 (COMSTAR 前と比べて 2.7倍の性能向上) ! • WCE (Write Cache Enabled) 設定 • HDDやHW-RAIDのWCEとより良く協調可能 • 設定手順 (shareiscsiでは設定できない) ! • stmfadm create-lu: backing store を logical unit provider に登録 • itadm create-target: COMSTAR iSCSI port provider に紐付け • iSCS MC/S (Multiple Connection per Session) も Solaris 11で対応 Copyright© 2012, Oracle. All rights reserved. 44
  • 45.
    Oracle Solaris 11Express 2010.11 からの 主な強化点 Copyright© 2012, Oracle. All rights reserved. 45
  • 46.
    主な強化点 • zpool バージョン:31 から 33 へ • 32 One MB blocksize • 33 Improved share support • aclmode プロパティの改善 • 値: discard, mask, passthrough をとるように • 物理的な場所でのプールデバイスの指定 • zpool status -l にてディスクの物理的な場所を表示 • /dev/chassis/SUN-Storage-J4400.rack22/SCSI_Device__2/disk • fmadm add-alias による別名定義も可能 • ZFS シャドウマイグレーション • ファイル共有の改善 (share プロパティ) Copyright© 2012, Oracle. All rights reserved. 46
  • 47.
    ZFS シャドウマイグレーション • 既存ファイルシステムのオンライン移行 • 2年ほど前から ZFSSA の機能として先行実装 • 利点 • 新規ファイルシステムは既存ファイルシステム同様にファイル提供 • 既存ファイルシステムのファイルやディレクトリが即座にアクセス可 ! • ファイルシステムの完全移行(コピー完了)を待つ必要が無い • 名前変更、ファイル更新なども可能 • 新規ファイルシステムはネットワーク共有も可能 ! • ユーザーアクセスに対応する裏で移行作業用スレッドが動作してコピー • 手順: • 移行元ファイルシステムを読込専用でマウント • 移行先ファイルシステムにshadowプロパティを設定 • zfs set shadow=file:///<srcpath> <dst_fs>: ローカルファイルシステムの内容を移行するとき • zfs set shadow=nfs:///<host>:<srcpath> <dst_fs>: NFS の内容を移行するとき • 裏で移行作業用スレッドを動かすには system/file-system/shadow-migration パッケージを インストールし、SMFでshadowdサービスを起動 Copyright© 2012, Oracle. All rights reserved. 47
  • 48.
    ファイル共有の改善 (share プロパティ) •2 段階での共有設定に • share プロパティで「共有」を定義 • 「共有」は ZFSSA で先行実装されていた枠組み • sharenfs/sharesmb プロパティで共有する/しないをオンオフ • 「共有」 • 共有に対してオプションなどを指定 • ファイルシステムごとに複数の共有を定義でき、 一意に特定する共有名が使用される • 1 つの共有は、NFS 共有とSMB 共有の両方にオプションを定義可能 • 単一のディレクトリパスに対し複数のSMB パスを定義可能 • 設定例 (詳細は man zfs_share) • # zfs set share=name=pub,path=/pub,prot=nfs,sec=sys,rw=*,public rpool/public など (nameとpathとprotは必須、prot後にプロトコル依存オプションを記載、「,」後はスペース無) (解除は zfs set -c share=name=pub rpool/public など) • # zfs set sharenfs=on rpool/public (←ここで初めて公開される) Copyright© 2012, Oracle. All rights reserved. 48
  • 49.
  • 50.
    ZFS その他の強化点 (1) •ユーザー/グループ単位の容量制限 (user/group quota) • トリプルパリティ RAID-Z • ディスク3本の障害に耐性 (業界初) • ZFS スナップショット差分 (zfs diff) • スナップショットの差分を確認可能に • zpool split • ミラー化プールを2個の同一プールに分割 • 用途 • ディザスタリカバリ • サイトの複製 • 物理的アーカイブを簡単に取得可能 Copyright© 2012, Oracle. All rights reserved. 50
  • 51.
    ZFS その他の強化点 (2) •zfs send/recv による NDMP バックアップ • send/recv の速度で既存 NDMP 環境に容易に統合可能 • 動的 LUN 拡張 (autoexpand属性値) • プールの修復に関する強化点 • 書き込み順序を無視するディスクへの対応 • ログが無い場合の修復 • 読込専用モードでのプールインポート • zpool コマンドの機能拡張 • zfs send/recv の拡張 • send側とrecv側で異なる属性値をsend/recv時に設定可能に Copyright© 2012, Oracle. All rights reserved. 51
  • 52.
    OSの一機能から OS全体との融合と OSの進化 Copyright© 2012, Oracle. All rights reserved. 52
  • 53.
    ZFS: 革新的ファイルシステム 管理性 機能 拡張性 •スナップショット •事実上無制限 •極めて簡素 •リモートコピー •プール構造 •プール容量 •ボリューム管理の統合 •バックアップ •ファイル •属性値による管理 •ファイル共有 システム容量 •ファイル数 •ディレクトリ数 •圧縮 ZFS 1 ZFS 2 ZFS 3 性能 •重複排除 new! •Hybridストレージ プール •Read-modify- 堅牢性 writeの排除 •Copy-on-Write •入出力のパイプ •トランザクショ ライン処理 ン処理 •End-to-End 全てがOSの機能 チェックサム •自己修復 •暗号化 Storage Pool Solaris 11 の new! 標準ファイルシステム Copyright© 2012, Oracle. All rights reserved. 53
  • 54.
    ZFS: Solaris 11標準ファイルシステム (1) • root/boot ファイルシステムが ZFS に • ブート環境 (BE) という概念が導入される • Solaris 10 では Live Upgrade の設定が必要だったことが 何も設定せずいきなり可能に • OS動作中、裏でOSアップグレード、パッチ適用 • 旧環境へのロールバック • しかも、 • 旧環境のコピー作成は瞬時 • 容量消費は差分のみ • パッケージシステム IPS も root/boot が ZFS であることを前提 数 秒後 Solaris 11 その他 その他 その他 データ データ データ 現在の 現在の 現在のブート環境 ブート環境 ブート環境 更新 新しく更新された 未使用 未使用 新しい ブート環境 ブート環境 未使用 zpool zpool zpool Copyright© 2012, Oracle. All rights reserved. 54
  • 55.
    ZFS: Solaris 11標準ファイルシステム (2) • ゾーン環境は ZFS 前提に • ゾーン複製機能は ZFS によるクローンを使用 • ゾーンへの IPS によるパッケージ配備 • ゾーンにおける BE Copyright© 2012, Oracle. All rights reserved. 55
  • 56.
    Live Upgrade →BE 管理 ! • Live Upgradeの lu* コマンド群は beadm コマンドに置き換え • AI (Automated Installer) で以下の機能を提供 • ミラー化ルートプール作成 ! ! • スワップとダンプのサイズ変更 • (LiveCDとテキストインストーラではこれらは行えない) • pkg update / image-update コマンド • 新たな BE (ブート環境) を自動作成 ! • パッチ適用やアップグレードの前に別途 BE (ブート環境) を 作成する必要が無くなった • パッチを個別に適用する必要無し • ミラーのattach時にブートブロックが自動適用 • スペアへの切り替わり時も同様 Copyright© 2012, Oracle. All rights reserved. 56
  • 57.
    BEのアップグレード例 • 既存ZFS BEを pkg updateで更新後に新BE zfsBE-1でブート # pkg update ... (...しばらく後、更新完了後) A clone of zfsBE exists and has been updated and activated. On the next boot the Boot Environment zfsBE-1 will be mounted on ’/’. Reboot when ready to switch to this updated BE. # init 6 (...しばらく後、リブート完了後) # beadm list BE Active Mountpoint Space Policy Created -- ------ ---------- ----- ------ ------- zfsBE - - 9.38M static 2011-10-15 09:18 ! zfsBE-1 NR / 10.76G static 2011-11-05 09:57 Copyright© 2012, Oracle. All rights reserved. 57
  • 58.
    Copyright© 2012, Oracle.All rights reserved. 58
  • 59.
    クラウド・ビッグデータ時代に求められるもの • 高いCPU/メモリ/ストレージ容量効率による高集約の実現 •ゾーンによる低オーバーヘッドなサーバー仮想化、DTraceによる様々な層の ボトルネック解析、ZFS: クローン、重複排除、複 数コアによる圧縮、HSP、... • 先が読めないので初期投資を抑え、スモールスタート 全てはコストや • コモディティ化した「サーバー」をネットワーク機器やストレージとする 競争力に直結 CrossbowやCOMSTAR、ZFS: シンプロビジョニング、プールによる オンライン容量拡張かつ128ビットファイルシステム、autoexpand、 ZFS on ZFS (iSCSI/FC)、... • ネットワーク経由で柔軟/高速/自動化された環境の配備、切り戻し、管理 • IPS/Automated Installer、Crossbowネットワーク仮想化、ゾーン移行、各種プロトコル、 Enterprise Manager OpsCenter 12c、ZFS: クローンによるゾーンの高速複製、 ブート環境、ゾーンブート環境、スナップショット、共有管理、COMSTAR連携、... 既存ユーザーには最初 • 当たり前のセキュリティ ちょっと慣れが必要! 他OSユーザーの方が • ゾーンによる環境隔離、ネットワーク帯域制御、ZFS: 暗号化、... 敷居が低いかも?! • 使うほどSolaris 11は「クラウドOS」と実感できます Copyright© 2012, Oracle. All rights reserved. 59
  • 60.
  • 61.
    まとめ • 変わらないもの •ZFS: 革新的ファイルシステム • ファイルシステムとして重要なポイントを網羅 • 拡張性、堅牢性、機能、性能、管理性 • ZFS: 広範なインフラ向けソリューションでの理想的なストレージ基盤 • 多くの機能を低コストで • 多くの応用例、多くの事例 • クラウド時代・ビッグデータ時代に最適な拡張性とストレージ仮想化 • Solaris の強化・進化を支え、Solaris とともに強化・進化 • Solaris 11 の標準ファイルシステム ! • ZFS のフル活用で Solaris も強力に • 時代の要請に応えつつ次世代エンタープライズを見据える ! Copyright© 2012, Oracle. All rights reserved. 61
  • 62.
    参考情報 Solaris 11 の ZFS 参考情報 • Oracle Solaris の管理: ZFS ファイルシステム • 日本語 • http://docs.oracle.com/cd/E26924_01/html/E25824/index.html • http://docs.oracle.com/cd/E26924_01/pdf/E25824.pdf • 英語 • http://download.oracle.com/docs/cd/E23824_01/html/821-1448/index.html • http://download.oracle.com/docs/cd/E23824_01/pdf/821-1448.pdf • ZFS Best Practice / Troubleshooting Guide • http://www.solarisinternals.com/wiki/index.php/ZFS_Best_Practices_Guide • ZFS Dedup FAQ: • http://hub.opensolaris.org/bin/view/Community+Group+zfs/dedup • ZFS Encryption FAQ: • http://hub.opensolaris.org/bin/view/Community+Group+zfs/encrypt Copyright© 2012, Oracle. All rights reserved. 62
  • 63.
    参考情報 ZFS 参考情報 • 参考情報リンク集 hiroa blog zfs 検索 からリンクしました! • 解説記事、アーキテクチャ、ソースツアー、デモ、マニュアル、 構築時の参考情報、blog、事例、書籍 • Oracle University コース • Oracle トレーニングオンデマンド「Oracle Solaris 11 新機能」 リリース! • http://education.oracle.com/pls/web_prod-plq-dad/db_pages.getpage?page_id=600 • Solaris 10 ZFS管理 (SA-2290-S10) • ZFSの機能、プールとファイルシステム管理、操作、障害対応 ! • OTN (Oracle Technology Network) • http://www.oracle.com/technetwork/jp/index.html (Japan) • http://www.oracle.com/technetwork/index.html (Global) • 過去の ZFS ダイセミ資料もOTNオンデマンドで公開 Copyright© 2012, Oracle. All rights reserved. 63
  • 64.
    予告: SPARC T4+ Solaris 11チューニング体験コース 詳細はお問い合わせください もしくはアンケートまで Crossbowによる SPARC T4サーバー 仮想ネットワーク zoneによる NFSサーバー http ユーザー毎の 実行用ドメイン グループA ユーザー毎の グループB http 構築物 NFS 本番環境用 ユーザー毎の ユーザー毎の アップロード用 ゾーン 実行 開発用ゾーン 開発用ドメイン ゾーン gzip/pigz 開発ツール 開発ツール Webサーバー 設定スクリプト 解析ツール NFSサーバー 解析ツール x2N N人で2Nスレッド共有 dtrace_kernel不可 各2スレッド占有 x 2N xN dtrace_kernel可 xN ssh -X ssh -X 端末 端末 httpによるアップロードを 検知し、順次実行 もちろんZFS Solaris Studio 12.3 Automated Installerと コンパイラと統合開発環境 zoneのcloneで作成 Copyright© 2012, Oracle. All rights reserved. 64
  • 65.
    詳細はお問い合わせ 宣伝: SPARC SuperCluster T4-4 ください、もしくは アンケートまで なんとあのExadataとさらにExalogicをSPARC/Solaris にて統合 まさに でないとまず達成不可能な 抜群の集約率 集約率は コストに直結 T4-4 Node 1 T4-4 Node 2 T4-4 Node 3 T4-4 Node 4 大きなものに Solaris 10 OVM Solaris 10 OVM Solaris 10 OVM Solaris 10 OVM まとめる方が Solaris 10 Zone Solaris 9 Zone Solaris 8 Zone Solaris 9 Zone やはり集約率高 Solaris 10 Zone Solaris 9 Solaris 8 Solaris 8 Zone アプリ アプリ 少し前の Solaris 11 OVM Solaris 11 OVM Solaris 11 OVM Solaris 11 OVM サーバーを 数百台規模 + それに 関連する InfiniBand Network ストレージも 統合 •ここにZFSSAが EXADATA EXADATA EXADATA EXADATA EXADATA EXADATA ZFS STORAGE APPLIANCE STORAGE STORAGE STORAGE STORAGE STORAGE STORAGE Copyright© 2012, Oracle. All rights reserved.
  • 66.
    Copyright© 2012, Oracle.All rights reserved. 66
  • 67.
    Copyright© 2012, Oracle.All rights reserved. 67 67