Migrating ZFS to Unraid


Recommended Posts

Hello! 

 

I currently have a Debian server which is working great, but Unraid seems like an "easy button" solution to self hosting a lot of other apps and services which appeals to me. 

 

My server has 4 drives in a ZFS Pool that look like: 

 

        NAME                                   STATE     READ WRITE CKSUM
        storage                                ONLINE       0     0     0
          mirror-1                             ONLINE       0     0     0
            ata-ST8000VN004-2M2101_WSD48W3X    ONLINE       0     0     0
            ata-ST8000VN004-2M2101_WSD2JDEZ    ONLINE       0     0     0
          mirror-2                             ONLINE       0     0     0
            ata-ST16000NM000J-2TW103_ZR60Y8BQ  ONLINE       0     0     0
            ata-ST16000NM000J-2TW103_ZR59R39E  ONLINE       0     0     0

 

So two 8tb disks in a mirror and two 16tb disks in a mirror to form one pool. 

 

Can I import this into Unraid and use this as my main array? I notice that one of the focuses of 6.12 but honestly I am very new to Unraid and just curious if this worth perusing. Currently I have around 14tb of data so it would be a huge hassle to back that up somewhere. 

 

I'd also like to run VMs, Jellyfin, and other docker sevices on Unraid, I assume i'll need some NVME drives in the mix as cache drives(?). 

Link to comment
39 minutes ago, spooknik said:

Can I import this into Unraid and use this as my main array?

No, you can't.

The main Array in unraid is a different concept, hence the name "unRaid". Each disk in the Array is formatted individually, no raid, no striping....each file willl always reside fully on a single disk. This concept is applied independent of the filesystem used. Redundany can be achieved by deploying up to two parity disks.

 

However, with v6.12 you can (should be able to) import a zfs pool into an unraid pool (or "primary storage" as now the naming of this "unraid pool"-concept has changed)....but I personally never tried that.

 

45 minutes ago, spooknik said:

I'd also like to run VMs, Jellyfin, and other docker sevices on Unraid, I assume i'll need some NVME drives in the mix as cache drives(?). 

Yes, that is advisable / best practice....also it is recommended to use some sort of redundancy, like a zfs mirror or btrfs raid1 with this, hence using two NVME devices (best made of same size, technology (PCIe- or SATA-SSD) and model).

Link to comment
11 hours ago, Ford Prefect said:

No, you can't.

The main Array in unraid is a different concept, hence the name "unRaid". Each disk in the Array is formatted individually, no raid, no striping....each file willl always reside fully on a single disk. This concept is applied independent of the filesystem used. Redundany can be achieved by deploying up to two parity disks.

 

However, with v6.12 you can (should be able to) import a zfs pool into an unraid pool (or "primary storage" as now the naming of this "unraid pool"-concept has changed)....but I personally never tried that.

 

Thanks for the info 👍

 

I suppose once 6.12 is released, I can just boot up a USB and try it out and see what the import will try to do. It should be non-destructive up to a point. 

How does Unraid's implementation of ZFS work then if there is no striping on the file system level. I mean, how does the "self healing" take place if there is no parity? I'm trying to read my way through 6.12RC patch notes and not getting the full picture. 

 

11 hours ago, Ford Prefect said:

Yes, that is advisable / best practice....also it is recommended to use some sort of redundancy, like a zfs mirror or btrfs raid1 with this, hence using two NVME devices (best made of same size, technology (PCIe- or SATA-SSD) and model).

 

My plan was to run two Samsung 1tb NVME drives , I think that should cover my use case. 

 

Edit: These notes give some info about ZFS, it looks like you can make mirrors and so forth, but can you do that and use it as the primary storage?

Edited by spooknik
Link to comment
2 hours ago, spooknik said:

I suppose once 6.12 is released, I can just boot up a USB and try it out and see what the import will try to do.

You can, just need to have a least one array data device assigned, it can be a spare flash drive.

 

Your pool should import fine, but if it doesn't it won't be damaged, note that the pool must be exported first.

 

2 hours ago, spooknik said:

How does Unraid's implementation of ZFS work then if there is no striping on the file system level. I mean, how does the "self healing" take place if there is no parity?

With Unraid you can use zfs with array or pools, for the array and since each disk is a single filesystem it can detect corruption but not self-heal, for pools it works like any other zfs pools, it just depends on if the pool has redundancy to be able to self-heal.

 

 

Link to comment
10 hours ago, spooknik said:

I mean, how does the "self healing" take place if there is no parity?

In the unraid Array, parity is optional ... it is not dependant on the filesystem used, but works on disk block-level. Hence the parity must always be the largest drive in the array.

 

See here: 

 

 

 

10 hours ago, spooknik said:

My plan was to run two Samsung 1tb NVME drives , I think that should cover my use case. 

Yes, it does.

 

10 hours ago, spooknik said:

I suppose once 6.12 is released, I can just boot up a USB and try it out and see what the import will try to do.

you can do so just now, with the current release candiate.

 

Link to comment
5 hours ago, JorgeB said:

You can, just need to have a least one array data device assigned, it can be a spare flash drive.

 

Your pool should import fine, but if it doesn't it won't be damaged, note that the pool must be exported first.

 

 Nice, i'll just give it a shot then when 6.12 is stable released. Also great reminder about exporting first, made that mistake once. 

 

5 hours ago, JorgeB said:

With Unraid you can use zfs with array or pools, for the array and since each disk is a single filesystem it can detect corruption but not self-heal, for pools it works like any other zfs pools, it just depends on if the pool has redundancy to be able to self-heal.

 

 

 

Okay, that makes senses. But basically since my existing ZFS pool is two sets of two mirrored drives, the self-heal will carry over.

Link to comment
34 minutes ago, Ford Prefect said:

In the unraid Array, parity is optional ... it is not dependant on the filesystem used, but works on disk block-level. Hence the parity must always be the largest drive in the array.

 

See here: 

Thanks, I'll give it a watch. I need to dive into the fundaments of how Unraid works. 

 

35 minutes ago, Ford Prefect said:

 

you can do so just now, with the current release candiate.

 

Yes, I know, but i'm not the type that likes to try out RCs until they are stable builds 😅 I am currently waiting for parts for my server build, so no rush on my end. 

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.