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

4,138 views
4,033 views

Published on

Solaris ナイトセミナー #2-01

Published in: Technology
0 Comments
4 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
4,138
On SlideShare
0
From Embeds
0
Number of Embeds
48
Actions
Shares
0
Downloads
29
Comments
0
Likes
4
Embeds 0
No embeds

No notes for slide

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

  1. 1. <Insert Picture Here>ZFS によるストレージ仮想化旧題: ZFS とオペレーティングシステムの融合 Solaris 11 に見る、次世代ファイルシステム - ZFS -日本オラクル株式会社Solaris エバンジェリスト野崎 宏明
  2. 2. 以下の事項は、弊社の一般的な製品の方向性に関する概要を説明するものです。また、情報提供を唯一の目的とするものであり、いかなる契約にも組み込むことはできません。以下の事項は、マテリアルやコード、機能を提供することをコミットメント(確約)するものではないため、購買決定を行う際の判断材料になさらないで下さい。オラクル製品に関して記載されている機能の開発、リリースおよび時期については、弊社の裁量により決定されます。OracleとJavaは、Oracle Corporation 及びその子会社、関連会社の米国及びその他の国における登録商標です。文中の社名、商品名等は各社の商標または登録商標である場合があります。 Copyright© 2012, Oracle. All rights reserved. 2
  3. 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. 4. 内容• ZFS 概要• Oracle Solaris 11 における ZFS 強化点 • 暗号化 • 重複排除 • 性能向上 • Solaris 11 Express 2010.11 からの主な強化点 • その他の強化点 • OSの一機能からOS全体との融合とOSの進化 Copyright© 2012, Oracle. All rights reserved. 4
  5. 5. ZFS 概要Copyright© 2012, Oracle. All rights reserved. 5
  6. 6. ファイルシステム・ボリューム管理• どのセクタにどうデータを書くか• 開発者の腕(?)の見せどころ • どのセクタにどうデータを書くか: 固定型、拡張型 • 容量をうまく使えるか: 容量変更方法と制限 • 安全か: 冗長性、書き込み方法、誤り検出 • 便利か: 属性情報、スナップショット、バックアップ、リモートコピー、.. • 高速か: データの配置、メモリの有効利用 • 管理しやすいか Copyright© 2012, Oracle. All rights reserved. 6
  7. 7. 従来型ファイルシステムやボリューム管理の問題点 ところが• 拡張性• 堅牢性• 機能• 性能• 管理性• ....ZFSでは? Copyright© 2012, Oracle. All rights reserved. 7
  8. 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-Z2007/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-Z2009/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. 9. 拡張性! ストレージプール• 従来のファイルシステム・ボリューム管理 • ファイルシステム管理がボリュームや物理ディスクに依存 • 容量拡張ひとつとっても容易ではない • ストレージ管理 = ディスク/ボリューム/ファイルシステムの容量/性能/属性..管理• ZFS • システム内共有プールに物理ストレージを登録・格納 非常に容易な • 必要なときにその容量が使用される 容量管理 • 容量拡張はプールに物理ディスクを追加するだけ Copyright© 2012, Oracle. All rights reserved. 9
  10. 10. 拡張性! ファイルシステムの切り出し: 自動容量割当 / (root) ファイルシステム3 usr db export ファイルシステム1 webあるファイルシステムに ファイルシステム4対してどのデバイスの ファイルどこが使われるかは システム2ZFSが自動で決定ストレージ管理 =プールを作れば後は属性と名前の管理ストレージデバイスをファイルシステムで抽象化・仮想化 StoragePool Copyright© 2012, Oracle. All rights reserved. 10
  11. 11. 堅牢性! トランザクションベースの書込時コピー(Copy-On-Write) Uber-block 元データ 新データアプリケーションから アプリ見える状態 ケーションから はじめの状態 コピーを作成して変更を記録(CoW) 見えない状態 元ポインタ New Uber-block 新ポインタアプリケーションから アプリ見えない状態 ケーションから ポインタ(間接ブロック)をCoW Uber-blockを更新 見える状態 Copyright© 2012, Oracle. All rights reserved. 11
  12. 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. 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. 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. 15. 管理性!ファイルシステム作成手順 / (root)1.プールにストレージを登録 usr opt tank zpool create tank <block_device> ...2.プールから プール名 home 作成時に ファイルシステム切出 自動でマウント zfs create tank/home ファイルシステム名 home3. (省略可) 属性値設定 zfs set <attr>=<value> tank/home   暗号化、重複排除、圧縮、容量制限、など• 3ステップで構成可能 ZFS• /etc/vfstab書き換え不要• /etc/dfs/dfstab書き換え不要 Storage Pool: tank Copyright© 2012, Oracle. All rights reserved. 15
  16. 16. 性能!Hybridストレージプール (HSP) 性能管理も非常に容易 ! Copyright© 2012, Oracle. All rights reserved. 16
  17. 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. 18. ZFS の活用 ヘテロ環境での大規模統合共有ストレージ・メールデータの保存・オフィスファイルの保存・画像データの保存 ・大規模ファイルシステムを簡単に構築可能 ・GB単価が安いディスクを使用可能・データマイニング等の計算データ保存 ・SSDをファイルシステムの二次キャッシュと Solaris Linux Windows  して使用できファイルシステムの入出力が  HDDのみで構築した場合に比べ高速になる オンラインでの NFS/iSCSI/CIFS/FC ディスクドライブ追加 リモートレプリケー ローカルサーバー ション機能で大規模 ファイルシステムの データのバックアップ も簡単に実現 Pool オンライン メイン SnapShot コピー 拡張 リモートサーバー HDDの追加 128ビット ファイルシステム Copyright© 2012, Oracle. All rights reserved. 18
  19. 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. 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. 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. 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. 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. 24. ZFS: 広範なインフラ向けソリューションの理想的なストレージ基盤• 多くの機能を低コストで、多くの応用例、多くの事例 webインフラ データベース ストラクチャ バックアップ DWH コンテンツ データ マネジメント プロテクションデスクトップ統合 ハイパフォーマンス 事業継続 コンピューティング 仮想化 災害対策 デスクトップ用 NAS クラウド ファイルサービス/ Eメールなど コンピューティングインフラストラクチャ アーカイブ / ストレージ Copyright© 2012, Oracle. All rights reserved. 24
  25. 25. Solaris 11における ZFS強化点Copyright© 2012, Oracle. All rights reserved. 25
  26. 26. 暗号化 ZFSCopyright© 2012, Oracle. All rights reserved. 26
  27. 27. 暗号化ZFS• データの内容秘匿のため暗号化鍵でコード化 • データ暗号化鍵はラップ用鍵で暗号化される !• これまでどおりの ZFS 管理モデルに統合• 既存プールでも利用可能 • プールバージョンを30以上にアップグレードする必要あり• 鍵管理の権限委譲が可能 • 管理者、エンドユーザー • ゾーン • 「鍵使用」と「鍵変更」の分掌 • 外部預託の仕組みも作ることができる Copyright© 2012, Oracle. All rights reserved. 27
  28. 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. 29. 暗号化ZFSディスク上で何が暗号化されるか• 暗号化される • 暗号化されない • 全アプリケーションデータ • プールのメタデータ • POSIX 層のデータ • プールの履歴 • パーミッション、ACL、所有者 • RAID構成情報 • ディレクトリ構造 • データセット属性値 • 全 ZVOL データ • データセット名 • (スナップショットでも同様) • データセットのユーザー属性値 • (クローンでも同様) データデータデータ 情報情報情報情報 データデータデータ 情報情報情報情報 データデータデータ 情報情報情報情報 Copyright© 2012, Oracle. All rights reserved. 29
  30. 30. 暗号化ZFS 暗号化をいつ設定するか ! • 暗号化属性値はデータセット作成時に指定 • copy-on-writeで古いクリアテキストが残るのを避けるため# zfs create -o encryption=on tank/home/darrenEnter passphrase for ’tank/home/darren’: xxxxxxxx (←8文字以上)Enter again: xxxxxxxx • チェックサムは SHA256 になる ! • 既存データセットの暗号化ポリシーは変更できない • 暗号化アルゴリズムやチェックサムを後から無効化や変更不能# zfs set encryption=off tank/home/darren-newcannot set property for ’tank/home/darren-new’: ’encryption’is readonly Copyright© 2012, Oracle. All rights reserved. 30
  31. 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. 32. 暗号化ZFS 暗号化ZFSデータセットの作成例 !# zfs create -o encryption=on build/fsEnter passphrase for ‘build/fs’: xxxxxxxx (← 8文字以上、非表示)Enter again: xxxxxxxx (← 非表示)# zfs create build/fs/sub# zfs get -r encryption,keysource,keystatus,checksum build/fsNAME PROPERTY VALUE SOURCEbuild/fs encryption on localbuild/fs keysource passphrase,prompt localbuild/fs keystatus available -build/fs checksum sha256-mac localbuild/fs/sub encryption on inherited from build/fsbuild/fs/sub keysource passphrase,prompt inherited from build/fsbuild/fs/sub keystatus available -build/fs/sub checksum sha256-mac inherited from build/fs Copyright© 2012, Oracle. All rights reserved. 32
  33. 33. 重複排除(deduplication) Copyright© 2012, Oracle. All rights reserved. 33
  34. 34. 重複排除 (deduplication) • ブロック単位の重複検知・排除機構! • 同一内容データブロックは全体で1コピーだけを格納 • 格納されているブロックと同一内容のブロックはオンライン(オンザフライ)で 除去される(格納されない) • 共通部分は複数ファイルで共有 • メタデータは重複排除対象外 • 重複判定を実行するための専用ディスク領域等は不要 • チェックサム(SHA256)を使用して重複判定! • 圧縮、暗号化と同時利用可能 ! • 特に効果の高い適用範囲 • 仮想化 ! • サーバーバックアップ ! • 開発環境 ! ! • ZFSに統合済み (アドオンではない) • 特別なハードウェア不要 • デザイン上容量制限無し • 直近では性能向上を重視 Copyright© 2012, Oracle. All rights reserved. 34
  35. 35. 重複排除 ブロックレベルでの重複排除機構 File 2AA A1 A1B B CC B BC 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. 36. 重複排除構成方法 !• dedup属性値をデータセット(スナップショット除く)単位で指定 • デフォルトではオフ# zfs set dedup=on tank/home• スコープはプール単位 • dedup=onの全データセットで共通のブロックを共有 • 重複排除率確認方法 (プール内で dedup 適用データセットのみ計上)# zpool list tankNAME SIZE ALLOC FREE CAP DEDUP HEALTH ALTROOTtank 136G 55.2G 80.8G 40% 2.30x ONLINE -• 有効時はzfs listの容量表示に注意 • 参照サイズの合計が表示される • 重複排除分は考慮されず実際のディスク消費量より多く表示される Copyright© 2012, Oracle. All rights reserved. 36
  37. 37. ZFS 圧縮、暗号化、チェックサム ZFS読み込み時 書き込み時 ZPL ZPL DMU DMU SPA ARC ARC • 圧縮• 圧縮解除 • 暗号化• 複号化 ZIO ZIO • チェックサム• チェックサム確認 (重複判定) VDEV VDEV VDEV VDEV ... ... Copyright© 2012, Oracle. All rights reserved. 37
  38. 38. ZFSの性能向上Copyright© 2012, Oracle. All rights reserved. 38
  39. 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. 40. ZFSの性能向上 新しいZFSシステムプロセス• これまでの問題点 • ZFSトランザクション処理はCPU使用量が大きい • トランザクションが多くなると、圧縮、暗号化、重複排除などと 合わせて何秒か必要なことも • カーネルスレッドが高い優先度で動作 • 結果: webサーバーやNFSなどの遅延が増加• 解決策 (Solaris 11) • CPU使用量の大きいカーネルスレッド用スケジューリングクラス • このクラスをプールごとのシステムプロセスとして表す • 優先度を量子化・可変にしてオンオフを切替、他との調整 • 結果: スループットへの影響極小で遅延を大幅削減 !• 各プールのCPU使用率を見える化 Copyright© 2012, Oracle. All rights reserved. 40
  41. 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. 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. 43. ZFSの性能向上RAID-Z/ミラー ハイブリッドアロケータ• RAID-Zグループがミラーとしても使用される • RAID-Z として使用: ユーザーデータと多くのメタデータ • 容量と書込スループットが最大化 • ミラーとして使用: 低レイテンシが要求されるメタデータ • 読込IOPS最大化、読込レイテンシ最小化 ! • 小さなランダムアクセスされるメタデータに有益 • データノード / 間接ブロック、ディレクトリ、重複排除テーブル • ミラープールのような耐障害性は提供せず、性能向上のみ • ミラー化メタデータ分の容量を消費する !• 現実世界の負荷で2-4倍の高速化を達成したものもある • 重複ブロックのある大きなファイルをコピー • ファイルの多いディレクトリでの rm -rf• 既存プールはバージョンを29以降にアップグレードすれば 以降の書込に適用される Copyright© 2012, Oracle. All rights reserved. 43
  44. 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. 45. Oracle Solaris 11 Express 2010.11 からの 主な強化点 Copyright© 2012, Oracle. All rights reserved. 45
  46. 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. 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. 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. 49. その他の強化点 (本日は詳細は割愛させていただきます)Copyright© 2012, Oracle. All rights reserved. 49
  50. 50. ZFS その他の強化点 (1)• ユーザー/グループ単位の容量制限 (user/group quota)• トリプルパリティ RAID-Z • ディスク3本の障害に耐性 (業界初)• ZFS スナップショット差分 (zfs diff) • スナップショットの差分を確認可能に• zpool split • ミラー化プールを2個の同一プールに分割 • 用途 • ディザスタリカバリ • サイトの複製 • 物理的アーカイブを簡単に取得可能 Copyright© 2012, Oracle. All rights reserved. 50
  51. 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. 52. OSの一機能からOS全体との融合と OSの進化Copyright© 2012, Oracle. All rights reserved. 52
  53. 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. 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. 55. ZFS: Solaris 11 標準ファイルシステム (2)• ゾーン環境は ZFS 前提に • ゾーン複製機能は ZFS によるクローンを使用 • ゾーンへの IPS によるパッケージ配備 • ゾーンにおける BE Copyright© 2012, Oracle. All rights reserved. 55
  56. 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. 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. 58. Copyright© 2012, Oracle. All rights reserved. 58
  59. 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. 60. まとめと参考情報Copyright© 2012, Oracle. All rights reserved. 60
  61. 61. まとめ• 変わらないもの • ZFS: 革新的ファイルシステム • ファイルシステムとして重要なポイントを網羅 • 拡張性、堅牢性、機能、性能、管理性 • ZFS: 広範なインフラ向けソリューションでの理想的なストレージ基盤 • 多くの機能を低コストで • 多くの応用例、多くの事例 • クラウド時代・ビッグデータ時代に最適な拡張性とストレージ仮想化• Solaris の強化・進化を支え、Solaris とともに強化・進化 • Solaris 11 の標準ファイルシステム ! • ZFS のフル活用で Solaris も強力に • 時代の要請に応えつつ次世代エンタープライズを見据える ! Copyright© 2012, Oracle. All rights reserved. 61
  62. 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. 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. 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可 xNssh -X ssh -X 端末 端末 httpによるアップロードを 検知し、順次実行 もちろんZFS Solaris Studio 12.3 Automated Installerと コンパイラと統合開発環境 zoneのcloneで作成 Copyright© 2012, Oracle. All rights reserved. 64
  65. 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. 66. Copyright© 2012, Oracle. All rights reserved. 66
  67. 67. Copyright© 2012, Oracle. All rights reserved. 67 67

×