ZFSは最も詰め込まれたファイルシステム(FS)の1つであり、最も重要なのは、情報の安全性を管理することです。 はい、それは「銀の弾丸」ではありませんが、その分野で優れた結果を示しています。
ZFS on Linuxプロジェクトはもともと、Solarisから既存のコードを移植するために作成されました。 ソースコードを閉じた後、プロジェクトは
OpenZFSコミュニティとともにLinux用ZFSの開発を続けました。 コードは、カーネルの一部として、またはモジュールとしてコンパイルできます。

これで、ユーザーは最新のSolaris互換バージョン28とOpenZFS優先度バージョン5000でプールを作成でき、その後、機能フラグ(機能フラグ)の使用が開始されました。 実装の違いに関係なく、FreeBSD、Sun Solaris OS、Linux、OSX以降でサポートされるプールを作成できます。
2016年、Linux上でZFSを保持していた最後のマイルストーンが克服されました-多くのディストリビューションが通常のリポジトリに含まれており、Proxmoxプロジェクトはすでにベースパッケージに含まれていました。
ほら、仲間!最も重要な違いと、Linuxバージョン0.6.5.10上のZFSに現在ある落とし穴の両方を考えてみましょう。
ZFSの使用開始は、CopyOnWrite(CoW)ファイルシステムの機能を調べることです。データブロックが変更されても、古いブロックは変更されませんが、新しいブロックが作成されます。 ロシア語への翻訳-録音中にコピーが発生します。 このアプローチはパフォーマンスに大きな影響を与えますが、データ変更の全履歴を保存することを可能にします。
ZFS
のCoWアプローチは非常に大きな機会を提供します。 最後のトランザクションに問題がある場合(たとえば、停電中)、最後の正しいトランザクションが使用されます。
また、すべてのデータに対して
チェックサムが考慮されることもすぐに言及する価値があります。これはパフォーマンスにも影響を与えますが、データの整合性は保証されます。
ご使用のシステムでのZFSの主な利点について簡単に説明します。
データ保護:
- チェックサム-データの正確性の保証。
- RAID , (
copies
); - fsck , ZFS scrub ( );
- , — ZFS ECC ( ECC , , ZFS, );
- ZFS ,
WD Green Seagate etc (, ).
:
- ? , ZFS ( autoexpand);
- Linux. . , ,
/dev/null, Linux (clone); ? 256 !
.
ZFS :
- pool
-- vdev (virtual device) - ( mirror, stripe .)
--- block device - , ,
vdev, mirror, RAID-Z . RAID10 ..
:
Stripe — RAID0.
Mirror — RAID1 ZFS — , .
RAID-Z — RAID5-6, :
— — ( );
—
write hole;
— (.. ).
, .
RAID-Z2 ( RAID6). RAID-Z
, :
— IOPS ( RAID-Z );
— ( recordsize, .
);
— RAID-Z (), . vdev.
dRAID ( ) — RAID-Z, - .
ARC — ZFS.
CoW . adaptive replacement cache (
ARC). , page cache Linux .
ARC — L2ARC. SSD IOPS HDD . L2ARC bcache .
L2ARC
.
—
ZIL, .
.
— LZ4 IO . ,
. ( gzip).
— : , , — ~ 320 (
zdb -S _
) ~ 5 1 . .. Dedup table (DDT), IO (DDT ).
. , LZ4 .
— ZFS , .
zfs-auto-snapshot, . .
( ) — , Oracle, send/receive scrub
.
(TL;DR):
— , ZFS , ( );
— :
compression=lz4
— , ( Linux):
xattr=sa
— atime:
atime=off
— (recordsize), recordsize , recordsize recordsize (
recordsize=1M
1.5 2 1, 0.5 0.5). — :
recordsize=128K
— ARC ( ):
echo "options zfs zfs_arc_max=___" >> /etc/modprobe.d/zfs.conf
echo ___ >> /sys/module/zfs/parameters/zfs_arc_max
— ;
— ECC ;
—
zfs-auto-snapshot.
— SSD , (
ashift).
SSD ZFS.:
— , . , . .
— ZFS ,
destroy
!
— ZFS 100%, CoW , 80% .
— , ( —
Mysql,
PostrgeSQL,
torrents).
—
!ZFS on Linux , .
ZFS — , . , RAID .
,
gmelikov, ZFS on Linux !
,
issues PR,
mailing lists.
:
ZFS on Linux github pageFAQZFS Performance tuningUpdate (12.02.2018): ashift SSD .