Drives - guydavis/machinaris GitHub Wiki

Machinaris supports optional drive monitoring with smartctl from inside the Docker container.

Grid

The grid view above is good for small farms, however a filterable table-view is available for those with many drives on many Workers.

Table

Configuration

You'll need to enable the RAWIO capability for the Machinaris containers (Chia blockchain only, one per host machine), that will be monitoring the hosts drives. Please add a device mapping for each raw drive device to be monitored.

Docker-Compose

Extend the docker-compose.yml generated using the Machinaris setup wizard by adding the new cap_add and devices sections below under your 'machinaris' container section, at the same level as 'environment', 'ports', and 'volumes':


    cap_add:
      - SYS_RAWIO
    devices:
      - /dev/sda:/dev/sda
      - /dev/sdb:/dev/sdb
      - /dev/sdb:/dev/sdb

      ...

Unraid

For Unraid, add the new capability and devices using this example for Unraid "Extra Parameters" field, available when editing the Docker configuration for the Machinaris container (Chia blockchain only) in the Unraid Admin UI.

-h $HOSTNAME -v /run/udev:/run/udev:ro --cap-add SYS_RAWIO --device=/dev/sda --device=/dev/sdb --device=/dev/sdd --device=/dev/sde --device=/dev/sdg --device=/dev/sdh --device=/dev/sdi --device=/dev/sdo --device=/dev/sdq

Alerting

Alerts are sent via Chiadog notification settings when SMART indicates a problem with a drive.

Temperature

Currently, the default color-coded system of temperature alerts is:

  • Less than 40 deg. Celsius is green (good).
  • Between than 40 and 50 deg. Celsius is yellow (warning).
  • More than 50 deg. Celsius is red (alert).

These temperature levels can be modified by clicking the Settings (gear icon) in the top-right of the Drives page.

Known Issues

Windows Support

Unfortunately, it seems that Docker on a Windows host is not able to expose native devices, like drives, into a Linux container such as Machinaris. Please let us know if you are aware of a workaround!

Override Command

Certain drive hardware does not automatically get handled well by the general smartctl -a /dev/sdX command that is run for reach device, such as /dev/sde, /dev/sdf, etc. In some cases, the smartcl --scan that Machinaris runs in-container does not report the device you mapped. In that case, place the following JSON config file at path ~/.machinaris/machinaris/config/drives_overrides.json:

{ 
  "/dev/sdf": { }
}

This ensures that Machinaris will check that drive with a smartcl -a /dev/sdf call.

In other cases, where you wish to override the smartctl command to specify the device type: smartctl -a -d scsi /dev/sdX (example), you can enter additional parameters per device. place the following JSON config file at path ~/.machinaris/machinaris/config/drives_overrides.json:

{ 
  "/dev/sdi": { "device_type": "sata" },
  "/dev/sde": { "device_type": "scsi" }
}

In this example, just the two specified devices will have an override device type (aka -d TYPE) parameter passed to smartctl.