mmoxi 0.4.3

tools for IBM Storage Scale file systems
Documentation
mmoxi
=====

A [Rust][] library and collection of tools for [IBM Storage Scale][] (formerly
Spectrum Scale, formerly GPFS) file systems.


Motivation
----------

The [Rust][] library at the moment is mostly `mm* -Y` parsing for easier access
in tooling. We did all the `mm* -Y` parsing and tooling in shell scripts
before. You can certainly do this, but writing good tooling in bash just
doesn't scale. Having a library for access to the parsed output just makes
writing tools so much easier.

Notable exceptions to parsing in the library and listing in tooling are:

1.  An [nmon][] integration that groups NSDs by `(fs,pool)`-tuple to be shown
    in `nmon`s **Disk Group I/O** mode:

    ```bash
    mmoxi cache nmon
    NMON=g nmon -s 1 -d 1024 -g '/run/mmlocal-nmon-cache'
    ```

    This gives a better view of file servers and how much I/O they do with NSD
    groups rather than individual NSDs or everything summed up.

1.  Prometheus metrics for:

    - disk availability
    - disk pool size
    - disk pool group I/O
    - quotas


Docs and Usage
--------------

See the [docs][] for library documentation and `mmoxi help [subcommand...]` for
the CLI tools.


Installation
------------

### cargo install

```bash
cargo install mmoxi
```

### from source

```bash
git clone https://github.com/idiv-biodiversity/mmoxi.git
cd mmoxi
cargo build --release
install -Dm755 target/release/mmoxi ~/bin/mmoxi
```


[IBM Storage Scale]: https://www.ibm.com/products/storage-scale
[Rust]: https://www.rust-lang.org/
[nmon]: https://nmon.sourceforge.net/
[docs]: https://docs.rs/mmoxi