クレア工房 | NetBSD

ZFS metaslab patch

下記パッチはNetBSD-current (as of 2026-01-04)用のものです。 下記を実現します:

Download: zfs-metaslab.txt

目的としてはNetBSDのZFS実装が更新されるまでの間使用するためのものであり、 暫定的なものです。 明確な根拠はありませんが、このパッチは副次的に性能を改善するように見えます。

metaslab sizeについては昨今のOpenZFSでは16GiBと定められているようです。 本稿で選定している4GBはOpenZFSの標準とは異なることに留意してください。 NetBSDの実装はとても古いため、vdevのサイズを単に200で除する内容になっており、 vdevのサイズが膨らめばmetaslab sizeはどんどん膨らんでゆきます。

metaslab sizeが4GiBに定められれば、 metaslab sizeによる端数領域の切り捨ては4GiB未満に抑えられます。 この領域サイズは8000GBのHDDに対応するならば0.05%となるでしょう。 metaslabの数については2000前後となり、これも許容しうる範囲だと考えられます。 4GB設計でmetaslabの数が上限に達するのは524TB前後と見積もられるため、 これぐらいまでは本稿のパッチが通用するものと考えています。

metaslabのサイズはzpool createするときに初期化され書き込まれますので、 パッチを当てた後のkernelでzpool createを実行する必要があります。


This is copyrighted material. Copyright © 2026 clare. All rights reserved.