I have been running my TrueNAS setup for a while but I am not an admin expert. So in my recent research I discovered that recordsize is very important and this led me to re-look at my VDEVs, Pools and datasets so I could get better performance and be ready to fully get into Apps and Containers, however my knowledge is a little limited here.
MySetup
1 x RAIDZ2 | 4 wide | 931.51 GiB (Rust Drives)
1 x RAIDZ2 | 4 wide | 931.51 GiB (NVME Drives)
But to try and save power, I removed the Rust drives but still have them.
On the NVMe I am running a couple of virtual machines, in particular pfSense and Virtualmin.
Going forward
I will be using a lot of Apps
I probably will use containers in the future
I want a server that runs well but has good data safety.
I don’t have a huge amount of images, films and all that stuff, but I do have some.
Questions
What is the best setup using my current kit?
Are these my 2 best options
2 NVMe drives in a VDEV mirror, 4 Rust drives in a RAIDZ
Have the VMs and Apps regular backed up Rust Drives
The rust drives would also hold all of the large media files
User the 2 spare NVMe for something else
Carry on using my VMs on the RAIDZ2 as is
Put all of my media on the NVMe as well because I do not have that much
If there is any other recommend layouts I would welcome those suggestions or clarification which option above is the best option for me.
If you’re running raidz2 with only 4 drives, data resilience must be your priority. If you’re going to backup your nvme pool to rust pool, you could cut back to raidz1 on both to increase storage capacity or at least on the nvme pool because you will have a backup copy on the rust pool. It’s all based on need.
Your current setup is for minimal down time & high resiliency. The mention of you getting rid of the rust drives says you want to save power, so would you really want to re-integrate them? Default record size of 128 pertty much works for most if not everything unless you are dealing with lots of small files and want to imrove optimization for small files over general use. Performance wise, you nvme are blinding fast, so it wouldn’t even be noticeable.
The Hypervisor has been ignored for a long time and I would agree with you both here. The funny thing it could be a lot better and a massive asset to TrueNAS. I have made the team aware of this.
“Need” is a strong word. Are you really optimizing your App’s databases for thousands of hits per second & want to reduce latency to the lowest point possible as it could impact critical transactions that absolutely can suffer no delay?
Or are we talking about a database that’ll update occasionally when you add a movie or a few dozen photos a day & the recordsize would have almost no reasonable impact? (arguably taking up maybe dozens of additional MiBs in storage space over an eventuality)
If you’re so worried about setting a low recordsize for your apps’ databases you absolutely SHOULD run your apps and VMs on striped mirrors in the first place. Raidz2 with 4k blocks is a terrible idea…
I never said setting my recordsize to the lowest value was the aim.
I understand the smaller the block the larger metadata and overhead.
8k use to be recommended for post free but it is now 32k with lz4 compression.
Tailoring the recordsize to the workload is a consideration, but primarily this thread is about setting up my vdev to match my needs. Recordsize might of been a consideration that why I mentioned it.
The main question, should I put my pool and a striped mirror and if I did should I change the recordsize.