====== いつのまにかZoLとOpenZFSが統合されてた&永続的L2ARCが来るっぽい ====== 2020年12月1日、ZoLベースとなる[[2020-12-01|OpenZFS 2.0が無事にリリース]]された ZFSのLinux向け実装であり今やZFS開発のメインストリームであるZFS on Linux (ZoL)が、いつの間にかOpenZFSと統合されていた。実際のところ、統合というよりはOpenZFSがZoLベースで仕切り直され、ZoLがOpenZFSに名前を変えたという感じのようだ。 経緯はともかく、既にZoLのGitHubはOpenZFSのリポジトリへとリダイレクトされるようになっている。で、2020年、すなわち今年にはZoL 0.8をベースとしたOpenZFS 2.0がLinuxとFreeBSD向けにリリース見込みとなっている。この辺のロードマップは[[http://open-zfs.org/wiki/OpenZFS_Developer_Summit|OpenZFS Developer Summit]]での[[https://drive.google.com/file/d/197jS8_MWtfdW2LyvIFnH58uUasHuNszz|発表資料]](PDF)に詳しい。 また、そう遠くない未来に永続的L2ARC (Persistent L2ARC。界隈ではpL2ARCと表記されている)が取り込まれるようだ。 ZFSerにはご存じのとおり、L2ARCはSSDなどの高速ストレージを使ったZFSの読み込みキャッシュの仕組みである。必要な時に後から有効化できたり、不要になったらいつでも無効化できたりと、簡単便利な仕組みだが、システムの再起動でキャッシュ内容が失われてしまう欠点がある。正確には、キャッシュデータはストレージ上に残っているものの、メインメモリのキャッシュ管理データが消えてしまうため、現状のL2ARCは事実上の揮発性キャッシュとなっている。 pL2ARCでは、その名前のとおりシステムを再起動しても以前のキャッシュが維持されるようになる。ちなみに、L2ARCの管理データは無視するには大きすぎるサイズとなる。あまり巨大なL2ARCを作ると管理データがメモリを圧迫し、L2じゃない方のARCが減るという本末転倒な事態に陥るので注意が必要。 pL2ARCの構想自体は旧OpenZFSのロードマップにも存在していた。2015年にillumos向け実装の移植が試みられていたようだが、結局実現はしなかった。ところが最近になって、これまたZoLパワーでもって急速に開発が進められている。現時点でOpenZFS 2.0リリース予定には組み込まれていないものの、既にプルリクが作られており近々masterに取り込まれそうな勢いである。Linuxパワーしゅごい……。 ===== 参考サイト ===== * [[https://github.com/openzfs/zfs/pull/9582|Persistent L2ARC by gamanakis · Pull Request #9582 · openzfs/zfs · GitHub]] * [[https://github.com/openzfs/zfs/issues/3744|NEX-3514 Implement persistent L2ARC · Issue #3744 · openzfs/zfs · GitHub]] * [[https://arstechnica.com/gadgets/2020/02/zfs-on-linux-should-get-a-persistent-ssd-read-cache-feature-soon/|Persistent L2ARC might be coming to ZFS on Linux | Ars Technica]]