SSD Configuration recommendation for "App/VM Only" server


4 posts in this topic Last Reply

Recommended Posts

Hi all, i'm building my second UNRaid server separate from my existing fileserver that'll basically only exist to run applications, both docker and VM.  (Two windows VMs, and the usual "plex stack" on the docker side.  It's currently running with just a single internal 500gb spinning disk, and i'm weighing options to speed it up as i appear particluarly I/O bound.  

 

I'm planning on buying 2 500gb SSDs, and i'm looking for the best way to configure the three drives.  I was thinking of leaving the one 500gb as the "array" (with no parity) and using the two SSDs as a cache pool, then setting the VM and Docker stores to be "cache only".  Is this the best way to go, or is there an easy way at this point to run an "all flash" array?  (Some googling lead me to some threads saying this isn't really possible at the moment.)

 

Thanks in advance for any advice you all can give!

Link to post

Yoiu can have 1x 500GB as cache and mount the other as unassigned device.

That way you can separate write-heavy data (e.g. your download temp files). That will improve the lifespan of both SSDs.

Link to post

Interesting.  What would go on the unassigned device?  the VM files, or the dockers?  Logistically, does it make a difference, so long as they're separate?  Alternatively, should i divvy up the "downloader" dockers on the one SSD and keep all of the "static" dockers on the other?  Just trying to figure out the best path forward, thanks again for the advice :)

Edited by jfeeser
Link to post
5 minutes ago, jfeeser said:

Interesting.  What would go on the unassigned device?  the VM files, or the dockers?  Logistically, does it make a difference, so long as they're separate?  Alternatively, should i divvy up the "downloader" dockers on the one SSD and keep all of the "static" dockers on the other?  Just trying to figure out the best path forward, thanks again for the advice :)

It's not that.

 

It's about keeping the SSD that is used for write heavy activities as empty as possible by keeping relatively more static data on the other SSD.

You basically keep almost everything on 1 SSD and leave the other basically empty for heavy write activities.

 

Write heavy would be something like downloading a 10GB Ubuntu iso using torrent.

That is 10GB of the archive + overheads + 10GB extracted iso. Just 25 iso files equal one write cycle on your 500GB SSD.

If half of your SSD contains static data, only half can be used for write, which means that half receives TWO write cycles.

Depending on the controller, wear leveling may kick in eventually, moving static data out of the more pristine cells to level the wear. That leads to write magnification, which further reduces lifespan of SSD beyond the actual write need.

 

So you can see it's nothing to do with the torrent docker itself, it's all those iso files that the docker writes to the SSD that you need to keep separated.

For your usage, I would keep VM vdisks, docker image, docker appdata, libvirt etc all on cache. But the "incomplete" and "download" and stuff like that will be mapped to the unassigned SSD.

Link to post

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.