開発のXNUMX年半後、 OpenZFS2.0プロジェクトが開始されました LinuxおよびFreeBSD用のZFSファイルシステムの実装を開発します。
このプロジェクトは「Linux上のZFS」として知られるようになりました 以前は、Linuxカーネル用のモジュールの開発に限定されていました。 しかし、FreeBSDのサポートが移管された後、それは主要なOpenZFS実装として認識されました。 そしてそれは名前のLinuxの言及から削除されました。 LinuxおよびBSDシステムのすべてのZFS開発アクティビティは、現在XNUMXつのプロジェクトに集中しており、共通のリポジトリで開発されています。
OpenZFS FreeBSDアップストリームですでに使用されています (頭) Debian、Ubuntu、Gentoo、Sabayon Linux、およびALTLinuxディストリビューションに含まれています。 新しいバージョンのパッケージは、Debian、Ubuntu、Fedora、RHEL / CentOSを含むすべての主要なLinuxディストリビューションでまもなく準備が整います。
FreeBSDでは、コードはOpenZFSコードベースと同期されます 電流。 OpenZFSは、Linuxカーネル3.10〜5.9(最新バージョン2.6.32と互換性のあるカーネル)およびFreeBSD 12.2、stable / 12および13.0(HEAD)ブランチでテストされています。
OpenZFSについて
OpenZFS コンポーネントの実装を提供します ファイルシステムとボリュームマネージャーの両方に関連するZFSの特に、 次のコンポーネントが実装されています。 SPA(ストレージプールアロケーター)、DMU(データ管理ユニット)、ZVOL(ZFSエミュレートボリューム)、およびZPL(ZFS POSIXレイヤー)。
また、プロジェクトoこれは、Lustreクラスター化ファイルシステムのバックエンドとしてZFSを使用する機能を提供します。 プロジェクトの作業は、OpenSolarisプロジェクトからインポートされた元のZFSコードに基づいており、Illumosコミュニティからの機能拡張と修正で拡張されています。 このプロジェクトは、米国エネルギー省との契約に基づいて、リバモア国立研究所の職員の参加を得て開発されています。
コードは無料のCDDLライセンスの下で配布されます。 これはGPLv2と互換性がなく、GPLv2とCDDLライセンスの下でコードを混在させることが許可されていないため、OpenZFSをアップストリームのLinuxカーネルに統合することはできません。 このライセンスの非互換性に対処するために、CDDLライセンスの下で製品全体を、カーネルとは別に出荷される別個のダウンロード可能なモジュールとして配布することが決定されました。 OpenZFSコードベースの安定性は、Linux用の他のFSに匹敵すると考えられています。
OpenZFS2.0の主な新機能
主な変更点の中で、最も目立つのは FreeBSDプラットフォームのサポート コードベースは、さまざまなオペレーティングシステムをサポートするように統合されています。 関連するすべての変更 FreeBSDで 現在、メインのOpenZFSリポジトリで開発されています このプロジェクトは、FreeBSDの将来のバージョンのためのZFSの主要な実装と見なされています。
それに加えて FreeBSDをOpenZFSに移行すると、競合状態の多くが解消されました とロックの問題、拡張クォータシステム、データセット暗号化、個別の割り当てクラス、RAIDZ実装とチェックサム計算を高速化するためのベクトルプロセッサ命令の使用、ZSTD圧縮アルゴリズムのサポート、マルチホストモードなどの新機能をFreeBSDにもたらしました( MMP、Multiple Modifier Protection)、および改善されたコマンドラインツール。
もうXNUMXつの重要な変更は 順次実行モードが実装されました コマンド「resilver」(シーケンシャルresilver)の操作。これは、ユニットの構成の変更を考慮してデータ分散を再構築します。
新しい方法 失敗したvdevミラーをはるかに高速に再構築できます 従来のリカバリよりも:最初に、アレイで失われた冗長性が可能な限り迅速に復元され、その後、すべてのデータチェックサムを検証するために「クリーンアップ」操作が自動的に開始されます。 ドライブを「zpoolreplace |」で追加または交換すると、新しいモードが開始されます。 「-s」オプションを付けて「」を添付します。
実装されました 永続的な第XNUMXレベルのキャッシュ (L2ARC)。キャッシュ用に接続されたデバイスからのデータは、システムの再起動の間に保存されます。つまり、起動後のキャッシュは「ホット」のままで、パフォーマンスは最初のキャッシュフィルフェーズをバイパスしてすぐに公称値に達します。
追加 zstd圧縮アルゴリズムのサポート (Zstandard)は、zlib / Deflateと比較して3〜5倍速い圧縮速度と、10倍速い解凍を示し、圧縮レベルを15〜XNUMX%向上させます。
それに加えて さまざまなレベルの圧縮を提供し、 それらは、圧縮効率とパフォーマンスの間の異なるバランスを提供します。