Mix SATA and NVME SSDs for cache.


Recommended Posts

I dont have a cache yet.
But I see people recommend it.
Some said that it can on paper reduce the HDD wear a little bit because Dockers arent running of the HDDs.
I should get two ones because of parity right?
240GB ones are enough?
Should I look for good SSDs or is any good enough?
Is there any problems mixing a SATA SSD and a NVMe SSD as cache?
I am just considering it because I then the cache would use up 1 less Sata port.

Link to comment

Cache is not part of the parity protected array.  If you want parity like protection in the cache pool, you need at least two cache drives formatted with BTRFS as a RAID 1 mirror.  Actually, you can even have an odd number of cache drives but only half the capacity is available in the cache and the other half is a mirror if you go with RAID 1.  It is not strict RAID 1 but the concept is similar.

 

You can have a single drive in the cache if you wish but it is not protected.

 

You can mix SATA and NVMe drives in a cache pool but you will only get the throughput of the slower SSD drive in a RAID 1 configuration.  THe 6.9.0 beta supports multiple cache pools so if you do not care about redundancy, you can use SSD andd NVMe drives as separate cache pools with different shares assigned to each for different uses.

 

Is 240GB enough?  That depends on how you intend to use the cache drive(s).  As a permanent home for appdata/docker containers?  As a temporary write caching destination? How much data do you write the array each day? If write caching, will it ever be more than 240GB?  Do you want VMs hosted in the cache pool?

 

Figure out how you plan to use the cache and that will help you with the appropriate size of the pool.

 

My main MVMe cache drive is "only" 256GB but I use it as the home for the appdata share and as a temporary download location only, so it is big enough for my needs.

Link to comment
4 minutes ago, Hoopster said:

Cache is not part of the parity protected array.  If you want parity like protection in the cache pool, you need at least two cache drives formatted with BTRFS as a RAID 1 mirror.  Actually, you can even have an odd number of cache drives but only half the capacity is available in the cache and the other half is a mirror if you go with RAID 1.  It is not strict RAID 1 but the concept is similar.

 

You can have a single drive in the cache if you wish but it is not protected.

 

You can mix SATA and NVMe drives in a cache pool but you will only get the throughput of the slower SSD drive in a RAID 1 configuration.  THe 6.9.0 beta supports multiple cache pools so if you do not care about redundancy, you can use SSD andd NVMe drives as separate cache pools with different shares assigned to each for different uses.

 

Is 240GB enough?  That depends on how you intend to use the cache drive(s).  As a permanent home for appdata/docker containers?  As a temporary write caching destination? How much data do you write the array each day? If write caching, will it ever be more than 240GB?  Do you want VMs hosted in the cache pool?

 

Figure out how you plan to use the cache and that will help you with the appropriate size of the pool.

 

My main MVMe cache drive is "only" 256GB but I use it as the home for the appdata share and as a temporary download location only, so it is big enough for my needs.

Appdata/dockers is the priority. Dockers like Nextcloud. (And jellyfin(Emby) (That dont get much usage currently but who knows in the future))
I currently dont have any VMs.
I dont know what the most I would write in a day is but regularly I do not write much.
I should have redundancy on SSDs for Appdata/dockers right?

Speed is not the reason why I would NVMe so I dont care about Sata SSD speed being the limiting factor.

Link to comment
  • 2 weeks later...

In my personal experience, I use two 1tb sata ssds for the array cache (btrfs raid1) and two 1tb nvme ssds as a second cache pool (also btrfs raid1) where I run docker/vms from. This gives me the best performance and redundancy. Note that beta 6.9.0 is required for multiple cache pools.

I used to have a single sata ssd for cache and docker/vm, but I was never comfortable with that setup. One failure could lead to a lot of broken eggs.

Link to comment

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.