ZFS Sizing Tool

ZFSプール容量計算機

RAIDZ実効効率・メタデータ・Slop Space・スナップショットを考慮した実効容量を、その場で計算します。

ベイ構成(1 VDEV分)

データパリティ

容量サマリー

Raw容量

200.0 TB

Usable容量

158.4 TB

実効効率

79.2 %

実使用可能容量

152.9 TB

圧縮考慮(論理)

214.0 TB

推奨運用上限(圧縮考慮後の目安)

171.2 TB

正常警告はありません

性能推定

ランダムRead IOPS(Pool全体)

170

≈ 0.7 MB/s換算(4Kブロック基準)

ランダムWrite IOPS(Pool全体)

170

≈ 0.7 MB/s換算(4Kブロック基準)

シーケンシャルRead

2,120 MB/s

≈ 16,174 IOPS換算(recordsize 128K基準)

シーケンシャルWrite

2,120 MB/s

≈ 16,174 IOPS換算(recordsize 128K基準)

スループット(合計目安)

2,120 MB/s

Read/Writeの大きい方(ネットワーク推奨・CPUコア数算出の根拠)

ARCヒット率

0.4%

L2ARCヒット率

0.0%

同期書込レイテンシ

12.20 ms

推奨RAM

222 GB

推奨CPUコア数

8 cores

ネットワーク推奨: 10GbE推奨
注意同期書き込みが多いワークロードですがSLOG未構成です。書き込みレイテンシが劣化する可能性があります

ARC/L2ARCの効果の幅(ランダムRead・コールド⇄フルヒット)

コールドキャッシュ(ヒット率0%)

170 IOPS

平均レイテンシ 8.00 ms

現在の設定(推定ヒット率)

171 IOPS

平均レイテンシ 7.97 ms

フルヒット時(ARCヒット率100%、理論上限)

170,000 IOPS

平均レイテンシ 0.03 ms

キャッシュヒット分はバックエンドディスクのIOPSを消費しないため、実効的にはミス率の逆数倍まで フロントエンド性能が伸びる、という考え方の目安値です。「現在の設定」は今のARC/L2ARCサイズ・ ワーキングセットから推定したヒット率、「フルヒット時」はARCがワーキングセットを完全にカバーできた 場合の理論上限です。実際の運用ではキャッシュが温まるまでの期間はコールド側に近く、 定常状態に近づくほど現在の設定〜フルヒット側に寄っていきます。

容量成長予測(線形モデル)

0%25%50%75%100%1年後3年後5年後10年後目標使用率 80%
経過期間予測使用率追加ディスク目安
1年後8.5%
3年後25.6%
5年後42.6%
10年後85.3%

目標使用率到達まで

約3424日後

増設発注の目安日

2035/9/20

現在のスナップショット見積り: 0.00 TB。この予測は、母体データが増えるとスナップショットも同じ比率で増える前提で、上記グラフ・表の 予測使用量に含めて計算しています(スナップショット単独でプールが枯渇するリスクも織り込み済みです)。

※ 本結果は経験則ベースの近似式による見積りです。最終的な採用判断の前にPoC(実機検証)を推奨します。

計算式について

容量計算

  • Raw容量 = Σ(VDEV毎の本数 × ディスク容量)
  • Usable容量 = Raw容量 × 実効効率(RAIDZ方式ごとのデータ本数/全本数の比率) × パディング係数(recordsize/ashift/推奨幅から算出)
  • 実使用可能容量 = Usable容量 − メタデータオーバーヘッド − 予約領域(Slop Space) − スナップショット見積り
  • 圧縮考慮(論理) = 実使用可能容量 × Compression比
  • 推奨運用上限(圧縮考慮後の目安) = 圧縮考慮(論理) × Dedup比 × 目標プール使用率

