Most cost effective built (SNO)

Wait till it updates and runs the filewalker process that always shows me some usage.

i switched away from the avg utilization graph because it didn’t show very useful numbers, i did use it to calculate my max estimated throughput of node GB in a day from it tho.

the top graph was 3 months avg as you can see it peaks at 2.2% and then drops off as activitiy did

weekly avg graph for my 14.4tb node, with uptime and latest spike marked for time reference

so it just seems to indicate that your storagenode hasn’t been restarted for a week… :smiley:
my cpu utilization is lower because it’s split across more nodes :smiley: or because it’s on 4 cores…

the max usage graphs might be a bit better… because then one can see peak usage…
which might be relevant for node performance at some points… ofc so long as the avg is enough i’m sure the node would survive.

i’ve been reorganizing my network infrastructure … so had many many restarts over most of December…

but yeah… storagenodes sure doesn’t use much cpu… :smiley:

the spike in cpu usage and uptime seems to correlate…

and the full flatline 0% was downtime for my network.

I have an idea. The heavy RAID systems can affect the ability of storagenode to store data, thus - higher RAM and CPU usage. All my nodes have a low memory and CPU usage and I do not have any RAID for them:
Windows

  • native:
    CPU 1386.09375 seconds usage since December 20, 2020 4:13:32 AM or 0.62%
    RAM: 38.63671875 MiB
  • docker
CONTAINER           CPU %               MEM USAGE / LIMIT     MEM %               NET I/O             BLOCK I/O  PIDS
67294afebfb0        0.14%               53.46MiB / 24.82GiB   0.21%               70.3GB / 3.42GB     0B / 0B  38
93605d6fc4b3        1.95%               32.07MiB / 24.82GiB   0.13%               801MB / 19.3GB      0B / 0B  22

Raspi3:

CONTAINER ID        NAME                CPU %               MEM USAGE / LIMIT     MEM %               NET I/O             BLOCK I/O           PIDS
a3fc3ad34f34        storagenode         2.32%               62.12MiB / 800MiB     7.76%               0B / 0B             0B / 0B             16
1 Like

Well I think avg gives you a good idea how much cpu is being used all the time, If you compare it to my windows VM it tells a different story.


Max cpu could be anything causing the cpu usage to spike.

agreed, the avg utilization tells one about how much cpu is really needed…
but when considering a storagenode… peaks could be relevant, because high cpu activity could created added latency, or downright failures of something… even if doubtful… most likely it will just give dropped or cancelled upload / download… i suppose i could test that with my 14.4tb node

it’s just at the edge of what a single core would handle it seems, atleast at peaks… avg is… much more sensible, but still 30% cancelled uploads for 12 hours when one is running the filewalker… might be perfectly okay for some… but why would i accept it if i can avoid it… and cpu time is so cheap…
and can be turned off when not used…

well the only thing running on my containers is docker and 1 storagenode in each :smiley:
but yeah it did seem like i had some sort of iowait event permeate through all the containers, but usually not the case…

ofc if i look at peaks then 30% of 4 of my cores for processing 100gb on the 18th of dec… that would put me at 300 for 90% and then x4 to reach my 16 threads so 1200gb in a day if i do the approximate math from my max cpu usage… maybe only 800gb depending on how proxmox counts the cores, in vm’s i select based on cores and threads, but in containers it seems like they are all cores…

while i get 20x 100 so 2tb x 4 so 8tb of data processed in a day for the network… if i use the avg…
sure the avg will work fine in most states… but like now where i would be rebooting often… or if we imagined higher traffic a day than 100gb then it would also go up…

but yeah
avg is good for seeing the minimum requirements of the cpu…

while max is good for seeing the maximum possible used by the cpu.
each has their place…

but only one of them will tell you what you need for optimal performance specs…

tho using the word cpu performance in relation to a storagenode… seems to maybe a misnomer
lol cpu requirements are so low that one can get out an abacus and might still keep up.

wonder if enterprise cpu’s have an advantage over consumer cpu’s for this kind for workload… ofc the throughput most likely aren’t high enough for that to matter.

now when you mention that promox build with SNO… now im thinking of something alittle more wild…
has anyone here tried with Freenas with Dedupe and Compression on and run the SNO on a jail off that particular path … i got a feeling it might push the storage limit to double or tripper with that build… unless the data storing on the SNO is totally unique.

i think they renamed freenas to truenas … awhile back

and no zfs will not be able to gain you any extra space with dedup nor compression, we already tested that, the data is encrypted and thus cannot be compressed… because encryption schemes try to make data look random.

or i duno if anyone tested dedup, but i would be very very surprised if it works and if it does it will only be for testdata and your system would just die trying to keep up eventually.

not compressing stuff will get you something tho… :smiley: encoding and it won’t be a ton… but a few bits which i guess is sort of the same number :smiley:

rant and reasons

don’t use dedup… it’s like filling your swimming pool with corn starch, and playing with non newtonian mechanics… so much fun at first… works great…

until you realize you cannot pump it out… it’s difficult to dig… it basically eats things alive if they get stuck in it… most likely goes bad at some point…

