Neurotic Programmer Masquerade
    Have ideas to improve npm?Join in the discussion! »

    zpool

    0.0.0 • Public • Published

    node-zpool

    Interface to ZFS zpools

    Installation

    npm install zpool
    

    Examples

    zpool.list

    Like zpool list on the command line

    var zpool = require('zpool');
    zpool.list(function(err, list, out) {
      // list => an object of all zpools
      // out => the raw output from `zpool list`
      console.dir(list);
    });

    yields

    {
      "goliath": {
        "size": "10.9T",
        "alloc": "3.96T",
        "free": "6.91T",
        "expandsz": "13.4E",
        "cap": "36%",
        "dedup": "1.00x",
        "health": "ONLINE",
        "altroot": null
      },
      "rpool": {
        "size": "37G",
        "alloc": "10.1G",
        "free": "26.9G",
        "expandsz": null,
        "cap": "27%",
        "dedup": "1.00x",
        "health": "ONLINE",
        "altroot": null
      }
    }

    You can also supply a filter as the first argument

    var zpool = require('zpool');
    zpool.list('rpool', function(err, list, out) {
      // list => an object rpool
      // out => the raw output from `zpool list rpool`
      console.dir(list);
    });

    yields

    {
      "size": "37G",
      "alloc": "10.1G",
      "free": "26.9G",
      "expandsz": null,
      "cap": "27%",
      "dedup": "1.00x",
      "health": "ONLINE",
      "altroot": null
    }

    zpool.health

    General zpool health with zpool status -x

    var zpool = require('zpool');
    zpool.health(function(err, info) {
      console.log(info);
    });

    yields

    all pools are healthy
    

    zpool.status

    not fully implemented yet

    The parsed output of zpool status, prefer zpool.list instead

    var zpool = require('zpool');
    zpool.status(function(err, list, out) {
      // list => an object of all zpools
      // out => the raw output from `zpool status`
      console.dir(list);
    });

    yields

    {
      "goliath": {
        "pool": "goliath",
        "state": "ONLINE",
        "scan": "scrub repaired 0 in 2h19m with 0 errors on Sun Jan 27 17:19:07 2013",
        "config": [
          "config:",
          "STATE     READ WRITE CKSUM",
          "ONLINE       0     0     0",
          "ONLINE       0     0     0",
          "ONLINE       0     0     0",
          "ONLINE       0     0     0",
          "ONLINE       0     0     0",
          "ONLINE       0     0     0",
          "ONLINE       0     0     0",
          "ONLINE       0     0     0",
          "ONLINE       0     0     0",
          "ONLINE       0     0     0",
          "logs",
          "ONLINE       0     0     0"
        ],
        "errors": "No known data errors"
      },
      "rpool": {
        "pool": "rpool",
        "state": "ONLINE",
        "scan": "scrub repaired 0 in 0h14m with 0 errors on Tue Apr 16 18:35:09 2013",
        "config": [
          "config:",
          "STATE     READ WRITE CKSUM",
          "ONLINE       0     0     0",
          "ONLINE       0     0     0"
        ],
        "errors": "No known data errors"
      }
    }

    You can also supply a filter as the first argument

    var zpool = require('zpool');
    zpool.status('rpool', function(err, list, out) {
      // list => an object rpool
      // out => the raw output from `zpool status rpool`
      console.dir(list);
    });

    yields

    {
      "pool": "rpool",
      "state": "ONLINE",
      "scan": "scrub repaired 0 in 0h14m with 0 errors on Tue Apr 16 18:35:09 2013",
      "config": [
        "config:",
        "STATE     READ WRITE CKSUM",
        "ONLINE       0     0     0",
        "ONLINE       0     0     0"
      ],
      "errors": "No known data errors"
    }

    License

    MIT License

    Keywords

    none

    Install

    npm i zpool

    DownloadsWeekly Downloads

    3

    Version

    0.0.0

    License

    none

    Last publish

    Collaborators

    • avatar