Hilfe für Neuling bei Installation

Hallo Storj-Freunde,

Bin auf der Suche nach einer passiven Einkommensmöglichkeit über Storj gestolpert und fand das Konzept hochinteressant. Da mein altgedienter HP Microserver (Celeron Dualkern, 8 TB HDD), der bei mir als NAS lief, langsam an seine Grenzen kam, hab ich ihm eine Frischzellenkur verordnet und ordentlich aufgerüstet.

Hardware: HP Microserver, 4x 4TB, Xeon 4Kerner, 8GB RAM, Debian mit Openmediavault.

Da meine Linuxkenntnisse nicht mehr sonderlich aktuell sind - Docker kannte ich z.B. nicht - und ich auch seid Jahren nur am Rande im Thema bin, starte ich quasi im Moment bei fast Null. Daher könnte ich etwas Unterstützung gebrauchen.
Bis jetzt hab ich grad mal Docker durch und mir das aktuelle Storj-Image gezogen. Identity ist auch schon angelegt. Wie sollte ich jetzt weiter vorgehen? Sollte ich die Platten poolen, oder ist das nicht notwendig? Wenn ja: LVM oder ZFS? Die Konfiguration wäre dann das nächste Thema. Bin für jeden Tipp dankbar.

Hallo @MichiB,
Willkommen im Forum.

Wir empfehlen, jeden Knoten auf seiner eigenen Festplatte zu installieren, RAID ist nicht erforderlich, damit der Knoten funktioniert. RAID0 ist sehr gefährlich – wenn eine Festplatte ausfällt, geht der gesamte Knoten verloren. RAID5/6 ist nicht viel besser: Hardware configuration and receiving mail with token - #4 by BrightSilence
Sie können auch die Diskussion lesen RAID vs No RAID choice

Legen Sie daher Ihre erstellte und signierte Identität auf die Datendisk, erstellen Sie einen Ordner auf der Disk und geben Sie im Installationsbefehl die richtigen Pfade zur Identität und zum Datenordner an: Storage Node - Node Operator
Folgen Sie dann dieser Anleitung weiter.

Wenn Sie Fragen haben - fragen Sie.

Hallo Alexej,
hat mir sehr weitergeholfen. Allerdings bekomme ich den Container nicht zum laufen. Er startet permanent neu.
Meine Startbatch:

docker run -d --restart unless-stopped --stop-timeout 300 \
    -p 28967:28967/tcp \
    -p 28967:28967/udp \
    -p 127.0.0.1:14002:14002 \
    -e WALLET="0x0.." \
    -e EMAIL="xx" \
    -e ADDRESS="Storjserver.ddnss.de:28967" \
    -e STORAGE="3.6TB" \
    --mount type=bind,source="/mnt/Storj1/Node1/identity/storagenode/",destination=/app/identity \
    --mount type=bind,source="/mnt/Storj1/Node1/storage",destination=/app/config \
    --name storagenode storjlabs/storagenode:latest

/etc/fstab:

# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
#
# <file system> <mount point>   <type>  <options>       <dump>  <pass>
/dev/sda1 /mnt/Storj1 ext4 defaults 0 2
/dev/sdb1 /mnt/Storj2 ext4 defaults 0 2
/dev/sdc1 /mnt/Storj3 ext4 defaults 0 2
#
/etc/fstab (END)

Docker log:

Error: piecestore monitor: error verifying location and/or readability of storage directory: open config/storage/storage-dir-verification: no such file or directory

Server:

Wo liegt der Fehler?

Did you run the setup first?

    docker run --rm -e SETUP="true" \
    --mount type=bind,source="<identity-dir>",destination=/app/identity \
    --mount type=bind,source="<storage-dir>",destination=/app/config \
    --name storagenode storjlabs/storagenode:latest
1 Like

Yes, I did.
#############

docker run --rm -e SETUP="true" \
    --mount type=bind,source="/mnt/Storj1/Node1/identity/storagenode/",destination=/app/identity \
    --mount type=bind,source="/mnt/Storj1/Node1/storage",destination=/app/config \
    --name storagenode storjlabs/storagenode:latest

Then it should create this file. If you ran this command before, and now the file is missed, then something is wrong with the disk.
By the way, is it network attached drive like NFS or SMB?
If so, it would not work, the storagenode is incompatible with any network filesystems. The only compatible protocol is iSCSI.

Yes, I have a smb share at Node1 as you can see. Didn’t know that this makes some problems.
For understanding: The setup will create the file
storage/storage-dir-verification.
If there is a smb running, this will not happen. So I’ll delete the share an run the setup-batch again, right?

The problem is that storagenode is not compatible with any network filesystems, not missed file.
You will have problems sooner or later, please use only local attached disks.
If you forced to use network attached storage then please use iSCSI.

Hi Alexey,
i build it up new from scratch an it is running now.

I received some warnings:

2021-06-11T14:07:43.227Z WARN contact:service Your node is still considered to be online but encountered an error. {"Satellite ID": "121RTSDpyNZVcEU84Ticf2L1ntiuUimbWgfATz21tuvgk3vzoA6", "Error": "contact: failed to dial storage node (ID: 1PgVJBBwdeP7HejDFdBHL2GuNeNRQNC5SyPcpEspqxvs7odY1b) at address apolloserver.ddnss.de:28967 using QUIC: rpc: quic: Timeout: No recent network activity"}
After this warning the upload started. I think, it’s just a temporary timeout.Is this important or can I ignore it?
Are there any settings in the sysctl.config I should use for better Network-Performance?
If I run multiple nodes on my server, do I have to use another port for every node for the dashboard? Node1:14002, Node2:14003 and so on?

Thanks for your help and have a nice weekend

Michael

You can use this article to configure UDP on Linux: Linux Configuration for UDP - Node Operator