ZFSでストレージ

48,062
-1

Published on

hbstudy#12の資料です
* こんなに速いZFS
* ZFSが遅くなる訳
* ZFSストレージの実際
* ストレージ以外でも便利なZFS

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

No Downloads
Views
Total Views
48,062
On Slideshare
0
From Embeds
0
Number of Embeds
5
Actions
Shares
0
Downloads
311
Comments
0
Likes
43
Embeds 0
No embeds

No notes for slide

ZFSでストレージ

  1. 1. ZFS でストレージ でも、ストレージだけじゃない ZFS hbstudy #12 みやざきさとる 株式会社NEC情報システムズ 日本 OpenSolaris ユーザグループ
  2. 2. 自己紹介 自社グループ向けの SI をやってます ストレージとかも触ってます OpenSolaris なのは趣味です 趣味を仕事に持ち込むとか m9 (^ Д ^)プギャー hbstudy#12 pg 2 ZFS でストレージ でもストレージだけじゃない ZFS
  3. 3. アジェンダ こんなに速い ZFS ZFS が遅くなる訳 ZFS ストレージの実際 ストレージ以外でも便利な ZFS スナップショットとクローン のおいしい使い方 hbstudy#12 pg 3 ZFS でストレージ でもストレージだけじゃない ZFS
  4. 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. 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. 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. 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. 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. 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. 10. ZFS は遅い? メモリをいっぱい積めば速くなります CPU も速くすれば速くなります HDD を増やすとやっぱり速くなります NAS にするなら、 LACP で束ねるとか 10G とかで繋げば (ry FC で繋げば (ry FCoE で (ry InfiniBand で (ry hbstudy#12 pg 10 ZFS でストレージ でもストレージだけじゃない ZFS
  11. 11. ここで、 ZFS のおさらい 128bit ファイルシステム 大容量のファイルに対応 HDD をストレージプールとして管理し、 簡単に HDD 増設が可能 RAID(0,1,5,6) に相当する機能を提供 Copy-on-Write によるデータ完全性の保証 スナップショット・クローン機能 Hybrid Storage Pool Architecture hbstudy#12 pg 11 ZFS でストレージ でもストレージだけじゃない ZFS
  12. 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. 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. 14. ARC/L2ARC の役割 ARC は、読み込み・書き込みキャッシュ ARC はメモリを使用 ARC は動的に増えていく 最大で、メインメモリの 1GB を残した全部 もしくは全体の 3/4 を使用 ARC からこぼれたモノが L2ARC(SSD) に 書き込まれる hbstudy#12 pg 14 ZFS でストレージ でもストレージだけじゃない ZFS
  15. 15. メモリが多いと ZFS は速くなる メモリが多ければ多いほど ARC も多くなる ARC にあるデータは、アクセスが速くなる 結論 メモリが多いと ZFS は速い! L2ARC に落ちると遅くなる。が、 L2ARC を HDD より 速い SSD 上に置くと、 HDD のみより速くなる hbstudy#12 pg 15 ZFS でストレージ でもストレージだけじゃない ZFS
  16. 16. ZFS で CPU パワーが必要な訳 ZFS で CPU パワーが必要な処理 ブロック単位の Checksum RAIDZ のパリティ計算 圧縮 重複排除 hbstudy#12 pg 16 ZFS でストレージ でもストレージだけじゃない ZFS
  17. 17. ブロック単位の Checksum ZFS は、ブロックごとに Checksum を保存 Checksum と比較することでデータの完全性を保証 セルフヒーリング データを重複化してた場合は、正常データのみを読み込 み、異常データを正常データで上書き Checksum 計算に CPU が必要 CPU の暗号化支援機能を使用可能 CPU の暗号化支援機能で、 CPU 使用率を低下 hbstudy#12 pg 17 ZFS でストレージ でもストレージだけじゃない ZFS
  18. 18. 圧縮・重複排除 圧縮は CPU が実行 重複排除は Checksum を元に同じデータの ブロックがあるかどうかを探す これら機能を ON にしていると、 CPU パワーがより必要になる hbstudy#12 pg 18 ZFS でストレージ でもストレージだけじゃない ZFS
  19. 19. RAIDZ のパリティ計算 RAIDZ はソフトウェア RAID パリティ計算を CPU で行う RAIDZ2 だとさらに倍。 RAIDZ3 だと3倍 ストライプ幅がパリティ計算量を決める あまり長いストライプ幅すると、計算量が増える HDD は 7 個以下にしたときがパフォーマンス がよい hbstudy#12 pg 19 ZFS でストレージ でもストレージだけじゃない ZFS
  20. 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. 21. RAIDZ を追加するとき 同じ RAIDZ 構成なら、追加可能 仮想デバイス (mirror や raidz 等の単位 ) を RAIDZ2 ストライプの様に接続 SSD RAIDZ2 仮想デバイス間で スペア アクセスが分散する RAIDZ2 RAIDZ2 HDD を増やした方が SSD スペア 速くなる RAIDZ2 SSD RAIDZ2 スペア hbstudy#12 pg 21 ZFS でストレージ でもストレージだけじゃない ZFS
  22. 22. では実際に ZFS でストレージを ... どういうハードウェアで? CPU とメモリはいっぱい積もう。 RAID 構成は? HW RAID? それとも RAIDZ/RAIDZ2 ? どうやって繋ぐ? NFS ですか? iSCSI ですか? でも、 Gbit Ether だと遅い SSD はどう使う? 拡張はどうする? hbstudy#12 pg 22 ZFS でストレージ でもストレージだけじゃない ZFS
  23. 23. RAIDZ vs Hardware RAID 安い RAID カードには圧勝 ( のはず ) 実際には CPU の差なので キャッシュメモリ量も圧勝 高い RAID カードでも 4GB とか? しかも、容易に増やせる 結論 特に理由がなければ RAIDZ で万全 hbstudy#12 pg 23 ZFS でストレージ でもストレージだけじゃない ZFS
  24. 24. NFS の場合 ZFS で NFS は意外と速いです カーネル空間で動く まともに NFSv4 が動きます NFS を開発した会社を言ってみろ ただし、普通に動かすと何故か遅い 誰が悪い? 原因は ZIL hbstudy#12 pg 24 ZFS でストレージ でもストレージだけじゃない ZFS
  25. 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. 26. ZIL で遅くなる場合 NFS や iSCSI などでアクセス 大抵同期書き込み ZIL を分離していない場合 同期書き込み時に ZIL へのアクセスが集中する。 ZIL が分離されていないと、 ZIL へのアクセスが他の HDD アクセスと競合して遅くなる hbstudy#12 pg 26 ZFS でストレージ でもストレージだけじゃない ZFS
  27. 27. ZIL で遅くなる場合の対処 ZIL をオフにする 確かに速くなる が、クラッシュ時にデータ内容が保証されない ※今後は、オフ出来なくなるという噂 ZIL を分離する ZIL を HDD から別デバイスに分離し アクセスを分散、高速化 ※ ZIL を SSD 化すると、より高速に ZIL を分離してストライプで提供 するともっと速くなる →ミラーにした方が堅牢性は高い hbstudy#12 pg 27 ZFS でストレージ でもストレージだけじゃない ZFS
  28. 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. 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. 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. 31. SSD の使い方 L2ARC に使うか ZIL に使うか L2ARC は ARC より遅い L2ARC にお金をつぎ込むより、メモリを増やし た方が良い ZIL を使う場合は、少なくとも分離する。 できれば SSD におく。 結論 SSD はまず ZIL で使え hbstudy#12 pg 31 ZFS でストレージ でもストレージだけじゃない ZFS
  32. 32. ZFS ストレージの拡張 stripe 構成ではスケールアウトする ただし冗長性が ... zpool ○ hbstudy#12 pg 32 ZFS でストレージ でもストレージだけじゃない ZFS
  33. 33. ZFS ストレージの拡張 RAIDZ 構成では冗長性確保される RAIDZ 構成にディスクを追加することは できない zpool RAIDZ × hbstudy#12 pg 33 ZFS でストレージ でもストレージだけじゃない ZFS
  34. 34. ZFS ストレージの拡張 RAIDZ 構成ではスケールアウトしない でも、スケールアップはする ただし、構成が一緒である必要がある zpool RAIDZ + RAIDZ hbstudy#12 pg 34 ZFS でストレージ でもストレージだけじゃない ZFS
  35. 35. 拡張時には、 Offline にする必要が ... iSCSI ディスクなら Online で増設 USB とか FC とかでも出来るけど devfsadm でデバイス再構成 接続したディスクを再起動なしに認識出来る /reconfigure 作って再起動とか boot -r とかは必要ない hbstudy#12 pg 35 ZFS でストレージ でもストレージだけじゃない ZFS
  36. 36. iSCSI ディスクを使う構成例 一番単純な構成 サーバ iSCSI ディスク (OpenSolaris) hbstudy#12 pg 36 ZFS でストレージ でもストレージだけじゃない ZFS
  37. 37. iSCSI ディスクを使う構成例 RAID にしてみる サーバ RAIDZ LACP で 束ねる Switch iSCSI ディスク hbstudy#12 pg 37 ZFS でストレージ でもストレージだけじゃない ZFS
  38. 38. iSCSI ディスクを使う構成例 RAID で増設するとき サーバ RAIDZ RAIDZ Switch iSCSI ディスク hbstudy#12 pg 38 ZFS でストレージ でもストレージだけじゃない ZFS
  39. 39. サーバ側で ZFS の理由 ARC を有効に使える ARC が一番速いので、 ARC がサーバ側にあ る方が有利 Network/FC などディスクと繋ぐ経路が ボトルネックになる OpenSolaris が素敵 Solaris コンテナとかね hbstudy#12 pg 39 ZFS でストレージ でもストレージだけじゃない ZFS
  40. 40. ここまでのまとめ ZFS は速い ただし、リソースはたくさん必要、 特にメモリ ネットワークはボトルネックになる ZFS はスケールアップ指向 スケールアウトさせるには別製品を使いましょう COMSTAR 最高! OpenSolaris 素敵! hbstudy#12 pg 40 ZFS でストレージ でもストレージだけじゃない ZFS
  41. 41. ストレージ以外の ZFS の魅力 スナップショット・クローンが 異常に使える件 バックアップ バージョンアップ hbstudy#12 pg 41 ZFS でストレージ でもストレージだけじゃない ZFS
  42. 42. スナップショットのおさらい スナップショットは ReadOnly Original の UberBlock とポインタをコピー Snapshot UberBlock UberBlock Original ポインタ ポインタ 間接ポインタ データ hbstudy#12 pg 42 ZFS でストレージ でもストレージだけじゃない ZFS
  43. 43. スナップショットのおさらい Original に変更があるとブロック部とポインタ部だけが変 更される Snapshot UberBlock UberBlock Original new new hbstudy#12 pg 43 ZFS でストレージ でもストレージだけじゃない ZFS
  44. 44. クローンのおさらい クローンは ReadWrite スナップショットの UberBlock とポインタをコピー Clone Original Snapshot UberBlock UberBlock UberBlock hbstudy#12 pg 44 ZFS でストレージ でもストレージだけじゃない ZFS
  45. 45. クローンのおさらい Original ・クローンに変更があると ブロック部とポインタ部だけが変更される Clone Original Snapshot UberBlock UberBlock UberBlock new new new hbstudy#12 pg 45 ZFS でストレージ でもストレージだけじゃない ZFS
  46. 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. 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. 48. 差分バックアップの例 ServerA ServerB rpool@20100610 rpool@20100610 snapshot 全体のコピー hbstudy#12 pg 48 ZFS でストレージ でもストレージだけじゃない ZFS
  49. 49. 差分バックアップの例 ServerA ServerB rpool@20100611 rpool@20100611 rpool@20100610 rpool@20100610 snapshot 差分のコピー hbstudy#12 pg 49 ZFS でストレージ でもストレージだけじゃない ZFS
  50. 50. 差分バックアップの例 ServerA ServerB rpool@20100612 rpool@20100612 rpool@20100611 rpool@20100611 rpool@20100610 rpool@20100610 snapshot 差分のコピー hbstudy#12 pg 50 ZFS でストレージ でもストレージだけじゃない ZFS
  51. 51. 差分の分だけ容量を消費する 一日ごとにバックアップ →容量が増える 一日前には戻りたいけど、 数週間前のある一日に戻りたいか? 一週経ったら、日単位のバックアップって要らな くね? よし、削除しよう hbstudy#12 pg 51 ZFS でストレージ でもストレージだけじゃない ZFS
  52. 52. 差分バックアップの削除例 Before After rpool@20100612 rpool@20100612 rpool@20100611 rpool@20100610 rpool@20100610 snapshot 差分の削除 hbstudy#12 pg 52 ZFS でストレージ でもストレージだけじゃない ZFS
  53. 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. 54. Zone の Active-Standby 構成 ServerA ServerB Attach Zone Detach 起動中 Zone 同期 Zone hbstudy#12 pg 54 ZFS でストレージ でもストレージだけじゃない ZFS
  55. 55. Zone の Active-Standby 構成 ServerA ServerB Attach Zone Attach 起動中 Zone Zone hbstudy#12 pg 55 ZFS でストレージ でもストレージだけじゃない ZFS
  56. 56. ZFS 同期による Active−Stanby 構成 簡単な方式なので、クリティカルな場面では使 えない 同期間隔があるので、データロストする →データは別の場所に置く必要あり DB などには向かない構成 DB を止めてからスナップショットを取れば、整 合性は保たれます ちなみに、 Zone だけでなく Dom-U の領域も同様の方法で ... hbstudy#12 pg 56 ZFS でストレージ でもストレージだけじゃない ZFS
  57. 57. クローンによる起動環境の複製 OpenSolaris では beadm で、 Boot Environment( 起動環境 =BE) を管理 新しい BE は、現 BE の複製 ( クローン ) クローンなので、差分しか増えない BE は grub 画面で選択可能 BE の削除は自由 ただし、起動中の BE は削除出来ない BE に対する操作も可能 beadm mount で、領域をマウント出来る マウント後設定ファイル修正など hbstudy#12 pg 57 ZFS でストレージ でもストレージだけじゃない ZFS
  58. 58. アップデート時の起動環境の複製 pkg image-update(apt-get dist-upgrade 的な 操作 ) による複数パッケージ更新時には、自動 的に新しい BE を作成し、新しい BE を更新す る アップグレード時に、サービス停止が発生しな い → サービス停止時間の短縮 アップグレードに失敗したら、旧 BE で起動すれ ばよい hbstudy#12 pg 58 ZFS でストレージ でもストレージだけじゃない ZFS
  59. 59. BE 複製の問題点 rpool を ZFS upgrade すると旧 BE で立ち上 がらなくなる可能性あり rpool とデータ領域は、 zpool ごと分けるのが お勧め hbstudy#12 pg 59 ZFS でストレージ でもストレージだけじゃない ZFS
  60. 60. ストレージだけじゃない ZFS まとめ ZFS サイコー スナップショット・クローンは有用 send/receive でバックアップも楽々 設計がめんどくさいのはどれも一緒 Zone の多重化もそこはかとなく出来る ちゃんとやりたければ OpenHA がある BE を使うことで複数環境を切り替え アップデート時に新しい BE に更新する サービス停止時間の低減 ZFS サイコー hbstudy#12 pg 60 ZFS でストレージ でもストレージだけじゃない ZFS
  61. 61. ZFS でストレージ でも、ストレージだけじゃない ZFS ご静聴ありがとうございました。 hbstudy#12 pg 61 ZFS でストレージ でもストレージだけじゃない ZFS
  62. 62. 参考資料 ZFS 仮想化されたファイルシステムの徹底活用 # ISBN-10: 4048676547 # ISBN-13: 978-4048676540 世界初の ZFS 本 ZFS Essentials の方が後です 超お勧め hbstudy#12 pg 62 ZFS でストレージ でもストレージだけじゃない ZFS
  63. 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. 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
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×