Hello all,
I am planning to upgrade my home server/nas and I would like to implement ZFS Metadata Special Device.
Currently on my NAS the file size structure looks like this
1k: 128934
2k: 51018
4k: 41406
8k: 30902
16k: 21645
32k: 14579
64k: 13777
128k: 12690
256k: 10106
512k: 17154
1M: 14118
2M: 15163
4M: 72485
8M: 32683
16M: 7574
32M: 1468
64M: 742
128M: 1340
256M: 351
512M: 503
1G: 389
2G: 256
4G: 219
8G: 63
16G: 109
32G: 14
64G: 7
The storage is
NAME STATE READ WRITE CKSUM
nas-storage ONLINE 0 0 0
raidz1-0 ONLINE 0 0 0
sdc ONLINE 0 0 0
sdb ONLINE 0 0 0
sdd ONLINE 0 0 0
cache
nvme0n1 ONLINE 0 0 0
sdb, sdc and sdd are 16Tb Seagate Exos X16
sda(16Tb Seagate Exos X16) will be added as spare
nvme0n1 Samsung SSD 970 EVO Plus 1TB used as cache
ZFS Metadata - 2x1TB mirrored
nvme1n1 Samsung SSD 980 PRO 1TB
nvme2n1 Samsung SSD 980 PRO 1TB
nvme3n1 Samsung SSD 980 PRO 1TB
My goal is to improve the write/read performance over a 10Gbe network keeping the data safety in mind.
My questions are:
- I can add sda as a spare HDD for the pool, does it make sense? Or is better to have 4 HDDs in the pool?
- Considering the file size structure, what do you recommend to use for 1Tb HDD special_small_blocks and zfs_max_recordsize ?
- Can I set zfs set special_small_blocks=128K for folder where I keep large files? For <16M I have 715Gb of data and < 8M I have 596Gb of data.
- For ZFS Metadata I intend to use 2x1TB mirrored. Can I add one more as spare?
Have a great day.
Ion