Migrating an existing btrfs RAID5 into ZimaOS without reformatting (findings)

I’ve been experimenting with migrating an existing RAID5 volume into ZimaOS and wanted to share what I found in case it’s useful to others or the devs.

Hardware

  • ASUSTOR AS5404T

  • Existing RAID5

  • btrfs

  • 4 TB usable

  • Migrated drives directly into a ZimaBlade/ZimaOS installation

What worked

The RAID assembles correctly:

/dev/md127

The filesystem is healthy.

The data is intact.

The base subvolume contains all user data.

Mounting:

mount -t btrfs -o subvol=base /dev/md127 /media/asustor

works perfectly.

The Files application can browse everything normally.

Storage statistics also report correctly:

  • ~3.99 TB

  • ~970 GB used

What didn’t work

Out of the box, ZimaOS couldn’t discover the existing volume correctly.

The Files app originally reported:

The target path is unavailable because its storage is not mounted.

The RAID also appeared in Settings as:

RAID5 Missed

even though:

  • mdadm reports the array healthy

  • Btrfs is healthy

  • all data is accessible

What I had to change

I updated the local-storage database so the RAID mount point matched the mounted filesystem.

I then mounted the Btrfs base subvolume and restarted the storage/files services.

After that:

  • Files works correctly

  • Storage capacity is reported correctly

  • Existing data is accessible

The only remaining issue is that Settings still reports “RAID5 Missed”, even though the array is functioning normally.

The API currently reports:

devices: []
raid_status: "urge"

which seems to be what drives the warning.

Question

Is native support for importing existing ASUSTOR Btrfs RAID arrays planned?

It feels like ZimaOS is already 95% of the way there—the remaining issue appears to be RAID discovery/metadata rather than filesystem compatibility.

Well you kind of mixing two different RAID 5/6 types since Btrfs is virtual media.

That is why mdadm reports no volumes because you don’t have physical partitions in an array and only virtual software ones from Btrfs.

Hey thanks for taking a look. I may not have explained the original layout clearly. This array was created by asustor adm and is an mdadm raid5 with a btrfs filesystem on top.

mdadm --detail /dev/md125 reports:

  • RAID5

  • 3 active devices

  • clean state

  • MD_NAME=Delphi:1

I can mount the btrfs base subvolume manually and all data is intact so the filesystem itself appears healthy.

The issue seems to be that zima isn’t recognizing or assembling the existing array the same way adm did, so its storage service marks the raid as missing. Have you seen zima os successfully import an existing asustor mdadm+btrfs array without reformatting?