ZFS api にアクセスする方法があるかどうか知りたいです (できれば python からですが、C も問題ありません)。私の目標は、プールを監視するいくつかのツールを作成することですが、zpool コマンドの出力を解析する必要は絶対になくしたいと考えています。
3 に答える
Solaris の libzfs には Java バインディングがあります。知る限り、それらは (まだ) BSD または Linux に移植されていません。ただし、それを開始するのはそれほど大きな努力ではないかもしれません。結局のところJavaであるため、すでに比較的移植可能である可能性があります。
Java API である IIRC は、Solaris 10 の ZFS Management Web Interface に使用されました。
また、Python API についての噂も聞いたことがあります (おそらく、Tim Foster による新しいスタイルの Autosnapshot サービスで使用されたのでしょうか?)。
これは、私が見つける方法を知っていた最新のビットへのリンクです
さらに、OpenZFS (つまり、Illumos、FreeBSD、Linux、Mac OS X などの ZFS) を使用している場合は、libzfs の代替として libzfs_core が用意されています (iirc は決して安定した API ではありませんでした)。参照: http://blog.delphix.com/matt/2012/01/17/the-future-of-libzfs/
まあ、それは完全な答えではないかもしれませんが、libzfs ライブラリが にあり/usr/lib
ます。奇妙なことに、libzfs (zfs.h など) のヘッダーはインストールされておらず、カーネル ソースにのみ存在します。
そのため、libzfs を使用して何かを開発する必要がある場合は、カーネル ソースをインストールして、そこから必要なヘッダーをインクルードしてみてください。