Location via proxy:
[ UP ]
[Report a bug]
[Manage cookies]
No cookies
No scripts
No ads
No referrer
Show this form
Submit Search
ZFSでストレージ
•
53 likes
•
34,676 views
悟 宮崎
Follow
hbstudy#12の資料です * こんなに速いZFS * ZFSが遅くなる訳 * ZFSストレージの実際 * ストレージ以外でも便利なZFS
Read less
Read more
1 of 64
Download now
Downloaded 364 times
More Related Content
ZFSでストレージ
1.
ZFS でストレージ でも、ストレージだけじゃない ZFS
hbstudy #12 みやざきさとる 株式会社NEC情報システムズ 日本 OpenSolaris ユーザグループ
2.
自己紹介 自社グループ向けの SI をやってます ストレージとかも触ってます OpenSolaris
なのは趣味です 趣味を仕事に持ち込むとか m9 (^ Д ^)プギャー hbstudy#12 pg 2 ZFS でストレージ でもストレージだけじゃない ZFS
3.
アジェンダ こんなに速い ZFS ZFS が遅くなる訳 ZFS
ストレージの実際 ストレージ以外でも便利な ZFS スナップショットとクローン のおいしい使い方 hbstudy#12 pg 3 ZFS でストレージ でもストレージだけじゃない ZFS
4.
こんなに速い ZFS
ところでこれをみてくれ multistream read1m multistream write1m randomread1m randomwrite1m 4000 3556 3500 3000 2881 2677 2500 2152 MB/s 2000 1620 1500 1334 1000 850 832 480 520 527 500 447 0 stripe raidz1 raidz2 hbstudy#12 pg 4 ZFS でストレージ でもストレージだけじゃない ZFS
5.
こんなに速い ZFS こいつをどう思う?
random IOPS randomread2k randomwrite2k 180000 160000 157368 140000 120000 100000 IOPS 80000 60000 40000 36348 20000 4085 1117 500 429 0 stripe raidz1 raidz2 hbstudy#12 pg 5 ZFS でストレージ でもストレージだけじゃない ZFS
6.
測定したのはこのマシン X4400( コントローラ ) J4400×1
SATA HDD 1TB×22 2 Quad Core CPU 64GB メモリ SSD Read cache 100GB×1 SSD Write cache 16GB×2 OpenSolaris に入っている filebench を使用し て計測 hbstudy#12 pg 6 ZFS でストレージ でもストレージだけじゃない ZFS
7.
でもなんか、 RAIDZ の性能が
... multistream read1m multistream write1m randomread1m randomwrite1m 4000 3556 3500 3000 2881 2677 2500 2152 MB/s 2000 1620 1500 1334 1000 850 832 480 520 527 500 447 0 stripe raidz1 raidz2 hbstudy#12 pg 7 ZFS でストレージ でもストレージだけじゃない ZFS
8.
でも、もう少し速くしたい (1)
事前にキャッシュをフラッシュする・しないで比較してみよう raidz2 no cache raidz2 on cache 7000 6042 6000 5000 4026 4000 MB/s 3000 2317 2000 1000 444 529 399 475 226 0 multistreamread 1m multistreamwrite 1m randomread 1m randomwrite 1m hbstudy#12 pg 8 ZFS でストレージ でもストレージだけじゃない ZFS
9.
でも、もう少し速くしたい (2) キャッシュというのは ARC(Adaptive
Replacement Cache) のこと raidz2 no cache raidz2 on cache 300000 259206 250000 200000 150000 IOPS 100000 50000 511 413 3611 0 randomread2k randomwrite2k hbstudy#12 pg 9 ZFS でストレージ でもストレージだけじゃない ZFS
10.
ZFS は遅い? メモリをいっぱい積めば速くなります CPU も速くすれば速くなります HDD
を増やすとやっぱり速くなります NAS にするなら、 LACP で束ねるとか 10G とかで繋げば (ry FC で繋げば (ry FCoE で (ry InfiniBand で (ry hbstudy#12 pg 10 ZFS でストレージ でもストレージだけじゃない ZFS
11.
ここで、 ZFS のおさらい 128bit
ファイルシステム 大容量のファイルに対応 HDD をストレージプールとして管理し、 簡単に HDD 増設が可能 RAID(0,1,5,6) に相当する機能を提供 Copy-on-Write によるデータ完全性の保証 スナップショット・クローン機能 Hybrid Storage Pool Architecture hbstudy#12 pg 11 ZFS でストレージ でもストレージだけじゃない ZFS
12.
ここで、 ZFS のおさらい 他にも重複排除とかの新機能 詳しくは、以下の資料 (OpenSolarisNightSeminar
の資料 ) を参考 http://jp.sun.com/developers/events/nightSeminar/ PDF/OSNS-Solaris_ZFS-20090306.pdf http://mediacast.sun.com/users/hiroa/media/OSNS _ZFS-20090710.pdf/details http://mediacast.sun.com/users/hiroa/media/OSHT _ZFS-20091218.pdf/details hbstudy#12 pg 12 ZFS でストレージ でもストレージだけじゃない ZFS
13.
Hybrid Storage Pool
Architecture とは メモリ +SSD+HDD でストレージプールを構成 ARC – Adaptive Replacement Cache メモリ上にある ZFS の Cache L2ARC – Level 2 ARC 高速 ARC からあふれた部分を保存 メモリ ZIL – ZFS Intent Log SSD 中速 同期書き込み用ログ領域 Disk Storage Pool HDD 低速 SATA 等の HDD 上記 ARC/L2ARC/ZIL の機能に より、高速の Disk を使用しなくても高性能を実現 hbstudy#12 pg 13 ZFS でストレージ でもストレージだけじゃない ZFS
14.
ARC/L2ARC の役割 ARC
は、読み込み・書き込みキャッシュ ARC はメモリを使用 ARC は動的に増えていく 最大で、メインメモリの 1GB を残した全部 もしくは全体の 3/4 を使用 ARC からこぼれたモノが L2ARC(SSD) に 書き込まれる hbstudy#12 pg 14 ZFS でストレージ でもストレージだけじゃない ZFS
15.
メモリが多いと ZFS は速くなる メモリが多ければ多いほど
ARC も多くなる ARC にあるデータは、アクセスが速くなる 結論 メモリが多いと ZFS は速い! L2ARC に落ちると遅くなる。が、 L2ARC を HDD より 速い SSD 上に置くと、 HDD のみより速くなる hbstudy#12 pg 15 ZFS でストレージ でもストレージだけじゃない ZFS
16.
ZFS で CPU
パワーが必要な訳 ZFS で CPU パワーが必要な処理 ブロック単位の Checksum RAIDZ のパリティ計算 圧縮 重複排除 hbstudy#12 pg 16 ZFS でストレージ でもストレージだけじゃない ZFS
17.
ブロック単位の Checksum ZFS は、ブロックごとに
Checksum を保存 Checksum と比較することでデータの完全性を保証 セルフヒーリング データを重複化してた場合は、正常データのみを読み込 み、異常データを正常データで上書き Checksum 計算に CPU が必要 CPU の暗号化支援機能を使用可能 CPU の暗号化支援機能で、 CPU 使用率を低下 hbstudy#12 pg 17 ZFS でストレージ でもストレージだけじゃない ZFS
18.
圧縮・重複排除 圧縮は CPU が実行 重複排除は
Checksum を元に同じデータの ブロックがあるかどうかを探す これら機能を ON にしていると、 CPU パワーがより必要になる hbstudy#12 pg 18 ZFS でストレージ でもストレージだけじゃない ZFS
19.
RAIDZ のパリティ計算 RAIDZ はソフトウェア
RAID パリティ計算を CPU で行う RAIDZ2 だとさらに倍。 RAIDZ3 だと3倍 ストライプ幅がパリティ計算量を決める あまり長いストライプ幅すると、計算量が増える HDD は 7 個以下にしたときがパフォーマンス がよい hbstudy#12 pg 19 ZFS でストレージ でもストレージだけじゃない ZFS
20.
RAIDZ 構成の例 Stripe
RAIDZ2 WIDE(≒ RAID6) (可用性:低、性能:高、容量:大) (可用性:中、性能:低、容量:大) Stripe RAIDZ2 SSD SSD スペア RAIDZ(≒ RAID5) RAIDZ2(≒ RAID6) (可用性:高、性能:中、容量:中) (可用性:高、性能:中、容量:中) RAIDZ RAIDZ RAIDZ2 RAIDZ RAIDZ RAIDZ2 SSD SSD スペア RAIDZ スペア hbstudy#12 pg 20 ZFS でストレージ でもストレージだけじゃない ZFS
21.
RAIDZ を追加するとき 同じ RAIDZ
構成なら、追加可能 仮想デバイス (mirror や raidz 等の単位 ) を RAIDZ2 ストライプの様に接続 SSD RAIDZ2 仮想デバイス間で スペア アクセスが分散する RAIDZ2 RAIDZ2 HDD を増やした方が SSD スペア 速くなる RAIDZ2 SSD RAIDZ2 スペア hbstudy#12 pg 21 ZFS でストレージ でもストレージだけじゃない ZFS
22.
では実際に ZFS でストレージを
... どういうハードウェアで? CPU とメモリはいっぱい積もう。 RAID 構成は? HW RAID? それとも RAIDZ/RAIDZ2 ? どうやって繋ぐ? NFS ですか? iSCSI ですか? でも、 Gbit Ether だと遅い SSD はどう使う? 拡張はどうする? hbstudy#12 pg 22 ZFS でストレージ でもストレージだけじゃない ZFS
23.
RAIDZ vs Hardware
RAID 安い RAID カードには圧勝 ( のはず ) 実際には CPU の差なので キャッシュメモリ量も圧勝 高い RAID カードでも 4GB とか? しかも、容易に増やせる 結論 特に理由がなければ RAIDZ で万全 hbstudy#12 pg 23 ZFS でストレージ でもストレージだけじゃない ZFS
24.
NFS の場合 ZFS で
NFS は意外と速いです カーネル空間で動く まともに NFSv4 が動きます NFS を開発した会社を言ってみろ ただし、普通に動かすと何故か遅い 誰が悪い? 原因は ZIL hbstudy#12 pg 24 ZFS でストレージ でもストレージだけじゃない ZFS
25.
ZIL(ZFS Intent Log)
の役割 ZIL は、同期書込時に使用されるログ情報 O_DSYNC つきで open() したり、 fsync() が実施されたと きなど NFS も iSCSI も同期書き込み ARC から HDD への書き込みは、非同期 5 〜 30 秒に一度シーケンシャルに書き込む → HDD へ一度に書き込むので速い 同期書き込み時にも、非同期で HDD に書き込 むための機構が ZIL ZIL が役に立つのはクラッシュ時 クラッシュ時には、 ZIL から復旧する hbstudy#12 pg 25 ZFS でストレージ でもストレージだけじゃない ZFS
26.
ZIL で遅くなる場合 NFS や
iSCSI などでアクセス 大抵同期書き込み ZIL を分離していない場合 同期書き込み時に ZIL へのアクセスが集中する。 ZIL が分離されていないと、 ZIL へのアクセスが他の HDD アクセスと競合して遅くなる hbstudy#12 pg 26 ZFS でストレージ でもストレージだけじゃない ZFS
27.
ZIL で遅くなる場合の対処 ZIL をオフにする 確かに速くなる が、クラッシュ時にデータ内容が保証されない ※今後は、オフ出来なくなるという噂 ZIL
を分離する ZIL を HDD から別デバイスに分離し アクセスを分散、高速化 ※ ZIL を SSD 化すると、より高速に ZIL を分離してストライプで提供 するともっと速くなる →ミラーにした方が堅牢性は高い hbstudy#12 pg 27 ZFS でストレージ でもストレージだけじゃない ZFS
28.
iSCSI の場合 NFS
より遅い! iscsitgt の一部がユーザ空間で動くから でも、 COMSTAR なら大丈夫 COMSTAR はカーネル空間で動く! COMSTAR とレガシー iSCSI(iscsitgt) では 数倍の性能差が出る! 詳細は brendan さんのブログ参照 http://blogs.sun.com/brendan/entry/iscsi_be fore_and_after hbstudy#12 pg 28 ZFS でストレージ でもストレージだけじゃない ZFS
29.
COMSTAR って何者? COMSTAR とは? Common
Multiprotocol SCSI Target OpenSolaris のストレージフレームワーク OpenSolaris の Volume を SCSI Target に Volume 生 HDD 、 ZFS Volume 、ファイル 接続先 iSCSI 、 FC 、 FCoE 、 InfiniBand など hbstudy#12 pg 29 ZFS でストレージ でもストレージだけじゃない ZFS
30.
COMSTAR をもっと知るには COMSTAR には
OpenSolaris 勉強会 for Admin( 仮 ) が効きます http://wikis.sun.com/display/JpOpenSolaris/TokyoOpenSol arisStudyGroup 神資料その1 「 COMSTAR で iSCSI 」 http://docs.google.com/present/view?id=dpdpddx_4dnvjv7c9 神資料その2 「前回の COMSTAR ネタに刺激されてしまったので、オ レも COMSTAR を使ってみた。」 ( 仮 ) http://wikis.sun.com/download/attachments/204308497/osol_co mstar_20100522.pdf hbstudy#12 pg 30 ZFS でストレージ でもストレージだけじゃない ZFS
31.
SSD の使い方 L2ARC に使うか
ZIL に使うか L2ARC は ARC より遅い L2ARC にお金をつぎ込むより、メモリを増やし た方が良い ZIL を使う場合は、少なくとも分離する。 できれば SSD におく。 結論 SSD はまず ZIL で使え hbstudy#12 pg 31 ZFS でストレージ でもストレージだけじゃない ZFS
32.
ZFS ストレージの拡張 stripe 構成ではスケールアウトする ただし冗長性が
... zpool ○ hbstudy#12 pg 32 ZFS でストレージ でもストレージだけじゃない ZFS
33.
ZFS ストレージの拡張 RAIDZ 構成では冗長性確保される RAIDZ
構成にディスクを追加することは できない zpool RAIDZ × hbstudy#12 pg 33 ZFS でストレージ でもストレージだけじゃない ZFS
34.
ZFS ストレージの拡張 RAIDZ 構成ではスケールアウトしない でも、スケールアップはする ただし、構成が一緒である必要がある
zpool RAIDZ + RAIDZ hbstudy#12 pg 34 ZFS でストレージ でもストレージだけじゃない ZFS
35.
拡張時には、 Offline にする必要が
... iSCSI ディスクなら Online で増設 USB とか FC とかでも出来るけど devfsadm でデバイス再構成 接続したディスクを再起動なしに認識出来る /reconfigure 作って再起動とか boot -r とかは必要ない hbstudy#12 pg 35 ZFS でストレージ でもストレージだけじゃない ZFS
36.
iSCSI ディスクを使う構成例 一番単純な構成
サーバ iSCSI ディスク (OpenSolaris) hbstudy#12 pg 36 ZFS でストレージ でもストレージだけじゃない ZFS
37.
iSCSI ディスクを使う構成例 RAID
にしてみる サーバ RAIDZ LACP で 束ねる Switch iSCSI ディスク hbstudy#12 pg 37 ZFS でストレージ でもストレージだけじゃない ZFS
38.
iSCSI ディスクを使う構成例 RAID で増設するとき
サーバ RAIDZ RAIDZ Switch iSCSI ディスク hbstudy#12 pg 38 ZFS でストレージ でもストレージだけじゃない ZFS
39.
サーバ側で ZFS の理由 ARC
を有効に使える ARC が一番速いので、 ARC がサーバ側にあ る方が有利 Network/FC などディスクと繋ぐ経路が ボトルネックになる OpenSolaris が素敵 Solaris コンテナとかね hbstudy#12 pg 39 ZFS でストレージ でもストレージだけじゃない ZFS
40.
ここまでのまとめ ZFS は速い ただし、リソースはたくさん必要、 特にメモリ ネットワークはボトルネックになる ZFS はスケールアップ指向 スケールアウトさせるには別製品を使いましょう COMSTAR
最高! OpenSolaris 素敵! hbstudy#12 pg 40 ZFS でストレージ でもストレージだけじゃない ZFS
41.
ストレージ以外の ZFS の魅力 スナップショット・クローンが 異常に使える件 バックアップ バージョンアップ
hbstudy#12 pg 41 ZFS でストレージ でもストレージだけじゃない ZFS
42.
スナップショットのおさらい スナップショットは ReadOnly Original の
UberBlock とポインタをコピー Snapshot UberBlock UberBlock Original ポインタ ポインタ 間接ポインタ データ hbstudy#12 pg 42 ZFS でストレージ でもストレージだけじゃない ZFS
43.
スナップショットのおさらい Original に変更があるとブロック部とポインタ部だけが変 更される Snapshot
UberBlock UberBlock Original new new hbstudy#12 pg 43 ZFS でストレージ でもストレージだけじゃない ZFS
44.
クローンのおさらい クローンは ReadWrite スナップショットの UberBlock とポインタをコピー
Clone Original Snapshot UberBlock UberBlock UberBlock hbstudy#12 pg 44 ZFS でストレージ でもストレージだけじゃない ZFS
45.
クローンのおさらい Original ・クローンに変更があると ブロック部とポインタ部だけが変更される
Clone Original Snapshot UberBlock UberBlock UberBlock new new new hbstudy#12 pg 45 ZFS でストレージ でもストレージだけじゃない ZFS
46.
スナップショットでバックアップ バックアップはスナップショット単位 バックアップは zfs send #
zfs send rpool@snap > /tmp/snap.zfs.img リストアは zfs receive # zfs receive rpool2 < /tmp/snap.zfs.img ZFS ツリーもいっぺんにバックアップ # zfs snapshot -r rpool/export@snap # zfs send -R rpool/export@snap > /tmp/snap.zfs.img # zfs receive < /tmp/snap.zfs.img hbstudy#12 pg 46 ZFS でストレージ でもストレージだけじゃない ZFS
47.
2サーバ間でバックアップ ファイルベースなので、サーバ間でバックアッ プ・リストア可能 # zfs snapshot
-r rpool/zone@20100610 # zfs send -R rpool/zone@20100610 | ssh serverB zfs receive rpool 差分バックアップも # zfs snapshot -r rpool/zone@20100611 # zfs send -R -i rpool/zone@20100610 rpool/zone@20100611 | ssh serverB zfs receive rpool hbstudy#12 pg 47 ZFS でストレージ でもストレージだけじゃない ZFS
48.
差分バックアップの例 ServerA
ServerB rpool@20100610 rpool@20100610 snapshot 全体のコピー hbstudy#12 pg 48 ZFS でストレージ でもストレージだけじゃない ZFS
49.
差分バックアップの例 ServerA
ServerB rpool@20100611 rpool@20100611 rpool@20100610 rpool@20100610 snapshot 差分のコピー hbstudy#12 pg 49 ZFS でストレージ でもストレージだけじゃない ZFS
50.
差分バックアップの例 ServerA
ServerB rpool@20100612 rpool@20100612 rpool@20100611 rpool@20100611 rpool@20100610 rpool@20100610 snapshot 差分のコピー hbstudy#12 pg 50 ZFS でストレージ でもストレージだけじゃない ZFS
51.
差分の分だけ容量を消費する 一日ごとにバックアップ →容量が増える 一日前には戻りたいけど、 数週間前のある一日に戻りたいか? 一週経ったら、日単位のバックアップって要らな くね? よし、削除しよう
hbstudy#12 pg 51 ZFS でストレージ でもストレージだけじゃない ZFS
52.
差分バックアップの削除例 Before
After rpool@20100612 rpool@20100612 rpool@20100611 rpool@20100610 rpool@20100610 snapshot 差分の削除 hbstudy#12 pg 52 ZFS でストレージ でもストレージだけじゃない ZFS
53.
差分バックアップの利用例 Zone の同期による Active-Standby
構成 Zone 部分を二台のサーバで同期 片系がダウンしても、もう片方で動作 Zone の領域は ZFS これを Attach/Detach することが出来る % pfexec zoneadm -z zonename attach % pfexec zoneadm -z zonename detach Zone の情報は Standby 機にコピー % pfexec zonecfg -z zonename export | ssh ServerB pfexec zonecfg -z zonename hbstudy#12 pg 53 ZFS でストレージ でもストレージだけじゃない ZFS
54.
Zone の Active-Standby
構成 ServerA ServerB Attach Zone Detach 起動中 Zone 同期 Zone hbstudy#12 pg 54 ZFS でストレージ でもストレージだけじゃない ZFS
55.
Zone の Active-Standby
構成 ServerA ServerB Attach Zone Attach 起動中 Zone Zone hbstudy#12 pg 55 ZFS でストレージ でもストレージだけじゃない ZFS
56.
ZFS 同期による Active−Stanby
構成 簡単な方式なので、クリティカルな場面では使 えない 同期間隔があるので、データロストする →データは別の場所に置く必要あり DB などには向かない構成 DB を止めてからスナップショットを取れば、整 合性は保たれます ちなみに、 Zone だけでなく Dom-U の領域も同様の方法で ... hbstudy#12 pg 56 ZFS でストレージ でもストレージだけじゃない ZFS
57.
クローンによる起動環境の複製 OpenSolaris では beadm
で、 Boot Environment( 起動環境 =BE) を管理 新しい BE は、現 BE の複製 ( クローン ) クローンなので、差分しか増えない BE は grub 画面で選択可能 BE の削除は自由 ただし、起動中の BE は削除出来ない BE に対する操作も可能 beadm mount で、領域をマウント出来る マウント後設定ファイル修正など hbstudy#12 pg 57 ZFS でストレージ でもストレージだけじゃない ZFS
58.
アップデート時の起動環境の複製 pkg image-update(apt-get dist-upgrade
的な 操作 ) による複数パッケージ更新時には、自動 的に新しい BE を作成し、新しい BE を更新す る アップグレード時に、サービス停止が発生しな い → サービス停止時間の短縮 アップグレードに失敗したら、旧 BE で起動すれ ばよい hbstudy#12 pg 58 ZFS でストレージ でもストレージだけじゃない ZFS
59.
BE 複製の問題点 rpool を
ZFS upgrade すると旧 BE で立ち上 がらなくなる可能性あり rpool とデータ領域は、 zpool ごと分けるのが お勧め hbstudy#12 pg 59 ZFS でストレージ でもストレージだけじゃない ZFS
60.
ストレージだけじゃない ZFS まとめ ZFS
サイコー スナップショット・クローンは有用 send/receive でバックアップも楽々 設計がめんどくさいのはどれも一緒 Zone の多重化もそこはかとなく出来る ちゃんとやりたければ OpenHA がある BE を使うことで複数環境を切り替え アップデート時に新しい BE に更新する サービス停止時間の低減 ZFS サイコー hbstudy#12 pg 60 ZFS でストレージ でもストレージだけじゃない ZFS
61.
ZFS でストレージ でも、ストレージだけじゃない ZFS
ご静聴ありがとうございました。 hbstudy#12 pg 61 ZFS でストレージ でもストレージだけじゃない ZFS
62.
参考資料 ZFS 仮想化されたファイルシステムの徹底活用 # ISBN-10:
4048676547 # ISBN-13: 978-4048676540 世界初の ZFS 本 ZFS Essentials の方が後です 超お勧め hbstudy#12 pg 62 ZFS でストレージ でもストレージだけじゃない ZFS
63.
参考資料 OpenSolaris Night Seminar
資料 http://jp.sun.com/developers/events/nightSeminar/PDF/OSN S-Solaris_ZFS-20090306.pdf http://mediacast.sun.com/users/hiroa/media/OSNS_ZFS- 20090710.pdf/details http://mediacast.sun.com/users/hiroa/media/OSHT_ZFS- 20091218.pdf/details OpenSolaris 勉強会 for Admin( 仮 ) 資料 http://docs.google.com/present/view? id=dpdpddx_4dnvjv7c9 http://wikis.sun.com/download/attachments/204308497/osol _comstar_20100522.pdf hbstudy#12 pg 63 ZFS でストレージ でもストレージだけじゃない ZFS
64.
参考資料 ZFS Best Practices
Guide http://www.solarisinternals.com/wiki/index.php/ZFS_Best_ Practices_Guide ZFS Evil Tuning Guide http://www.solarisinternals.com/wiki/index.php/ZFS_Evil_T uning_Guide 一番最後のリンク集も参考になります http://www.solarisinternals.com/wiki/index.php/ZFS_Evil_T uning_Guide#Integrated_RFEs_that_introduced_or_chang ed_tunables Brendan Gregg 氏のブログ http://blogs.sun.com/brendan/ hbstudy#12 pg 64 ZFS でストレージ でもストレージだけじゃない ZFS
Download