Hardware - guydavis/machinaris GitHub Wiki
Temporary Plotting Space
Ram Disk for Madmax Plotting
Unraid Ram Disk
Open Unraid terminal window, type the following
mkdir /mnt/ram
mount -t tmpfs -o size=115G tmpfs /mnt/ramdisk
Add path into your Machinaris setup as a Volume mount:
- Host Path: /mnt/ramdisk
- Container Path: /ramdisk
Then on the Settings | Plotting page of Machinaris, uncomment 'directories => tmp2' and use the in-container path (/ramdisk).
RAID-0 to Combine SSDs
RAID-0 for Unraid
Unraid offers a Cache Pool to speed up writes to the Arrays. I would not recommend using your primary Cache Pool for temporary plotting space as it will contend will your other's Applications (Plex, ...). Instead, you can add dedicated SSDs into another Cache Pool, specifically for Temp plotting. This Cache Pool can be a RAID-0 brtfs mount, using striping for faster writes.
First off, install your temporary plotting SSDs into your Unraid server and start it up. You should see 2 or more SSDs appear under the Unassigned Devices section. With your array stopped, use the Unraid UI to create a new Cache Pool, call it 'temp' or similar. Assign both your new SSD drives to this new cache pool.
Initially, Unraid will place the SSDs into RAID-1 for redundancy so the new temp volume will look half the size of the combined drives. To change to a RAID-0 drive, go to the Unraid Console and issue the following, assuming the pool is mounted at '/mnt/temp':
btrfs balance start -dconvert=raid0 -mconvert=raid1 /mnt/temp
Once converted, you should see the cache pool showing the full combined size of your SSDs. Here's an example from my system:
Note, the top pool is my smaller pair of consumer SSDs handling regular appdata etc for Unraid. The second pool named 'Temp' is my pair of high-endurance SSDs in RAID-0. This appears as '/mnt/temp' on my Unraid system, which I mount in Machinaris at the in-container '/plotting' mountpoint.
RAID-0 for Windows
Given a pair of high-endurance SSDs, you can use Windows Storage Spaces to create combined volume in a RAID-0 (striped) format to use for temporary plotting space. Once the drives are in your system, open the Storage Spaces control panel and chose 'Create a new pool and storage space'. Chose 'Simple' (aka No Resiliency) to get RAID-0, which means full space of all drives is available.
I've got this combined volume mounted as my T: drive, which is then mapped into the Machinaris container at the in-container path of '/plotting'.
RAID-O for Linux
Haven't tried this, but sounds like mdadm is the way-to-go here. Looks like command would be:
mdadm --create /dev/md0 --verbose --level=stripe devices=2 /dev/nvme0n1p1 /dev/nvme1n1p1
Format and mount the RAID disk and connect the single combined (full-size) drive into Machinaris docker container like this: -v '/mnt/md0':'/plotting':'rw'
Final Farming Drives
Virtual Drive for Unraid
Consider using a Pool of devices. This is separate from your main Cache Pool (SSDs likely) and from the main Unraid Array (parity redundancy). For Chia final plot storage you don't want SSDs or redundancy.
Virtual Drive for Windows
See Storage Spaces as outlined above.
Virtual Drive for Linux
Check out mergerfs as a way of combining multiple drives into a large virtual device.