ソースの表示以前のリビジョンバックリンク全て展開する/折り畳む文書の先頭へ Share via Share via... Twitter LinkedIn Facebook Pinterest Telegram WhatsApp Yammer Reddit Teams最近の変更Send via e-Mail印刷パーマリンク × 文書の過去の版を表示しています。 ZFSのヤバげな機能Special Allocation ClassがFreeBSD 12.2で対応されてた OpenZFS 2.0リリースの陰でひっそりと、FreeBSD 12.2-RELEASEのZFS実装にSpecial Allocation Classが追加されていた。 時系列的にはOpenZFS 2.0が2020年12月1日、FreeBSD 12.2Rが10月27日リリースなので、まったく陰ってはないんですけどね、インパクトありそうな機能の割にはリリースノートに記載がなく、zpool statusしたら「プールのアップグレードができるぜ!」と出たので調べてみたら追加されていたという。関連するコミットはこの辺→Rev.354382 Rev.354385 354941 機能自体はZoL 0.8.0で2019年5月24日にリリースされ、その後、illumosへのバックポートを経て、目出度くFreeBSDに取り込まれた模様。ZFS実装が新生OpenZFSベースに切り替わろうとしている中で、Legacy ZFSをきっちりメンテする姿勢には頭が下がります。 で、肝心のSpecial Allocation Classは何かというと、I/O性能に直結するデータを専用のvdevに格納して性能改善を図るもののようだ。 ZFSでは扱うデータの種類をAllocation Classという概念で分類しており、OpenZFS 2.0時点では以下の5種類となっている。そもそも、この概念自体がSpecial Allocation Class機能で新設されたもののようだ。 クラス 用途 Normal 通常のデータ(ユーザーデータ) Log ZILのレコード Dedup 重複排除テーブル(DDT)のデータ Metadata プールとファイルシステムのメタデータ Small Blocks レコードサイズ以下のブロック https://github.com/openzfs/zfs/pull/5182 https://forums.servethehome.com/index.php?threads/zfs-allocation-classes-special-vdev.28862/ https://forum.level1techs.com/t/zfs-metadata-special-device-z/159954 https://zfs.datto.com/2017_slides/brady.pdf https://docs.google.com/presentation/d/17nYRgs-TAIOPODOMaq-VwuJ0LqJHEXBfM9sUDxJUJ54/edit#slide=id.g40f6b2f7d9_2_149 https://www.napp-it.org/doc/downloads/special-vdev.pdf memo/test.1607331654.txt.gz 最終更新: 2020-12-07 18:00by Decomo