Add 2x 2TB nVME drives to an existing HDD or

I used FreeNAS a long time ago (2014) so I consider myself quite a n00b to TrueNAS, but I’m used to Linux, so Debian is not a stranger for me, but please holster your weaponry as I may say things that will raise some eyebrows, maight have been asked a gazillion times… so LoL

I have my main pool on RAIDZ1 on 5x 2TB spinning HDDs and I go two HP 2TB nVME drives which I added using PCIe 8x cards.

I want to know if it’d be a good idea to add those drives to my main pool or should I create a new pool with them?.

My system is a basic home storage NAS with only Jellyfin and qBitorrent and it’s my storage base for Proxmox which runs Nextcloud+collabora.

The ask:

  • What can I do with those drives.
  • I don’t want to “waste” on spare or the options whre they are not storage.

Any suggestions or clarifications will be greatly appreciated.

The pool is limited to the speed of the slowest member.
So you want to create a new pool in a mirror config with your 2 NVMEs. Use it for apps and/or VMs, or simply as a fast pool.

2 Likes

Hey @Farout , thanks for your suggestion, VMs, yes Sir. thoough I’ve been kinda unlucky with VMs on TNS, but I’ll give it another shot now the I upgraded to EE.

Cheers

There are several issues.

  1. Adding the 2 x 2TB NVMe drives as additional columns to your existing RAID-Z1 may not work. If the 2TB NVMe drives are 1 byte smaller than the 2TB HD drives, ZFS RAID-Zx expansion won’t work.
  2. Going from 5 disk RAID-Z1 to 7 disk RAID-Z1 could be problematic. It is generally not a good idea to use single parity with disks >=2TB. If you have good backups, well, it’s your risk.
  3. Last, ZFS is not as flexible as some other volume manager and RAID schemes. Planning ahead is always better than trying to “fix” or “add” at a later date.

As has been pointed out, a RAID-Zx vDev is only as fast as its slowest device. Adding a NVMe drive won’t improve speed noticeably.


Now to clarify item 2 and large disk with single parity issue. Many people don't care or believe that their is an issue with larger disks in a single parity RAID setup, (RAID-5 or RAID-Z1). That's fine, and in general, pretty rare problem.

Basically during disk replacement, statistical error rates indicate a probable read error on the working source disks. If this occurs, data loss is certain since there is no additional source of redundancy.

ZFS does help somewhat with the above issue 2 ways:

  1. If the read error occurs in Metadata or Critical Metadata, the default is to have additional copies that can be used. The bad block can then be “fixed” by ZFS.
  2. If the read error occurs in a data file, only that file needs to be restored from backups. Further, the pool can stay usable during this restore.
1 Like

Thank you for the thorough explanation, so just as some n00b questions, if I may:

  • Should I get a couple of those spinning HDDs and add to my main pool?, I am not clear on the kind of vDEv I should use?.
  • Should I therefor create a mirror on those new nvmes, a 2TB mirror?.
  • I don’t wna to use them for apps as my main TNS drive is already an nVME 1TB stick.

Regards

Depends.

Do you need more space in your 5 disk pool?

ZFS prefers to have regular vDevs. Further, best practices suggest any additional vDevs have the same or better level of redundancy.

In theory, a 2 way Mirror vDev added to your 5 HDD RAID-Z1 vDev would have the same level of redundancy, loss of 1 disk per vDev maximum. But, mixing RAID-Zx and Mirror vDevs is somewhat discouraged.

The except is a Special Metadata vDev Mirror on a RAID-Zx pool. However, that adds complexity that many home users don’t need.

Probably.

Yes, using larger disks, (spinning or solid state), is a bit of a waste for boot drives with TrueNAS. Even something as small as 16GB or 32GB is fine.

This all depends on what your goal is. Adding 2 new 2TB storage, (HDD or NVMe), to your RAID-Z1 vDev is doable if you need more space.

Practically speaking, a 6 or 7 disk RAID-Z2 vDev can be a better long term change. That is because you can replace all the 2TB disks with larger ones, (1 disk at a time), to grow the pool’s size.

But, it is back to what you need or what.

1 Like

I would definately suggest creating a new “fast” pool using a mirror of the 2 NVMe drives.

Use that for VMs, apps, and anything else you want, but mixing the SSDs with the HDs would result in wasting the performance of the new drives IMO.

Thanks @Arwen

Sorry I’m new to the platform so do not know how to quote properly,

I went for the fast pool to use as Proxmox image storage, now I need a better proxmox though.

Now another question rises “Cna I extend that simple 2x 2TB mirror”, which I think I cannot.

Practically speaking, a 6 or 7 disk RAID-Z2 vDev can be a better long term change. That is because you can replace all the 2TB disks with larger ones, (1 disk at a time), to grow the pool’s size.

So basically what you mean is that I could get larger HDDs and add them one by one to my main pool and then extend it?, I didn’t know that was possible.

I also wanted to add to this that my motherboard the Asus Sabretooth Z77 has 4 6B SATA ports and 4 3GB ones, I did connect my five drives to 4 of the fast ones and one to the 3GB so I guess my speeds come down to the slowest bus. Another question is can I use those SATA to nVME adapters, even though I know many people hate those. I ask this becaue the two nvmes are on two separate PCIe cards (this), so is thaat better than SATA to nvme?. My mobo does not have bifurcation (~2012-2014) so I had to go this path.

Finally my pool was initially 6 drives (before rebuilding TNS) and I created a new one with just 5 drives left, can I add another drive for data or parity to the existing pool RAIDZ1? as my original question said?.

Many thanks and sorry if my question got a bt convoluted there.

Yes, of course. Their are 2 methods;

  1. Replace the disks 1 at a time, with large disks. Whence both are replaced, you have a larger ZFS vDev, (or pool if you only have the 1 vDev).
  2. Add a second pair of disks for another ZFS vDev, (does not have to be 2TB, could be 4TB or 20TB). This new ZFS vDev would be in the same pool as the 2 x 2TB Mirrored. Thus, you would end up with 2, 2 way Mirrors, somewhat like RAID-10.

The wording you use is a bit odd, “add them one by one”. A better wording would be:

Get larger HDDs, and replace the existing HDDs one by one. Then when the last is completely synced up, the vDev grows based on the new HDDs space.

I can’t really answer the rest.