Is there a downside of using RAID 1 on Btrfs with 2 different, but same-size drives?

I have a 20TB IronWolf Pro on my NAS, and I found a 20TB WD Red Pro on sale.

Is there something I need to be aware of with that setup?

I don’t believe so, of course performance will be determined by the slower of the two drives.

Btrfs raid1 does not really do ‘mirroring’, it will simply ensure to store each block twice on separate disks.

it should still allow read speeds to increase and help with redundancy in case 1 of them fails, right?

Also, I’m reading the docs, and I’m trying to find out how do I mount both the RAID block device and subvolumes. Do I keep the current setup?

In my case:

## IronWolf Pro 20TB
UUID=a7afdaf6-9b3e-4e00-adcf-1d50bbc2e515       /media/DATA/SHARED      btrfs   defaults,subvol=@media  0       2

I read in this older doc that they put /dev/sdb in there, but what if I change mobos? How should the RAID device be mounted or is it outdated?

Other articles, like this seems to just mention mounting it normally, which makes me think I can leave it as is when RAID 1 is up and running.

I would say it is your best chance of the drives not failing from natural causes at the same time :wink:

My new system will run Toshiba, Seagate and WD along side.

3 Likes

Yes, the mounting should still work the same. Since you mount using uuid, there is no chance of issues changing ports/mobo/… since none of that changes the uuid.

I assume you will add the second drive to the existing btrfs filesystem (btrfs device add)? In that case mounting stays the same, since the second drive will be part of the same already existing fs.

For the same reason though one should take care cloning btrfs partitions or disks, since there can be uuid collisions then with bad consequences (btrfs gets confused over which device is which).

I’m not sure what you mean by mounting „block device“ though. In btrfs any mount is mounting a subvolume. (The root subvolume with id 5 also being a subvolume)

1 Like

I may have been confusing it as this was in the guide:

Registration in /etc/fstab

If you don’t have an initrd, or your initrd doesn’t perform a btrfs device scan, you can still mount a multi-volume btrfs filesystem by passing all the devices in the filesystem explicitly to the mount command. A suitable /etc/fstab entry would be:

/dev/sdb /mnt btrfs device=/dev/sdb,device=/dev/sdc,device=/dev/sdd,device=/dev/sde 0 0

Right, I don’t think this applies unless you have an extremely old distro or a very weird custom setup. Mounting by uuid is the right way on any case.

2 Likes

Thanks so much! I got both of my drives and I’ve started balancing them :slight_smile:

1 Like

I have 14 bay RAID6 btrfs array that I’m using for years now and it has 8x SG NAS/IronWolf + 6x WD Red that I got for free. It plows. In matter of fact some of those drives are connected over SATA II and some over SATA III. So it’s full mishmash of everything. And btrfs works just fine.

In fact btrfs is also just fine with different devices that are NOT the same size. I have another RAID6 btrfs array made of external usb WD Elements drives (it’s offsite ultra-disaster recovery doomsday backup of backup of backup storage) and it has mixed sizes of devices and it still uses them as much as it can.

There’s actually calculator that will tell you how btrfs is gonna behave when you load it with different sized devices. It’s really neat. Basically it will create smaller RAIDs internally and performance will slowly degrade with filling up array, as the more full it will be the fewer devices will hold stripes xD

This is my setup:

https://carfax.org.uk/btrfs-usage/?c=1&slo=1&shi=100&p=2&dg=1&d=8000&d=8000&d=8000&d=8000&d=6000&d=6000&d=5000

These is the output of my setup with my 2 sets of drives:

12TB:

$ btrfs filesystem df /media/DATA/nextcloud 
Data, single: total=815.01GiB, used=789.99GiB
Data, RAID1: total=346.00GiB, used=342.58GiB
System, RAID1: total=32.00MiB, used=112.00KiB
System, DUP: total=8.00MiB, used=80.00KiB
Metadata, RAID1: total=2.00GiB, used=700.88MiB
Metadata, DUP: total=1.00GiB, used=815.95MiB
GlobalReserve, single: total=512.00MiB, used=0.00B
WARNING: Multiple block group profiles detected, see 'man btrfs(5)'
WARNING:    Data: single, raid1
WARNING:    Metadata: raid1, dup
WARNING:    System: raid1, dup

20TB:

$ btrfs filesystem df /media/DATA/SHARED 
Data, single: total=10.54TiB, used=10.42TiB
Data, RAID1: total=1.09TiB, used=1.07TiB
System, RAID1: total=32.00MiB, used=224.00KiB
System, DUP: total=8.00MiB, used=1.09MiB
Metadata, RAID1: total=2.00GiB, used=1.18GiB
Metadata, DUP: total=11.00GiB, used=10.63GiB
GlobalReserve, single: total=512.00MiB, used=0.00B
WARNING: Multiple block group profiles detected, see 'man btrfs(5)'
WARNING:    Data: single, raid1
WARNING:    Metadata: raid1, dup
WARNING:    System: raid1, dup

Is this right? My data seems to be just in single mode.

Thought non-RAID1/0/10 aren’t considered stable in Btrfs?

Yea, most of the data is on single. I’d guess you didn’t let the balance finish. It will go to the background, unless you use the foreground argument. Perhaps you rebooted before it was finished?

Start the balance again, perhaps in foreground mode. Or make sure to check balance status to make sure it has finished.

Ohno.

Anyways…

XD

Mixing a 20TB Seagate IronWolf Pro with a 20TB WD Red Pro in your NAS should work fine since both drives are built for NAS environments. However, you may notice slight differences in performance due to firmware variations, especially if they’re part of the same RAID array. Keep an eye on heat and vibration levels, as different models can behave differently. Most modern RAID systems can handle mixed brands, but identical drives may perform better in some cases. Also, be aware that warranty and support will vary between Seagate and WD. If these points aren’t an issue, your setup should work without problems.

I tried to run it again today with

btrfs balance start /mnt/disks/disk-12TB --background

I checked back within 30min,

$ sudo btrfs balance status /mnt/disks/disk-12TB/
No balance found on '/mnt/disks/disk-12TB/'
$ btrfs filesystem df /mnt/nextcloud 
Data, single: total=815.01GiB, used=789.65GiB
Data, RAID1: total=444.00GiB, used=438.19GiB
System, RAID1: total=32.00MiB, used=128.00KiB
System, DUP: total=8.00MiB, used=80.00KiB
Metadata, RAID1: total=2.00GiB, used=843.19MiB
Metadata, DUP: total=1.00GiB, used=810.12MiB
GlobalReserve, single: total=512.00MiB, used=0.00B
WARNING: Multiple block group profiles detected, see 'man btrfs(5)'
WARNING:    Data: single, raid1
WARNING:    Metadata: raid1, dup
WARNING:    System: raid1, dup

But right after I ran it, I checked and it seems to be balancing so I assmued it worked, so not sure if that was supposed to happen

Since not all blocks were converted you’ll need to again use -dconvert raid1 -mclnvert raid1

This topic was automatically closed 273 days after the last reply. New replies are no longer allowed.