Would a L2ARC be usefull for a "home system"?

Casvt

Dabbler
Joined
Aug 15, 2021
Messages
15
Hey there,
I am planning on building a computer which will be acting as a server with TrueNAS Core. It will have 16GB of RAM (though it will run 3 plugins and a vm with 14 services, so it won't be able to use the complete 16GB for ARC). I'll be having two 2TB HDD's in a mirror setup. There will be 200-400GB of pictures, video's etc. The rest is for my brother and mother to use as a backup/"cloud storage". They access their dataset through a vpn and will have access to each their own dataset (but everything at the end is on the mirror).

My internet connection to the outside is 38Mbps down and 8Mbps up. My mother will have simple files of small size (e.g. excel/word files, simple pictures), but will use her share for hours on end. My brother will write big files (10-40GB a piece, files are mostly 3d models) in bulk and then use them. So:
  • General: Pictures and video's mostly for archiving. It's safer on a mirror than on a random usb stick somewhere in the house. Small random read and write.
  • Mother: small random write and pretty long (as in time; 1-4 hours) read of mostly same batch of files.
  • Brother: big random write (probably once every few days; 10-40gb per file) and small read.
I'm not really sure if a L2ARC (probably a m.2; 256/512GB) would be useful in the case. It probably would not be for my mother, as she only uses small files that are small enough to be stored in ARC. And my brother writes a lot but doesn't read much, so the L2ARC also wouldn't be much of use for him (because as far as I understand, L2ARC is useful for read, not really for write). So I think that a L2ARC wouldn't really be useful in my case, but is there maybe an other way to improve performance?

Eventually if the 2TB isn't enough anymore (maybe that never happens, than I won't do this ->), I'll install two more 2TB drives in a mirror and setup a striped vdev (RAID 10 but I know that isn't correct terminology). That would improve random read and write, but is there a better way? Or is the simple answer to just install 32GB or RAM instead of 16GB, basically increasing the ARC?

Right now (or well, when I've ordered the parts and build the computer), it would just be two 5200rpm HDD's in a mirror. I have redundancy, now I want performance. What would be the best move to improve that?
 

Spearfoot

He of the long foot
Moderator
Joined
May 13, 2015
Messages
2,478
Eventually if the 2TB isn't enough anymore (maybe that never happens, than I won't do this ->), I'll install two more 2TB drives in a mirror and setup a striped vdev (RAID 10 but I know that isn't correct terminology). That would improve random read and write, but is there a better way?
You can expand your original mirrored pool by adding another mirror vdev. This will improve performance, and is easy to do.
Or is the simple answer to just install 32GB or RAM instead of 16GB, basically increasing the ARC?
Add the RAM first: RAM is faster, and the general rule of thumb is to add maximum RAM to a system before considering an L2ARC device. Also, there is memory overhead in using an L2ARC so adding one to a system with low RAM can actually hurt performance.

Most home users don't gain any benefit from an L2ARC; they're more appropriate for an enterprise system serving dozens or hundreds of users.
 

Casvt

Dabbler
Joined
Aug 15, 2021
Messages
15
Thanks for replying! I too think that the best solution will be to increase the RAM to 32GB. If it comes to the point that the 2TB won't be enough, I'll probably indeed set it up as a striped vdev.
Side-question:
In this post, "Arwen" tells how he had to option to setup a striped vdev ("Raid 10") or a RAID-Z2 with his 4 discs. I will have my two discs setup in a mirror. If I buy two more discs, what he is saying would suggest that it would be smarter for me to set the then four discs up as a RAID-Z2 instead of a striped vdev. This because in a RAID-Z2, you can loose any two drives, while in a striped vdev, you can only loose the two drives that aren't in the same vdev. If I have two drives setup in a mirror, is it possible to, without loosing/moving the data on the mirror, change/increase the pool to a RAID-Z2? If not, how do you deal with the data on the mirror? I don't casually have an extra 2TB drive laying around that I can temporarily move the files to...
 

sretalla

Powered by Neutrality
Moderator
Joined
Jan 1, 2016
Messages
9,703
If I have two drives setup in a mirror, is it possible to, without loosing/moving the data on the mirror, change/increase the pool to a RAID-Z2? If not, how do you deal with the data on the mirror? I don't casually have an extra 2TB drive laying around that I can temporarily move the files to...
You can do that, but it's not for beginners... it involves splitting your mirror, keeping 1 drive, creating a degraded RAIDZ2 pool of 4 disks (with one disk missing), copying the data over, then destroying the original disk/pool and adding it to replace the "missing" (never actually there) drive in the RAIDZ2 (renaming the new pool the same as the old one to minimize disruption at the end).

If you're interested in doing it we can probably work through the steps for you.
 

danb35

Hall of Famer
Joined
Aug 16, 2011
Messages
15,504
we can probably work through the steps for you.
Most of them are already documented:
 

Spearfoot

He of the long foot
Moderator
Joined
May 13, 2015
Messages
2,478
Thanks for replying! I too think that the best solution will be to increase the RAM to 32GB. If it comes to the point that the 2TB won't be enough, I'll probably indeed set it up as a striped vdev.
Side-question:
In this post, "Arwen" tells how he had to option to setup a striped vdev ("Raid 10") or a RAID-Z2 with his 4 discs. I will have my two discs setup in a mirror. If I buy two more discs, what he is saying would suggest that it would be smarter for me to set the then four discs up as a RAID-Z2 instead of a striped vdev. This because in a RAID-Z2, you can loose any two drives, while in a striped vdev, you can only loose the two drives that aren't in the same vdev. If I have two drives setup in a mirror, is it possible to, without loosing/moving the data on the mirror, change/increase the pool to a RAID-Z2? If not, how do you deal with the data on the mirror? I don't casually have an extra 2TB drive laying around that I can temporarily move the files to...
You're very welcome!

Yes, the Lady Arwen was describing how 4 disks in a RAIDZ2 setup is safer than a 4 disks set up as mirrors, and she's absolutely right: with RAIDZ2, you can lose any 2 disks. With a pair of mirrored vdevs, you can lose 2 disks, too, as long as they're not in the same vdev -- because when you lose a vdev, you lose the entire pool!

The trade-off for safety is performance: a pool with 2 mirrored vdevs will have (slightly) better performance than a pool with a single RAIDZ2 vdev.

The user in that thread was lucky, and was able to recover his pool -- he'd replaced the wrong disk in a mirror set.
 
Top