-
Notifications
You must be signed in to change notification settings - Fork 70
Drives
Machinaris supports optional drive monitoring with smartctl
from inside the Docker container.
The grid view above is good for small farms, however a filterable table-view is available for those with many drives on many Workers.
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.
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
...
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
Alerts are sent via Chiadog notification settings when SMART indicates a problem with a drive.
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.
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!
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.
CHIA NETWORK INC, CHIA™, the CHIA BLOCKCHAIN™, the CHIA PROTOCOL™, CHIALISP™ and the “leaf Logo” (including the leaf logo alone when it refers to or indicates Chia), are trademarks or registered trademarks of Chia Network, Inc., a Delaware corporation. There is no affiliation between the Machinaris project and the main Chia Network project.