ZFS (Zettabyte File System)(ゼットエフエス)
Sun Microsystems 2005年Solaris 10 で公開した次世代ファイルシステム + ボリュームマネージャ統合。エンドツーエンドCRC / Copy-On-Write / RAID-Z / Snapshot 等高機能。
概要
ZFS (Zettabyte File System) はSun Microsystems が2001年から Jeff Bonwick / Matthew Ahrens 主導で開発、2005年6月にSolaris 10 でオープンソース公開 (CDDL ライセンス) した次世代ファイルシステム + ボリュームマネージャ統合システム。Zettabyte (10^21 = 1ZB) を扱える128bit FS で、エンドツーエンドCRC・Copy-On-Write (CoW)・RAID-Z・Snapshot 等の高度機能でエンタープライズストレージの事実上標準。
ZFS 主要仕様
| 項目 | 仕様 |
|---|---|
| アドレス | 128bit (理論16EB × 16EB) |
| 最大ファイル数 | 2^48 |
| 最大ボリューム | 256ZB |
| Pool 構成 | 任意数のvdev (ミラー / RAIDZ) |
| RAID | RAID-Z1/Z2/Z3 (1-3パリティ) |
| CRC | Fletcher4 / SHA-256 |
| Copy-On-Write | 標準 |
| Snapshot | 即時・無制限 |
| Clone | スナップショットから読書可ボリューム |
| Send / Receive | 増分転送 (バックアップ) |
| Compression | LZ4 / GZIP / Zstd |
| Deduplication | あり (メモリ大量消費) |
| Encryption | AES-256 |
ZPOOL / vdev 構造
ZFS はファイルシステム単独でなく、Storage Pool (ZPOOL) という抽象化レイヤを基盤とする。ZPOOL は1つ以上のvdev (Virtual Device = ディスク / ミラー / RAID-Z 等) で構成、ファイルシステム (zfs データセット) はPool 内で動的にスペース割当を受ける設計。
RAID-Z
ZFS 専用のソフトウェアRAID:
- RAID-Z1: シングルパリティ (RAID 5 相当)
- RAID-Z2: ダブルパリティ (RAID 6 相当)
- RAID-Z3: トリプルパリティ (RAID-Z2 を超える耐障害)
- RAID-5 「Write Hole」問題を回避 (CoW + Transactional 設計で原子性保証)
Sun 買収後の変遷
- 2005-06: Solaris 10 オープンソース公開 (CDDL)
- 2008: FreeBSD 採用
- 2010-01: Oracle Sun 買収 ($7.4B)
- 2010-08: OracleZFS クローズ化決定
- 2010-09: OpenZFS Project 発足 (オープン継続)
- 2013: OpenZFS Linux 統合 (ZFS on Linux)
- 2020-12: OpenZFS 2.0 統合 (Linux / FreeBSD 共通)
- 2024: OpenZFS 2.3 (Direct I/O 等)
Linux と CDDL ライセンス問題
CDDL (Common Development and Distribution License) はGPL と非互換のため、ZFS は Linux カーネル本体に直接組み込めない。Ubuntu はDKMS module 経由でZFS root をオプション提供 (2016 16.04+) するが、Linus Torvalds は Linux kernel 本体 統合に否定的。
主要採用先
- Solaris 10/11 (Oracle・標準)
- OpenIndiana / Illumos (Solaris派生)
- FreeBSD 8.0+ (2010-)
- TrueNAS / TrueNAS CORE / TrueNAS SCALE
- Proxmox VE
- Ubuntu (16.04+ オプション)
- macOS (OpenZFS on OS X)
- 大規模ストレージサイト (Netflix・Google・Stanford・LLNL)
関連用語との違い
- vs ext4 / XFS: ZFS は CoW / Snapshot / 統合 vol mgr / RAID-Z
- vs Btrfs: 安定性・成熟度 (ZFS) / Linux 統合 (Btrfs)
FAQ
Q1: 個人で使うべき? A: 大容量NAS (TrueNAS / Proxmox) / バックアップサーバなら強く推奨。データ整合性CRC・Snapshot 機能が個人データ保護に絶大価値。
Q2: メモリ要件? A: 重い (1GB RAM / 1TB ストレージ 目安・Dedup 使用時5GB+/TB)。Dedup 無で1GB/TB が現実的。
Q3: Btrfs より良い? A: 安定性・成熟度はZFS > Btrfs。LinuxネイティブはBtrfs (CDDL問題)・FreeBSD / Solaris ならZFS が本命。