Oracle Solaris ZFS クリックリファレンス...Oracle Solaris ZFS クイックリファレンス 目次 1. zpool ZFSストレージプールの構成 サブコマンド 概要
【第二回 ゼロからはじめる Oracle Solaris 11】02 Solaris 11...
Transcript of 【第二回 ゼロからはじめる Oracle Solaris 11】02 Solaris 11...
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
Oracle Solaris 11 を支える最強のファイルシステム ZFS~ ZFS ファイルシステムとブート環境の基礎 ~
佐藤 和幸日本オラクル株式会社2015/01/23
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
以下の事項は、弊社の一般的な製品の方向性に関する概要を説明するものです。また、情報提供を唯一の目的とするものであり、いかなる契約にも組み込むことはできません。以下の事項は、マテリアルやコード、機能を提供することをコミットメント(確約)するものではないため、購買決定を行う際の判断材料になさらないで下さい。オラクル製品に関して記載されている機能の開発、リリースおよび時期については、弊社の裁量により決定されます。
Oracle と Java は、 Oracle Corporation 及びその子会社、関連会社の米国及びその他の国における登録商標です。文中の社名、商品名等は各社の商標または登録商標である場合があります。
2
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | 3
Program Agenda
1
2
3
4
5
ZFS ファイルシステム
ZFS ファイルシステムの特徴
ブート環境 (Boot Environment)
その他の機能
ZFS Performance
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | 4
ZFS ファイルシステム
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
ZFS が開発された理由ディスクの増設や交換って面倒ですよね?
• Solaris 開発チームの拠点引っ越しの際、サーバーのハードディスクをアップグレード– しかし、トラブル発生– なんでディスクの追加や交換ってこんなに面倒なんだっけ?メモリは、挿し
て電源を入れるだけで認識するのに…
• ストレージもメモリのように扱えないだろうか?– 複雑なボリューム管理– デバイスの制約や依存
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
ZFS ファイルシステムの歴史
2001 2005 将来2008 2011 2014
ZFS Project 開発開始
プロトタイプ作成
Solaris 10 リリース
Sun Storage 7x10 Unified Storage System 発表
Sun ZFS Storage 7120 発表
Oracle ZFS Storage ZS3-x 発表
Solaris 11.2
zpool ver 35
1996 2002
HDD の扱いに疑問を抱く
2006
Solaris 10 6/06 リリース
ZFS 搭載
カーネル内での動作を確認zpool ver 1
2010
オープンソースにて ZFS Project 公開
FreeBSD, Linux, Mac OS X(drop), OpenZFS
Solaris 11リリース
2012
Solaris 11.1リリース
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
ZFS ファイルシステムReliability/Availability/Serviceability/Virtualization/Security/Efficiency/Security
• ZFS の設計目標 :• Copy-on-write デザイン : ディスク上のデータは上書きされない• スナップショット:ファイルシステムレプリケーションにも利用• End-to-End のデータ完全性:データパスを通してチェックサムを保護• 「自己修復」機能:ミラーサイトを基に破損したデータを自動修復• ボリューム管理機能:マルチレベルの RAID 機能を提供
• Stripe, Mirror, RAIDZ ( パリティ保護レベルにより RAIDZ1/2/3 を提供 )
• ZFS が提供するデータパスの信頼性: Solaris OS 、アプリケーション、およびハードウェアスタックで利用可能
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
ZFS ファイルシステムの特徴整合性担保の仕組み
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
Solaris ZFS “Zetta-bytes Filesystem”ZFS ファイルシステムの特徴• Oracle Solaris 11 からのデフォルト・ファイルシステム
– ストレージプールという考え方– ボリュームマネージャ機能の統合– データ保護
• ZFS の特徴的な機能– Copy-on-write の採用– チェックサムによるデータ整合性の担保– トランザクションによるデータ処理– ブロックレベルでの圧縮と暗号化– 無制限のファイルシステム– 高速なスナップショットとクローン機能
ファイルシステムおよびボリューム管理機能レイヤーを統合することによりシンプルな管理を実現 RAID 機能 : ストライプ , ミラー , RAIDZ, RAIDZ2, RAIDZ3
ストレージプール・レイヤ
ブロックデバイスドライバ
トランザクション・オブジェクト・レイヤ
ブロックデバイスのエミュレート機能 POSIX レイヤ
raw swap dump
iSCSI
ZFS
FC
NFS CIFS
HDD SSD iSCSI
ファイル
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
ZFS ファイルシステムの特徴ストレージプールとファイルシステム
• 物理ストレージ ( ディスクドライブ ) を登録
• イメージとしては容れ物 ( プール ) に格納
• 必要に応じてその容量が使用される
• プール内で RAID を構成可能
• ミラーしたり、パリティを何ドライブ使うか、スペア、など
• ファイルシステムに割り当てる HDD は自動決定( 書き込みのリバランス )
ファイル置き場としてストレージ管理をする単位 既存ファイルシステムではこの区切りが「壁」 ZFS: 必要な容量がプールから自動で切り出されて使われる
– 最大容量を設定する必要無し ( 設定も可能 )
同一プール内のファイルシステムでプール容量を共有
ファイルシステムサイズの上限 = プールサイズ そのファイルシステムに格納するデータが増加
– プールから容量が自動で割り当てられる
ストレージプール ファイルシステム ( データセット )
ストレージプール
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
ZFS ファイルシステムの特徴ストレージプール
• パーティション管理からの解放• ボリューム管理機能の統合• シンプルな管理
11
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | 12
ZFS ファイルシステムの特徴2 つのコマンドとサブオプションで様々な管理を実施コマンド 概要
zpool ストレージプールの管理
zfs ファイルシステム ( データセット ) の管理# zpool create testpool c1t2d0 → ストレージプールの作成
# zpool listNAME SIZE ALLOC FREE CAP DEDUP HEALTH ALTROOTrpool 31.5G 9.42G 22.1G 29% 1.00x ONLINE -testpool 11.9G 86.5K 11.9G 0% 1.00x ONLINE -
# zfs create testpool/dataset01 → 作成したストレージプールからファイルシステムの切り出し# zfs create testpool/dataset03# zfs create testpool/dataset02# zfs listtestpool 202K 11.8G 34K /testpooltestpool/dataset01 31K 11.8G 31K /testpool/dataset01testpool/dataset02 31K 11.8G 31K /testpool/dataset02testpool/dataset03 31K 11.8G 31K /testpool/dataset03
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
ZFS ファイルシステムの特徴ファイルシステムの互換性
• POSIX 標準規格に準拠したインターフェイスを提供• エンディアン・ニュートラルなストレージプール
• SPARC と x86 プラットフォーム間で物理ストレージを移動可能
• 統合されたブロックおよびファイル・プロトコル– OS が提供する NFS, CIFS, iSCSI, FC プロトコルとの連携
• Solaris 11 シャドウ・マイグレーション機能によるレガシーファイルシステムからのデータ移行– NFS を利用するため移行方法が容易
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
ZFS ファイルシステムの特徴比類なきスケーラビリティ
• 128 bit ファイルシステム– 340,282,366,920,938,463,463,374,607,431,768,211,456
• 25 京 6000 兆 (256 クアデリリオン ) ゼタバイトのストレージ領域
• 動的なメタデータ・アロケーション• 事前に inode の確保は不要• ファイルシステムの容量拡張は自動• 従来のバックアップスライスやパーティションは不要• 最大 2^48 (256 兆 ) のディレクトリ・エントリをサポート• ファイルシステムやファイル数に制限なし
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
ZFS ファイルシステムの特徴比類なきスケーラビリティ
2^48 個々のディレクトリのエントリ数
2^56 ファイルの属性数 [1]
2^56 ディレクトリ内のファイル数 [1]
16 EiB (2^64 bytes) ファイルシステムの最大サイズ
16 EiB 単一ファイルの最大サイズ
16 EiB 任意の属性の最大サイズ
2^64 任意のプール内のデバイス数
2^64 システム内の最大プール数
2^64 プール内の最大ファイルシステム数
2^64 任意のファイルシステムの最大スナップショット数
2^56 ZiB プールの最大サイズ[1]実際には ZFS ファイルシステム内のファイルの数 (2^48) が上限
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
ZFS ファイルシステムの特徴整合性担保の仕組み
• トランザクション - オブジェクト・モデルの採用– トランザクションは成功するか失敗するかの何れか
• Copy-on-Write によりデータの上書きは行われない• 成功しなければデータは更新しされない• よって、失敗してもデータは破壊されず、トランザクション・ログから rollback するこ
とでデータの一貫性を提供
– ファイルやディレクトリの実態や情報など、全てがオブジェクトとして扱われ、ブロックの塊で管理される
– fsck が不要に
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
ZFS ファイルシステムの特徴「 Copy-on-write 」既存データを上書きせずに新しいデータを書き込む手法
アプリケーションから見えるデータ( ファイルなど )初期状態
アプリケーションから更新されたデータが見える状態。CoW による更新が完了するまで更新データは見えない
更新開始。アプリケーションからは更新前のデータが見えている
更新が内部的に完了しデータを示すポインタを更新する。アプリケーションからは更新前のデータが見えている
START!
GOAL!
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
スナップショット / クローン機能
• Copy-on-write の特性を生かした機能•任意時点でのファイルシステムの論理的な複製を作成可能
– クローン作成時点ではディスク容量を消費しない– クローン作成時間はファイルシステムの容量と無関係– オリジナルが変更されると変更前のデータを退避 ( ディスク容量を消費 )
•任意時点のスナップショットにロールバック可能
ZFS ファイルシステムの特徴
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
スナップショット / クローン機能
• スナップショットから書き込み可能なファイルシステムを作成可能– スナップショットの複製を内部的に作成し、書き込み可能なファイルシステ
ムとして提供 – クローン作成時点ではディスク容量を消費しない– クローン作成時間はファイルシステムの容量と無関係– クローンに対する書き込み分 ( オリジナルデータからの変更 ) だけ容量を消費
• クローンをオリジナルのファイルシステムへ昇格させるプロモート機能を提供– オリジナルとクローンを入れ替えることにより、クローンの元となるファイ
ルシステムを削除可能
ZFS ファイルシステムの特徴
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
データに信頼を付加 - End-to-End のチェックサム
• ディスクに書かれるデータにチェックサムを付加
• ツリー全体用のチェックサム– silent data corruption への対策– IO パス全体のチェック
• bit rot• phantom writes• misdirected read/writes• accidental overwrites• DMA parity errors• driver bugs
ZFS ファイルシステムの特徴
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
不正データを検出 片方のドライブは正常なデータを保持
不正データを正しいデータに
破損データの自己修復機能
• 破損データ検知後、チェックサム機構により他のドライブから正常なデータをコピーし修復
ZFS ファイルシステムの特徴
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
ZFS ファイルシステムの特徴整合性担保の仕組み
• Ditto Block– 書き込まれるデータは、データとメタデータで構成される
• メタデータにデータそのものを示すポインタが格納– 標準はデータのコピーを 1 つ、メタデータを 2 つプール内に持つ
• メタデータが壊れた場合は、データにアクセスすることができない– データおよびメタデータの複数コピーをプール内に持つことが可能
• 片方メタデータ mata が壊れても、データへアクセスが可能– データを 2 つ以上持つことも可能 ( ディスクを消費する )
• プール内でデータのミラーリングが可能– 最大 3 つのデータ , 3 つのメタデータ保持を設定可能
ストレージプール
HDD
data
data
meta
meta
meta
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
ZFS ファイルシステムの特徴ボリューム管理機能
stripe: RAID 0 相当mirror: RAID 1 相当RAID-Z (ZFS 固有の呼び方 )RAID-Z (singel parity): RAID 5 の拡張RAID-Z2 (dubble parity RAID-Z): RAID 6 の拡張RAID-Z3 (triple parity RAID-Z)
RAID-Z 作成例# zpool create tank raidz c0t0d0 c0t1d0 c0t2d0 c0t3d0 c0t4d0 c0t5d0
Mirror 作成例# zpool create tank mirror c0t0d0 c0t1d0 mirror c0t2d0 c0t3d0
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
ファイルが書き込まれるまで
FS からボリュームへ• Block device interface
• ブロックを書く、ブロックを書く、ブロックを書く…
• 電源断 = 一貫性が失われる
• 対策 = ジャーナリング(遅く、複雑 )
ファイルシステム / ボリュームモデル vs ZFS
ボリュームからディスクへ Block device interface ミラー同期のためにすぐに
各ディスクに各ブロックを書き込む
電源断 = 復帰後、再同期が必須
同期書き込みで遅い
ZFS から DMUへ オブジェクトベースの
トランザクション オブジェクトの変更操作
DMU からストレーズプールへ トランザクショングループの
コミット 電源断 = 成功か失敗か 常に一貫性を担保 ジャーナルは必要なし
ストレージプールからディスクへ I/O 操作 電源断 = 復帰後、再同期必要なし
ボリューム
ファイルシステム
disk disk
SPA
DMU
disk disk
ZPL
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
ファイルが書き込まれるまで
• すべてのデータは Copy-on-Write で書き込まれる– ブロックの直接書き込みをせずライブデータを上書きすることはない– ファイルシステムの不整合が発生しないため fsck なども必要ない
• すべてのデータがオブジェクトに変換されトランザクションとして扱われる– 書き込みは成功するか失敗するかの何れか
• すべてのオブジェクトがチェックサムで守られる– サイレントデータコラプションの排除 , クラッシュによるデータ破壊
•更にデータ保護を強化する機能– ミラー、 RAID-Z1/2/3, ディスクスクラビング
ZFS 信頼性と可用性モデルのまとめ
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
ブート環境 (Boot Environment)beadm
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
Oracle Solaris 10 と Oracle Solaris 11.2 の比較ブートおよびアップグレードについて
機能 Oracle Solaris 10 Oracle Solaris 11.2
ルートデバイスからのブート
UFS , ZFS または Solaris ボリュームマネージャー (SVM) ルートデバイス
Oracle Solaris ZFS ルートファイルシステムのみサポート
ブート ( 復旧 ) SPARC: ok PROM プロンプトで boot -F failsafe と入力することにより、フェイルセーフモードでブートx86: ブート時に GRUB メニューでフェイルセーフエントリを選択することにより、フェイルセーフモードでブート
フェイルセーフモードは提供されていません。エラー状況に応じて、シングルユーザーモードでブートするか、またはシステムの復旧手順を実行します。
システムアップグレードとブート環境の管理 lu (Live Upgrade) および SVR4 パッケージコマンド
IPS と連係した pkg コマンド、パッケージマネージャー、更新マネージャーを利用。beadm ユーティリティー ( ブート環境の管理用 ) の提供
• Oracle Solaris 11 では、 ZFS Root のみサポート
• ブート環境を管理する beadm ユーティリティの提供
• ソフトウェアの管理は、 IPS (Image Packaging System) にて一新– SVR4 パケージの管理コマンドも一部サポート
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
Oracle Solaris 10 と Oracle Solaris 11.2 の比較ブートデバイスについて
• ZFS Root のみサポート– UFS Root は廃止
• データ領域としての UFS ファイルシステムはサポート– Solaris Volume Manager による root mirroring およびブートを廃止
• ZFS を採用することにより、 SVM によるブートデバイス管理を廃止• ブートデバイスに利用できないだけで、機能としては継続提供
• ZFS Root を採用することで大きなメリットを提供– ボリュームマネージャ機能の統合、複数ブート環境 (BE) の管理– メンテナンスの簡素化
• 安全なアップグレードなど
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
Oracle Solaris 10 と Oracle Solaris 11.2 の比較ブート環境 (Boot Environment) について
/ (root) / (root) / (root)
swap swapswap
未使用
未使用 未使用未使用
/ の複写 更新
その他データ
その他データ
その他データ
現在のブート環境
現在のブート環境
現在のブート環境
Disk 1 Disk 1 Disk 1
Disk 2Disk 2Disk 2
数十分後
数秒後
現在のブート環境
新しいブート環境
新しいブート環境
新しく更新されたブート環境
空パーティション
現在のブート環境
現在のブート環境
新しく更新されたブート環境
更新
zpool zpool zpool
So
lari
s 10
So
lari
s 11
大幅な時間短縮が可能に
ZFS snapshot/clone 機能を活用
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
# beadm list → BE のリストアップBE Active Mountpoint Space Policy Created -- ------ ---------- ----- ------ -------
solaris NR / 5.86G static 2014-09-29 15:50 → 初期状態
# beadm create solaris-backup → BE 作成
# beadm listBE Active Mountpoint Space Policy Created -- ------ ---------- ----- ------ ------- solaris NR / 5.86G static 2014-09-29 15:50
solaris-backup - - 170.0K static 2015-01-22 22:52 → 作成された BE
# beadm list –a → 各 BE のデータセット構成BE/Dataset/Snapshot Active Mountpoint Space Policy Created ------------------- ------ ---------- ----- ------ ------- solaris rpool/ROOT/solaris NR / 5.27G static 2014-09-29 15:50 rpool/ROOT/solaris/var - /var 443.50M static 2014-09-29 15:50 rpool/ROOT/solaris/var@2015-01-22-13:52:53 - - 20.0K static 2015-01-22 22:52 rpool/ROOT/solaris/var@install - - 96.25M static 2014-09-29 15:53 rpool/ROOT/solaris@2015-01-22-13:52:53 - - 60.0K static 2015-01-22 22:52 rpool/ROOT/solaris@install - - 60.57M static 2014-09-29 15:53 solaris-backup rpool/ROOT/solaris-backup - - 133.0K static 2015-01-22 22:52 rpool/ROOT/solaris-backup/var - - 37.0K static 2015-01-22 22:52
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
ブート環境 (Boot Environment) の切り替え# beadm listBE Active Mountpoint Space Policy Created -- ------ ---------- ----- ------ ------- solaris NR / 5.86G static 2014-09-29 15:50 → N = アクティブな BE, R = 再起動後に有効な BEsolaris-backup - - 170.0K static 2015-01-22 22:52
# beadm activate solaris-backup# beadm listBE Active Mountpoint Space Policy Created -- ------ ---------- ----- ------ ------- solaris N / 571.5K static 2014-09-29 15:50 solaris-backup R - 5.86G static 2015-01-22 22:52 → activate により R フラグが soaris-backup BE に
# reboot → 再起動# beadm listBE Active Mountpoint Space Policy Created -- ------ ---------- ----- ------ ------- solaris - - 59.12M static 2014-09-29 15:50 solaris-backup NR / 6.04G static 2015-01-22 22:52 → 再起動後、 NR フラグが solaris-backup BE に
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
Oracle Solaris 10 と Oracle Solaris 11.2 の比較ブートデバイスについて
• ZFS Root のディスクについて– x86 は、 fdisk パーティションに作成される SMI ラベルで構成
• UEFI 搭載機では、 EFI ラベル (GPT パーティション ) をサポート– SPARC は、 SMI ラベルで構成されるパーティション
• 最新ファームウェアでは EFI ラベルをサポート–非ブートデバイスかつディスク全体を指定することで EFI ラベルが適用–冗長化構成は、ミラーのみ。 RAIDZ は適用不可
• インストール時の ZFS Root のミラー化について– AI インストールでのみ構成可能– メディアインストールの場合は、手動にて容易に構成可能
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
Oracle Solaris 10 と Oracle Solaris 11.2 の比較その他
機能 Oracle Solaris 10 Oracle Solaris 11.2
ファイルシステムの共有 /etc/dfstab ファイル ZFS のプロパティにて設定
swap, dump deviceインストール時に決定 swap device と dump device の 2 つが自動構成
容量は自動にて設定される
/usr などを別スライスに 可能 OS コンポーネントは root pool に存在させる必
要あり
バックアップufsdump, ufsrestore
- 統合アーカイブ機能 (Unified Archive)- 機能を組み合わせることにより、ファイルシステムのバックアップ機能を提供
• ZFS を標準のファイルシステムとしたことによる差異となる
• 機能を組み合わせたバックアップとシステムリカバリについては、下記のドキュメントを公開Oracle Solaris 11 でのシステムアーカイブの実行と復旧の手順 http://www.oracle.com/technetwork/jp/articles/servers-storage-admin/o11-091-sol-dis-recovery-1568621-ja.html
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
Oracle Solaris 10 と Oracle Solaris 11.2 の比較ファイルシステムの共有
• ZFS share プロパティによる共有方法へ– zfs set share コマンドで dataset の共有を宣言
• # zfs set share=name=export,path=/export,prot=nfs rpool/export
• (name と path と prot は必須、 prot後にプロトコル依存オプションを記載、「 , 」後はスペース無 )
• 解除は zfs set -c share=name=pub rpool/export など– zfs set sharenfs or sharesmb でプロトコルレベルでの共有を開始
• # zfs set sharenfs=on rpool/export (← ここで初めて公開される )
•詳細は、ディープダイブ #1 の資料を参考slideshare.net/SolarisJP/solaris-11-zfs
# shareexport /export nfs sec=sys,rw
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
統合アーカイブarchiveadm
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | 36
Solaris 11.2 のアーカイブ /テンプレート機能導入の柔軟性を最大化 – どこへでも、どこからでも
ゾーン A ゾーン B
大域ゾーン (G)
ゾーン C
Unified Archive
archiveadm(1M)ゾーン A ゾーン B
大域ゾーン (G)
ゾーン C
ゾーン C
大域ゾーン
大域ゾーン (C)
仮想環境から物理環境へ
物理環境から仮想環境へ
仮想環境から仮想環境へ
フル・リカバリ
ゾーン G
大域ゾーン
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
アーカイブの種類用途により 2 つのタイプを用意
クローン・アーカイブ リカバリ・アーカイブ
独立したシステムのアーカイブ対象は一つのゾーンのみ(大域ゾーンまたは非大域ゾーン)• 大域ゾーンのアーカイブに非大域ゾーンが必ず含まれる
アクティブな BE のみが含まれる 全ての BE が含まれる
ZFS データセットのクローンはプロモートされる
ZFS データセットのクローンは関係を維持したまま保存される
システム構成は初期化される• ノード固有、インスタンス固有データは削除される システム構成は保存される
完全なクローンイメージを作成• システムとデバイスの構成はソースに依存しない• システムログやイベントも初期化される
デバイス構成情報のみ初期化
37
• OVF (Open Virtualization Format) 準拠• OVF に沿った仕様を採用• OVA (Open Virtualization Format Archive) ファイル形式での配布
• シングルコマンドで操作可能
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
Solaris 11.2 のアーカイブ /テンプレート機能archiveadm コマンドの実行
• Unified Archive の操作コマンド “ archiveadm” を提供– アーカイブ情報– メディアの作成– アーカイブの作成
archiveadm create <archive name>
[-z|--zone <zone(s)>]
[-D|--exclude-dataset <dataset(s)>]
[-Z|--exclude-zone <zone(s)>]
[-r|--recovery]
[-e|--exclude-media]
[-s|--skip-capacity-check]
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
Solaris 11.2 のアーカイブ /テンプレート機能archiveadm の実行例
# archiveadm create -e ./archive.uarInitializing Unified Archive creation resources...Unified Archive initialized: /var/tmp/archive.uarLogging to: /system/volatile/archive_log.4626Executing dataset discovery...Dataset discovery completePreparing archive system image...Beginning archive stream creation...Archive stream creation completeBeginning final archive assembly...Archive creation complete
# archiveadm info ./archive.uar Archive Information Creation Time: 2015-01-22T14:40:08Z Source Host: s11u2-sru2-8 Architecture: i386 Operating System: Oracle Solaris 11.2 X86 Deployable Systems: global# ls -al archive.uar -rw-r--r-- 1 root root 1594900480 1 月 22 日 23:45 archive.uar
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
Solaris 11.2 のアーカイブ /テンプレート機能ゾーンでの利用
アーカイブ情報を利用しゾーンの作成 :
ゾーンのインストール:
Full support for Kernel Zones
組み込み用ゾーンメディアを作成して活用するなど大域ゾーンのイメージは、非大域ゾーンにも利用可能Solaris 自動インストーラを利用してベアメタルインストールにも利用可能
# zonecfg -z quick create -a /data/archive.uar -z nimble
# zoneadm -z quick install -a /data/archive.uar -z nimble -u
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
その他の機能
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | 42
その他の機能
機能 概要 プロパティ圧縮機能 (compression) ブロックレベルの圧縮機能 compression (zfs)
暗号化機能 (encryption) ファイルシステムの暗号化機能 encryption (zfs)
クォータ /領域予約機能(quota/reservation)
クォータ機能 quota/reservation (zfs)
重複排除機能 (Deduplication) ブロックレベルの重複排除機能 dedup (zfs)
Shadow Migration NFS を利用したデータ移行機能 -
Volume Emulate /dev/zvol/{dsk,rdsk}/pool/n としてブロックデバイスを提供
vol (zfs)
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | 43
その他の機能
機能 概要 プロパティzfs diff ZFS スナップショット差分表示 -
zpool split ミラー構成からブールを分割 -
autoexpand 動的 LUN 拡張 autoexpand (zpool)
zfs allow ZFS 委任管理機能 -
zfs send/recv レプリケーション -
iSCSI/FC でのストレージサービス機能 (LUN)
COMSTAR による iSCSI/FC ターゲット機能
-
CIFS/NFS サービス ファイル共有機能 (NFS, CIFS) -
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
その他の機能
• zpool と zfs ファイルシステムはバージョンで管理される– 機能が実装されるとバージョンアップ– zpool/zfs upgrade –v で version を確認可能
• zfs send/recv 時の注意点–新しいバージョンから古いバージョンへの zfs send/recv はサポートされな
い
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
Oracle Solaris 11.2 ZFS Features データ管理コストと複雑さのさらなる軽減
- 統合アーカイブ機能によるリカバリとクローン- ZFS レプリケーション (send/recv) モニタリング強化
ストレージの柔軟性の更なる向上- OpenStack CINDER ブロックストレージのサポート- Zones を共有ストレージへ配置 (ZOSS)
パフォーマンスの向上- プールのリシルバリング・パフォーマンス- 同期書き込みパフォーマンス
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
ZFS Performance
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
ZFS Source Code Diagram
Interface Layer
TransactionalObject
Layer
PooledStorage
LayerVDEV
disk disk disk
ZAPZIL SA
DMU DSL
Traversal
/dev/zfs (ioctl)
ARC
ZIO metaslab/spacemap
SPA Configuration
ZPL
ファイルシステムコンシューマ
ZVOL
デバイスコンシューマ
アプリケーション
ZFSコマンド
zpoolコマンド
libzfs
KERNEL 領域
USER 領域
Solaris VFS
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
ZFS Performance – Read cache の拡張ARC (Adjustable Replacement Cache) その前に
• LRU (Least Recently Used) アルゴリズム– 未使用の時間が最も長いデータを最初にメモリから退避させる
• LFU (Least Frequently Used) アルゴリズム– 各データの使用頻度を保持し、頻繁には使われていないデータを最初にメモリから退避させる
• ARC (Adaptive replacement cache)– LRU と LFU に履歴機能を組み合わせ、最近キャッシュから消されたデータの履歴から LRU と
LFU の配分をバランス良く調整しキャッシュを最適化するアルゴリズム
•キャッシュから消えたデータは、ディスクから再読み込み?– ARC を高速デバイスに拡張する機能を装備
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
• トランザクションをグループ化しメモリ上のキャッシュに書き込み– トランザクションを受け取る毎にディスクへのコミットは発生しない–従来の Unix ファイルシステム同様、入出力操作要求をまとめ都合の良い時
点でディスクにコミットする遅延書き込みを実装– 複数のトランザクションをグループにまとめたトランザクショングループ
(TXG)毎にメモリ上に用意されたストレージプールスペース (ARC) に書き込まれた後、まとめてディスクと同期される
•物理ディスクとの入出力頻度を減らし、高速に連続書き込みが可能
• さらに、 SSD を ARC として利用する L2ARC を提供この仕組みが、「 ZFS はメモリ食い」と言われる由縁
ZFS PerformanceARC (Adaptive replacement cache)
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
ZFS PerformanceL2ARC
LRU により、使用頻度の低いデータを L2ARC (SSD) に退避 (キャッシュ )再びデータへのアクセス要求があり、 L2ARC に退避している履歴にヒットすれば L2ARC からデータを返すL2ARC と Disk Pool を構成する HDD間のデータ転送は発生しないディスクより高速なデバイスから応答を返すことが可能に
disk disk disk
ZIL
ZIL
ZIL
ZIL
ZIL
ZIL
ZIL
ARC
LRU cacheとして SSD に退避
DRAM
read
ZPL
DMU
Disk Pool
VDEV
ZIO
L2ARC (SSD)
退避されたキャッシュのリクエスト
高速デバイスを 2 次キャッシュとして利用L2ARC 機能によりキャッシュ領域を拡張可能
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
ZFS PerformanceZFS の同期 /非同期書き込みについて•非同期書き込み (async) の場合
– ARC にデータが書き込まれ、書き込み操作の完了を待たず非同期で行われる
– ストレージに書かれたかは保証されないが、待ち時間が短くパフォーマンスが向上
•同期書き込み (sync) の場合– 一部のシステムコールは、同期書き込みによる確実な書き込みを要求
• fsync(3c) や O_SYNC/O_DSYNC フラグ付きなど
– ディスクに書き込まれたことを確認するため安全性は高い– パフォーマンス向上に重要な非同期書き込みの恩恵が受けられない– sync プロパティにより挙動をユーザレベルで制御可能
• standards: 通常の POSIX ルールに従う動作 (default かつ推奨 )• always: 全トランザクションを同期書き込みに
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
ZFS PerformanceZIL (ZFS Intent Log)
• インテントログによる同期書き込みのトランザクションログを記録–同期書き込みがコミットされる前にクラッシュしてもトランザクションのリ
プレイが可能– 32k 未満 (default) のデータであればインテントログにデータそのものが書き
込まれ、それより大きいデータはディスクへ書き込まれる動作
• インテントログの書き込み先を高速なデバイスへ分離可能– デフォルトは、プールを構成しているディスクの専用領域へ書き込まれる– SSD をログ専用デバイス (slog) とすることで同期書き込みを処理を高速化– logbias プロパティ (latency or throughput) によりユーザレベルで変更可能
※default は latency
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
ZFS PerformanceZIL (ZFS Intent Log) と Slog
disk disk disk
ZIL
ZIL
ZIL
ZIL
ZIL
ZIL
ZIL
ARC
cache
Log
DRAM
write
Async Writes
sync Writes
ZPL
DMU
Disk Pool
VDEV
disk disk disk
ZIL
ZIO
ZIL
ZIL
ZIL
ZIL
ZIL
ZIL
ARC
cache
Log
DRAM
write
Async Writes
sync Writes
ZPL
DMU
Disk Pool
VDEV
ZIO
ZFS ZFS+
SLOG
SLOG (SSD)
高速デバイスにログを書き込み同期書き込みを高速化
トランザクションログは HDD へ
トランザクションログは SLOG(SSD) へ
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
ZFS とソリッド・ステート・ストレージZFS ZIL(slog) と L2ARC による「ハイブリッド・ストレージプール」
• SSD を透過的にストレージプールへ統合– ただ高速な HDD だけを求めるのではなく、– SSD などの Flash デバイスを効果的に利用する
• ZIL が同期書き込みのコミットに利用– データーベースの Redo ログのように
• ZFS L2ARC が拡張された読み込みキャッシュとして利用– ランダムリードのキャッシュ– L2ARC キャッシュにはデータのみ、
メタデータのみ、または、双方に利用できる
パフォーマンスを犠牲にすることなく可用性と信頼性を同時に提供
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | 55
参考情報
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
参考情報• Oracle Solaris 11 Downloads
– http://www.oracle.com/technetwork/server-storage/solaris11/downloads/index.html
• Oracle Solaris 11.2 Information Library (英語 )– http://docs.oracle.com/cd/E36784_01/
• Oracle Solaris 11.2 Information Library ( 日本語 )– http://docs.oracle.com/cd/E56342_01/
• Oracle Solaris 11.2 での ZFS ファイルシステムの管理– http://docs.oracle.com/cd/E56342_01/html/E53916/
• Oracle Solaris 11.2 ブート環境の作成と管理 – http://docs.oracle.com/cd/E56342_01/html/E53751/
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
参考情報ZFS に関する情報
• Solaris ZFS Wikihttps://java.net/projects/solaris-zfs/pages/Home
• ZFS Architecture Descriptionhttps://java.net/projects/solaris-zfs/pages/Sourcetour
• ZFS On-Disk Specification – Draft (ZFSOnDiskFormat.pdf, Sun Microsystems, Inc., 2006-08) http://maczfs.googlecode.com/files/ZFSOnDiskFormat.pdf
• Information Center: Oracle Solaris ZFS (Doc ID 1372694.2)https://mosemp.us.oracle.com/epmos/faces/DocContentDisplay?id=1372694.2
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
参考情報Database で利用する ZFS について
• Oracle Solaris 11.1 カーネルのチューンアップ・リファレンスマニュアル– データベース製品に対する ZFS のチューニング
http://docs.oracle.com/cd/E37932_01/html/E36674/chapterzfs-db1.html#scrolltoc
• Oracle Database Runs Best on Oracle Solarishttp://www.oracle.com/technetwork/server-storage/solaris11/technologies/oracledatabase-1897821.html
• Configuring Oracle Solaris ZFS for an Oracle Database - January 2014http://www.oracle.com/technetwork/server-storage/solaris10/config-solaris-zfs-wp-167894.pdf
• ZFS for Databaseshttp://www.solarisinternals.com/wiki/index.php/ZFS_for_Databases
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
参考情報Oracle Solaris 11.2 をすぐに試せる VM テンプレート• Oracle Solaris 11.2 VM Downloads
http://www.oracle.com/technetwork/server-storage/solaris11/downloads/vm-templates-2245495.html
– Oracle Solaris 11.1 VM for Oracle VM VirtualBox• VirtualBox にインポートするだけで Oracle Solaris 11.2 を試用可能
• Oracle Solaris 10 VM Downloads http://www.oracle.com/technetwork/server-storage/solaris11/downloads/virtual-machines-1355605.html
– Oracle Solaris 10 VM Template for Oracle VM VirtualBox• VirtualBox にインポートするだけで Oracle Solaris 10 1/13 を試用可能
– Oracle VM Template for Oracle Solaris 10 Zones for SPARC/x86• Oracle Solaris 10 Zones の構成情報テンプレート• Oracle Solaris 11.1 VM for Oracle VM VirtualBox と組み合わせることで、 VirtulBox 上で Solaris
11.1 と Solaris 10 Zones の試用環境を構築可能• Solaris 11.2 が動作する環境でも利用可能
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
参考情報
• 製品情報とダウンロードhttp://www.oracle.com/us/products/servers-storage/solaris/solaris11/
• Oracle Technology Networkhttp://www.oracle.com/technetwork/jp/server-storage/solaris11
• Oracle Solaris 開発者向けリソースhttp://oracle.co.jp/solaris-developer
• System administrators communityhttp://oracle.com/technetwork/systems
• @ORCL_Solaris
• facebook.com/SolarisJP
• SlideShare.net/SolarisJP
• SlideShare.net/SolarisJPNight (Solaris ナイトセミナー資料 )
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
過去のディープダイブセミナーについて• Solaris ディープダイブ #1
– Oracle Solaris 11 の最新機能をご紹介• ZFS , IPS, システム / ネットワーク / ストレージの仮想化機能
• Solaris ディープダイブ #2– Oracle Solaris 11 のインストールや導入方法をご紹介
• 複数のインストール方法、 Automates Installer 、 Distribution Constructor
• Solaris ディープダイブ #3– 最新 OSへの移行 : Solaris 11 への移行のススメ
• Solaris ディープダイブ #4– 予測的セルフヒーリング : SMF, FMA
資料は下記にて公開中slideshare.net/SolarisJP
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |