I am running a TrueNAS Scale for my fileserver needs. It is an old desktop machine with the following configuration:
ASUS Z97 Motherboard
- 1 m.2 slot + 6 SATA ports (not sure all 7 can be used at the same time)
- Realtek onboard 1000base-T NIC
Intel i5-4440
12 GBs of RAM (2 x 2 GB + 2 x 4 GB)
500 GB SSD Bootdisk
ZPOOL:
fatagnus - mirror-0
- 2 x 3TB 3.5" HDD
- mirror-1
- 2 x 4TB 3.5" HDD
Datasets:
- home
- isos
- media
- vmdata
The pool is currently at 95.3 % utilization (I know - even TrueNAS is complaining)
I have two proxmox boxes running currently only LXD containers but they will also be running VMs in the future. Storage for said containers and VMs are/will be this TrueNAS box.
What would be a good upgrade path here, both with regard to hardware and pool design?
With sound advice from @mercenary_sysadmin in another thread I have an LSI 9300-8i HBA on order - it should hit my doorstep on in a few days.
I have a 4 TB 2.5" HDD and an 8 TB 3.5" HDD. The 4 TB 2.5" is most likely an SMR-drive so might give performance issue mixed with non-SMR drives I guess?
Upgrade step 1:
When the HBA arrives: install it
My plan is to get a (used) 8+ TB drive to setup in a mirror with the 8 TB drive I have already and copy all the data from the current ZPool over. I am debating whether to do a ZFS Send/Receive locally versus creating the datasets on the destination pool and rsync the files. The first is faster and easier both preparation and execution wise and will preserve snapshots - the latter will be slower, will loose snapshots but will allow me to create sub-datasets. This zpool will - no matter the path - be a temporary placeholder pool for the data. The 8TB HDD and the 8+ TB HDD will be connected to HBA - the remaining drives connected to on-board SATA controller.
Step 2:
Move the 4 3.5" HDDs to the HBA together with the 4 TB 2.5" HDD and possibly a used 6+ TB 3.5" HDD and set them up in a RaidZ 2 pool. Move the data from the temporary pool to the new RaidZ2 pool.
Dependant upon whether I can get a 6+ TB used for a reasonable price, the new pool with be either a 5 disk RaidZ2 pool with 9 TBs of storage or a 6 disk RaidZ pool with 12 TBs of storage.
Step 3:
If getting a 6+ TB HDD:
Replace the smallest drive in the pool (3TB) with the smallest of the 6+TB or 8 TB drive and let resilver. Then replace the remaining 3 TB drive with the other drive and let resilver. finally autoexpand to provide now 12 TBs of storage. Final configuration: 1x 8 TB + 1x 6+ TB + 2x 4TB 3.5" + 1x 4TB 2.5" + 1x 3 TB
If not getting a 6+ TB HDD:
RaidZ2 pool is currently a 5 disk array - extend it with the 8 TB drive to provide 12 TBs of storage. Final configuration: 1x 8 TB + 2x 4TB 3.5" + 1x 4TB 2.5" + 2x 3 TB.
How can I improve my setup from here, apart from adding more TBs of storage through bigger drives? From what I read, L2ARC run from one or more SSDs might not add any speed? Adding a Metadata/smallblocks VDEV would require at least a 2-way mirror, as loosing it would mean loosing the pool.
For me 3 main areas would be of interest, currently:
- Add more RAM to allow for more ARC space
- Set up an SSD based, mirrored zpool for vmdata
- Add NICs to increase network bandwidth
Ad 1) More RAM
This Mainboard is upgradable to 4 x 8 GB DDR3 - beyond that needs a newer generation CPU/Mainboard that likely would also bring more PCIe lanes and faster memory (DDR4/DDR5) and PCIe lane speed (PCIe 4.0/PCIe 5.0). And with the right CPU same or maybe even lower power draw.
Ad 2) SSD based pool for vmdata
This will probably speed up both IOps and throughput - may be limited practically by network bandwidth
Ad 3) Add NICs
I am planning to add dual SFP+ NICs to both the TrueNAS machine and one of the Proxmox boxes. The more powerful of the two Proxmox boxes is a Lenovo Tiny, so SFP+/ 10GBit Base-T is out of reach, but an additional 2.5 Base-T might be possible through an A+E key M.2 slot.
Currently I only have Gbit networking, but a DAC SFP+ cable from TrueNAS to one Proxmox and an SFP+ RJ-45 transciever and the above mentioned M.2 2.5 Base-T NIC would be a temporary solution, before getting something like the Mikrotrik CRS309-1G-8S+IN switch as the core switch.
I dont have any ZFS tweaking/tuning experience, could anybody advice on that as well as the pros and cons of the above, perhaps with a prioritised list of upgrades?