Merging Drives

I found the below tutorial for merging multiple drives and have a couple of questions it doesn't answer. I currently have 2 3tb and 2 8tb data drives. 1 of each is for my files and the other 2 are backups of those files. I'm getting a 12tb and want to merge it with 1 of the 3tb for a 15tb drive and then merge the 2 8tb drives for a 16tb drive. What's not clear is once I do this is the information about the drives being merged saved on the drive arrays or in the OS? Basically what I'm asking is if I create the 2 sets of merged drives say in Garuda will they be seen that way out of the gate in any other Arch based distros I have or will I have to run through the tutorial in each OS? Thanks

True answer: I don't know.
Maybe answer: I looks like the information would be written in the filesystem.
At least that is what I gather from Using Btrfs with Multiple Devices - btrfs Wiki

2 Likes

This will be saved in the metadata that the Btrfs filesystem maintains, and will not depend on Garuda or any OS. As long as the other operating system is performing a Btrfs device scan, your filesystem settings should be honored by other systems. Any relatively recent Linux kernel will do this automatically, you don’t need to do anything special for a multi-volume Btrfs filesystem to be recognized by a Linux OS.

Even on super old systems that didn’t use initrd or initramfs, it was still possible for Btrfs devices to be correctly mounted but it needed to be spelled out a little more explicitly in the fstab (see the “Registration in /etc/fstab” section here, for example: Using Btrfs with Multiple Devices - btrfs Wiki). Now, you don’t even have to worry about that because if you mount any Btrfs device that is part of a multi-volume filesystem it should automatically mount the rest.

That person’s guide seems fine, but you’ll notice they are passing the -f flag when they make the filesystem:

sudo mkfs.btrfs -f -d single /dev/sda /dev/sdb -L Frankendrive

They have to pass that flag to force the filesystem creation because they formatted the disk already, in the step before that; when another filesystem is detected you have to use the “force” flag to overwrite it.

I would say that whole step where they format the drive first (for no reason) can be skipped, and then you probably won’t need the -f flag either.

3 Likes

The first question that comes to my mind is:

Does it need another operating system?

Answer:

Noooo :smiley:

Thanks for the extremely helpful information. Nice to know that if I do things right other OS's should pick these new volumes up without issue. Funny you mentioning the preformatting cause I thought that was probaby a step I could save by formatting after the volume is created. I just have to remember that I want BTRFS and not EXT4. Thanks again.

SGS while I do mainly use Garuda and am eagerly waiting for the upcoming release with the fix(s) for Latte I still like to look and see how other teams do things.

mkfs.btrfs is a formatting command. The command in the example (sudo mkfs.btrfs -f -d single /dev/sda /dev/sdb -L Frankendrive) is creating the filesystem, i.e. formatting the disk so no other formatting steps should be needed before or after. It formats the disk and creates the filesystem according to whatver arguments you give it all at once.

Now that I read it again, they do mention it is optional:

"Next, format them all separately. This is technically optional, but can prevent errors down the line. "

Maybe they ran into some problems at some point and that extra step helped somehow. :man_shrugging: I don’t know, maybe the disk didn’t have a partition table set up yet. :thinking:

2 Likes

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