我想知道是否有办法访问ZFS api(最好是从python但C也很好)。我的目标是编写一些监视我的池的工具,但肯定不想解析zpool命令的输出。
在Solaris上有对libzfs的java绑定。 AFAIK他们还没有被移植到BSD或Linux。然而,它可能并不是一个很大的努力,因为它毕竟是Java,它可能已经相对便携。
IIRC Java API用于Solaris 10的ZFS管理Web界面。
另外,我听说过关于Python API的传言(也许是在Tim Foster的新式Autosnapshot服务中使用过的?)。
这是我知道如何找到的最新位的链接
另外,如果你使用OpenZFS(即Illumos,FreeBSD,Linux,Mac OS X等上的ZFS),现在libzfs_core可以替代libzfs(iirc永远不是一个稳定的API)。见:http://blog.delphix.com/matt/2012/01/17/the-future-of-libzfs/
好吧,它可能不是一个完整的答案,但/usr/lib
中有libzfs库。奇怪的是libzfs(zfs.h等)的头文件没有安装,只存在于内核源代码中。
因此,如果您需要使用libzfs开发一些东西,您可以尝试安装内核源代码并从那里包含所需的头文件。