More Related Content
PDF
マルチテナント化で知っておきたいデータベースのこと PDF
YugabyteDBを使ってみよう(NewSQL/分散SQLデータベースよろず勉強会 #1 発表資料) PDF
レプリケーション遅延の監視について(第40回PostgreSQLアンカンファレンス@オンライン 発表資料) PDF
PPTX
BuildKitによる高速でセキュアなイメージビルド PPTX
ここからはじめる SQL Server の状態取得 PPTX
PDF
What's hot
PPTX
PostgreSQLクエリ実行の基礎知識 ~Explainを読み解こう~ PPTX
SPAセキュリティ入門~PHP Conference Japan 2021 PDF
速習!論理レプリケーション ~基礎から最新動向まで~(PostgreSQL Conference Japan 2022 発表資料) PDF
フロー効率性とリソース効率性、再入門 #devlove #devkan PPTX
PDF
【旧版】Oracle Exadata Cloud Service:サービス概要のご紹介 [2021年7月版] PDF
PPTX
PDF
アーキテクチャから理解するPostgreSQLのレプリケーション PDF
コンテナの作り方「Dockerは裏方で何をしているのか?」 PDF
PPTX
PostgreSQLモニタリング機能の現状とこれから(Open Developers Conference 2020 Online 発表資料) PDF
Best Practices for Running PostgreSQL on AWS PPTX
9/14にリリースされたばかりの新LTS版Java 17、ここ3年間のJavaの変化を知ろう!(Open Source Conference 2021 O... PDF
Java EE から Quarkus による開発への移行について PDF
PostgreSQL Unconference #29 Unicode IVS PDF
PDF
PHP-FPM の子プロセス制御方法と設定をおさらいしよう PDF
PDF
Similar to #02-01 ZFS によるストレージ仮想化 (2012-04-20)
PDF
Solaris 11 に見る、次世代ファイルシステムZFS PDF
[Oracle DBA & Developer Day 2012] 高可用性システムに適した管理性と性能を向上させるASM と RMAN の魅力 PPTX
【第二回 ゼロからはじめる Oracle Solaris 11】02 Solaris 11 を支える最強のファイルシステム ZFS ~ ZFS ファイルシ... PDF
[db tech showcase Tokyo 2016] D24: データベース環境における検証結果から理解する失敗しないフラッシュ活用法 第三章 ~デ... PDF
Cloudian update (Japanese:日本語) PDF
[AWS Summit 2012] クラウドデザインパターン#7 CDP キャンペーンサイト編 (Wordpress) PDF
Windows Server 2012 Essentials~ストレージに関する考察~ PDF
最新技術動向 GlusterFS (仮想化DAY, Internet Week 2011) PDF
XenServerとZFSストレージでサーバ仮想化 - OSC2011 Tokyo/Spring 自宅SAN友の会(後半) PDF
災害対策セミナー 「検証プロジェクト報告と事例紹介」 PDF
We Should Know About in this SocialNetwork Era 2011_1112 PDF
PDF
PDF
PDF
PDF
Jenkinsとhadoopを利用した継続的データ解析環境の構築 PDF
[AWS Summit 2012] クラウドデザインパターン#1 CDP概要編 PDF
PDF
PDF
More from SolarisJPNight
PDF
#05-01 Solaris Legacy Containers PDF
#04-01 Solaris 10 からSolaris 11 への移行準備とポイント ~ナイトセミナー風~ PDF
#01-01 Oracle Solaris 11 The First Cloud OS -Night Seminar version- PDF
#05-03 Oracle Solaris 11 への移行のススメ – ナイトセミナー版 PDF
#03-02 Oracle Solaris 11 の可用性を高める! Oracle Solaris Cluster 4.0 (2012-05-21) PDF
#01-03 solaris11で深化するクラウド #02-01 ZFS によるストレージ仮想化 (2012-04-20)
- 1.
<Insert Picture Here>
ZFSによるストレージ仮想化
旧題: ZFS とオペレーティングシステムの融合 Solaris 11 に見る、次世代ファイルシステム - ZFS -
日本オラクル株式会社
Solaris エバンジェリスト
野崎 宏明
- 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.
- 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.
- 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.
- 25.
Solaris 11における
ZFS強化点
Copyright© 2012, Oracle. All rights reserved. 25
- 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.
- 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.
- 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.
- 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.
- 67.