My docker run commands for multinodes on Synology NAS

If you plan to run storagenodes in Docker on Synology DiskStations, only + models (plus models) support Docker. These are the basic settings that I can recommend for Synology machines, runing only storagenodes:

Storage settings:

RAID type: Basic
Filesystem: ext4
Record file access time: Never
Low capacity notification: 5%
Data Scrubbing schedule: Enable only for RAID with 2 or more disks
RAID Resync speed limits: lower impact on system performance
Fast Repair: Enable
Enable write cache: Yes on UPS.
Bad sector warning: Enable.

DSM settings:

HDD hibernation OFF.
Memory compresion OFF.
Firewall OFF.
DDOS protection OFF.
Meltdown and Spectre protection OFF.
Activate SSH and maybe change the default port.
Sync the time with your computer and activate autosync with a server.
Install Docker.
You can let ON autoupdate for DSM and apps, but deactivate it for Docker.
Activate the email warnings.
Schedule SMART test once a month.

Hardware choises:

Install nonOEM RAM as much as you can; see link below.
If the NAS supports it, you can install a NVMe drive for cache, for db-es, logs, etc. This is optional, but it can improve the performance of the node.
https://forum.storj.io/t/synology-memory-upgrade-guide/20743

More useful commands after sudo su:

docker exec storagenode ./storagenode run --help
docker exec storagenode ./storagenode setup --help
netstat -tulpn
dmidecode
dockerd --help

Graceful Exit

  1. Machine 1, Node 1:
    SSH to machine, run sudo su, then:
docker exec -it storagenode /app/storagenode exit-satellite --config-dir /app/config --identity-dir /app/identity
y

and enter the satellites names, delimited by SPACE, then ENTER.
To check the status, run:

docker exec -it storagenode /app/storagenode exit-status --config-dir /app/config --identity-dir /app/identity
  1. Machine 1, Node 2:
    SSH to machine, run sudo su, then:
docker exec -it storagenode2 /app/storagenode exit-satellite --config-dir /app/config --identity-dir /app/identity
y

and enter the satellites names, delimited by SPACE, then ENTER.
To check the status, run:

docker exec -it storagenode2 /app/storagenode exit-status --config-dir /app/config --identity-dir /app/identity
1 Like