i made a zfs dataset using dedup for my vm’s drives, then i knew i could always abandon it, by copying them to a different dataset… work fine for a while… but even tho my vm drives are like less than 60gb and that it was stored on 3 x raidz1 with ssd l2arc and slog and i got 48 gb ram.

after a few months i noticed my iowait was just sky rocketing and nothing i would do seemed to fix it… meanwhile i had sort of forgotten about running dedup on it and most of the vm’s hadn’t actually been used a ton, but one of them had been running a service… nothing that really required a lot of data… like i said there was basically no real amounts of data in the dedup dataset… but it killed my entire server from operating when using anything that was on the dedup dataset and worst was the one that had the most uptime… not sure why… but since the entire dataset could be in memory almost… i don’t really understand how it could go so bad… but it has something to do with how it cross references stuff…

i’m sure there are some kinds of usecases for it… i just don’t know what it’s for… surely not for regular data storage / usage… maybe long term storage?

i was also recommended never to use dedup… never understood why… it sounds so awesome… but it just isn’t viable long term for everyday usage.

compression is awesome on a file system… ofc for
SNO’s both are basically useless because the data is encrypted and most encryption schemes try to make data look random… which is the polar opposite of compression.

dedup you might be able to get something out of… but as i understand erasure coding , which is what storj / storagenodes hold to store the data… then they are all uniquely generated… so they are very unlikely to be the same… in any useful way.

Compression is based on searching of repeatable patterns, not on ā€œmake data looks randomā€ :slight_smile:
The simplest compression algorithm: 222344445555 can be compressed as 23314454
However, the encrypted data almost random numbers and way to hard to find repeatable patterns.
The same problem with deduplication.
However, you can use a deduplication on higher level for VMs, some hypervisors are able to reuse the same basic images for VM, if they based on the same OS.
But again not for the encrypted data, because the duplication is very low.

KSM is a good example of reusing data without much performance loss…
Kernel Shared or Same Memory it will basically use a sort of dedup process and make one able to run 3 times the number of VM’s with the same amount of memory.

according to proxmox documentation, KSM is a linux thing tho i believe…
right now my proxmox has 2gb in KSM which is shared over 4 debian containers and 2 debian vm’s
can’t complain about that, and basically no performance loss… i think they claim there is like 1% or 2%

but outside of ram… dedup is just a bad plan… perhaps on ssd’s but then again it would end up scanning and comparing your data all the time, thus wearing down the ssd… so
would work, but you would really want to have some practical use case for it.

the thing i was alluding to before was zero length encoding, which works… but has nothing to do with the storj data and everything to do with how hdd’s and zfs stores data… not even sure it would work for most other fs.

The NTFS (HPFS at born) has a compression feature since the version 1.1 (1995)

but zfs has variable block / recordsizes… which is why i think reducing a data block will actually save space… which is why i’m unsure if it would work of other filesystems without that feature.

no point in keeping any mostly empty sectors on the hdd.

on windows if you have 4Kn hdd, and you reduce the data from 2kb to 1kb… it will still take up a 4k sector because that’s the smallest it will write.

while zfs should be able to go down to the minimal the hardware allows… ofc if that is 4k then thats 4k … but zfs blocks / recordsizes are much larger … in what is usually the raid range.
most likely because it was build to be raid mostly. :smiley:

but still, it will cut data to length ofc within the hardware limitations, but because of the increased sizes and variable size, it can cut the data blocks very accurately and utilize space very efficiently.

ofc that comes at a cost in other aspects, like say it’s raid is terrible for adding and removing disks to an existing array / pool

zfs is magic and way to complex for me to explain well… just magic! that’s how it works…

Hi,

i’m running 3 nodes on 3 HP Proliant Microserver N40. All of them are used (bought them on Ebay - average price of 90 euros per device), bought new disks, installed Windows 10 and they are running flawlessly for almost 1 year. One of the best things of these devices is that they can hold 4 disks and while running they use 50W per hour.

Cheers,
Tiago

1 Like

i read about WD purple… i mean does it really matters about surveillance disk vs nas disk … i mean …really …

Pretty sure WD just relabeled there drives for both NAS and surveillance. It’s all about marketing it’s like when they add Gaming to there names…

1 Like

from what i understand it sometimes comes down to the algorithms used in the hdd’s control pcb, so what you may be paying for could be that or rated throughput vs length of warranty…
it may very well be the exact same hardware, maybe a better bearing or a few other components maybe a bit more wear proof…

hdd’s are pretty difficult to wear out, in general… so i’m sure a surveillance disk should be fine for most of us…

another thing that just came to mind, is that the nas drives may be rated for different vibrations… and rated to run in series of like say 24 disk without created harmonic dissonances… so really it maybe the same drive that has just gone through a lot more testing… maybe an older series… maybe there are insurance related requirement for surveillance drives which must be met…

there are many various small and big reasons to why some disk’s have a different model definition…
i’m not really that familiar with it all, aside from enough to know that it’s most likely perfectly valid reasons, even if it’s not relevant to those that buy them in many cases.