Linux – How to remove a drive from a BTRFS RAID 1 setup to make it just a single (BTRFS) drive

btrfslinux

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?

Best Answer

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