性能推定

  • ランダムIOPS: 1VDEVあたり(RAIDZ系はディスク1本分、Mirrorは Read=本数倍/Write=1本分)を算出し、 それをVDEV数ぶん合算したPool全体の値を表示(VDEV数が1の場合は1VDEV分と同じ数値になる)
  • シーケンシャル速度: パリティ分を除いたデータ本数ぶん並列化(Mirrorは Read のみ本数倍)、これもPool全体(全VDEV合算)の値
  • ARCヒット率 = 1 − (1 − min(1, ARCサイズ / ワーキングセット))²(収穫逓減カーブによる経験的近似)
  • 推奨RAM = max(実効容量[TB] × 1GB/TB, ARC目標, DedupテーブルRAM) + OS用8GB
  • 推奨CPUコア数 = 基本4コア + (圧縮有効:+2) + (Dedup有効:+4) + シーケンシャル速度に応じた追加分
  • ディスクの性能値(IOPS/MBps/レイテンシ)は特定機種カタログではなく、媒体種別(HDD/SATA SSD/SAS SSD/NVMe)ごとの代表値プリセットを使用(詳細設定で個別に上書き可能)
  • SLOGは同期書込レイテンシの算出にのみ用いる(選択したディスク種別のレイテンシ + プロトコルオーバーヘッド)。 「ミラー(2本)」を選ぶとベイ構成にも2本分反映されるが、性能計算そのものはミラーでも1本分のレイテンシとして扱う(冗長化は可用性のための構成であり速度は変わらないため)
  • L2ARCは容量(本数 × 1本あたり容量)がヒット率算出に使われる。ディスク種別は物理構成の記録用で、 L2ARCはZFSの仕様上ミラー(冗長化)の概念を持たない(消失してもプールへの影響はなくキャッシュとして再構築されるため)
  • IOPS⇄MB/s相互換算(参考値): ランダムIOPSは4Kブロック基準、シーケンシャル速度はrecordsize基準で単純換算しているだけで、 実際のアクセスパターン次第でズレる参考値です

ARC/L2ARCの効果(キャッシュ効果モデル)

以下はPythonバックエンドには存在しない、このフリー版独自の追加モデルです(前提を明記した上で参考値として掲載しています)。

  • ARC/L2ARCにヒットしたリクエストはバックエンドディスクのIOPSを消費しない、という前提で、 実効ランダムRead IOPS = バックエンドディスクIOPS ÷ ミス率(= 1 − ARCヒット率 − L2ARCヒット率)として近似
  • ミス率が0%に近づくと数値が発散するため、下限を0.1%としてクランプしています
  • 平均レイテンシ = ARCヒット率 × ARC相当レイテンシ(0.02ms、RAM速度の目安) + L2ARCヒット率 × 選択したL2ARCディスクのレイテンシ + ミス率 × プールディスクのレイテンシ、で加重平均
  • ワーキングセット(実効容量 × ワークロードごとのワーキングセット比率)がARC/L2ARC容量に対して 大きいほどヒット率が低くなり、効果も小さく表示されます(これは意図した挙動です)
  • 「コールドキャッシュ⇄フルヒット」の3点比較は、ARCヒット率0%(起動直後などキャッシュが 温まっていない状態)・現在の設定(ARC/L2ARCサイズから推定した定常状態のヒット率)・ ARCヒット率100%(ワーキングセットを完全にカバーできた場合の理論上限)の3シナリオを 同じ式に代入して並べただけで、実際の遷移時間(キャッシュが温まるまでの時間)は計算していません

容量成長予測

  • 線形モデル: 予測使用量(n日後) = 現在使用量 + 日次増加量 × n
  • 複利モデル: 予測使用量(n日後) = 現在使用量 × (1 + 年間成長率)^(n / 365)
  • スナップショット容量は母体データと同じ成長率でスケールさせて加算
  • 閾値到達日数は、予測使用量が「圧縮考慮後の目安 × 目標プール使用率」に達するまでの日数を逆算
  • 増設目安日 = 閾値到達日 − 調達リードタイム(発注から搬入までの見込み日数)

いずれもZFS Sizing Toolの計算エンジンで計算され、このページ上ですべて完結して計算しています。
サーバーにデータが保存されることはありません。