I am planning on a build around the 3975 threadripper platform.
My use case is an always on VM workstation. The main VM instances are:
- a Macos desktop (main desktop),
- a docker VM with several containers, mixed use (always on servers),
- a linux VM with security assessment tools (including GPU accelerated tasks),
- a linux forensics VM (with need for the best IO possible on the RAM/DISK)
- a windows 10 vm for desktop document editing / windows desktop software use.
- a backup VM with an group of spinning disk attached
- a NAS VM
Threadripper 3975, 256gb ram, some GPU (Vega64 currently)
My storage plan is to use:
- a single bootable NVME drive for PVE (not sure on formatting options for the disk/volume)
- a 4x NVME gen 4 Asus PCI card with 4x Samsung 980 Pro drives (primary VM storage)
- an array of various spinning disks for bulk storage and backups (mostly 12tb 7200 sata disks)
The main question I have is what advice exists for the configuration of the disks to get the best use of the storage. My current thoughts are:
- boot nvme drive with out of the box configuration using a motherboard m.2 slot, formatted with ext4
- NVME card in a bifurcated PCI x16 slot with the four drives configured in some type of high performant ZFS array
- The forensic VM will be ingesting large files (2tb raw disk images) and parsing them which is extremely IO, RAM and CPU intensive. The reason I need to get good performance from the NVME drives. Maybe I should consider passing through raw disks to this VM?
- Spinning disks in some type of high-availability configuration (RAIDZ-2?)
Other questions include:
- do I need to change the block sizes of the storage devices to optimize their use?
- should I configure a SLOG or ZIL device for the NVME array?
- what type of caching should I configure for the NAS storage array of spinning disks?
Thanks for the help.