14

I'm using Ubuntu 10.04 and have the /home directory setup as a BTRFS RAID 1 with two 2TB drives.

I'd like to make the /home directory just a single drive; how do I safely go about doing this?

2 Answers 2

17

Update: December 2020

The functionality of btrfs continues to evolve over time. The delete command is now an alias for the remove command which produces different results. Today, you would run the following commands:

btrfs balance start -f -sconvert=single -mconvert=single -dconvert=single <mount>
btrfs device remove <drive> <mount>

The first command converts all data from a mirrored setup to a single-copy setup. This effectively makes the RAID1 into a JBOD setup. The -f option is required to tell the filesystem to really reduce the resiliency of the data.

Once this completes, the second command removes the device from the JBOD. The filesystem will move any data from the removed device to the other device.

Original Answer

According to this btrfs wiki, you remove a device from a btrfs RAID, by issuing the command:

btrfs device delete <drive> <mount>

This is an online command, so for you, it would be (while /home is mounted):

btrfs device delete <drive> /home
8
  • I don't have "btrfs". I've got: btrfsck, btrfs-convert, btrfsctl, btrfs-debug-tree, btrfs-image, btrfs-show, btrfstune, and btrfs-vol. I'll have to dig a bit.
    – Jamie
    Feb 7, 2013 at 2:30
  • 1
    You're going to want to use btrfs-vol -r <drive> /home then, I think. I'm not sure if that can be done online or not.
    – hrunting
    Feb 7, 2013 at 2:38
  • as of 2020, there is no command btrfs device delete , and the command btrfs device remove will not convert raid1 to raid0
    – am70
    Dec 19, 2020 at 11:14
  • 3
    WARNING: This procedure is NOT for removing a failing hdd from a btrfs RAID1 with two drives, you may loose your data.
    – Fravadona
    Apr 9, 2021 at 8:56
  • 2
    I would recommend btrfs balance start -f -sconvert=dup -mconvert=dup -dconvert=single <mount>
    – am70
    Mar 14, 2022 at 9:05
2

Thank you for the update @hrunting!

However the re-balance using "single" profile did not work for me on Ubuntu 20.04.2 LTS. I needed:

btrfs balance start -dconvert=raid0 -mconvert=raid0 -sconvert=raid0 -f <mount>
btrfs device remove <dev/partition> <mount>

to get rid of pesky RAID1 metadata/system and allow removal.

And as always, folks: back up your data to an independent physical media before attempting these - there's a good chance you will lose it all in this evolution. I am a big fan of:

 btrfs send -f <bkupFile> <subvol>
 btrfs receive -f <bkupFile> <newsubvol>

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .