I seem unable to convert an existing btrfs device array to RAID 10. Since it's pretty much RAID 0 and 1 combined, and 5 and 6 are unstable, it's what I would like to use.
After I did tried this with 4.19.2-arch1-1-ARCH and btrfs-progs v4.19, I updated my system and tried btrfs balance again with this system information: [mikko@localhost lvdata]$ uname -a Linux localhost 4.19.4-arch1-1-ARCH #1 SMP PREEMPT Fri Nov 23 09:06:58 UTC 2018 x86_64 GNU/Linux [mikko@localhost lvdata]$ btrfs --version btrfs-progs v4.19 [mikko@localhost lvdata]$ sudo btrfs fi show Label: 'main1' uuid: c7cbb9c3-8c55-45f1-b03c-48992efe2f11 Total devices 1 FS bytes used 2.90TiB devid 1 size 3.64TiB used 2.91TiB path /dev/mapper/main Label: 'red' uuid: f3c781a8-0f3e-4019-acbf-0b783cf566d0 Total devices 2 FS bytes used 640.00KiB devid 1 size 931.51GiB used 2.03GiB path /dev/mapper/red1 devid 2 size 931.51GiB used 2.03GiB path /dev/mapper/red2 [mikko@localhost lvdata]$ btrfs fi df /mnt/red/ Data, RAID1: total=1.00GiB, used=512.00KiB System, RAID1: total=32.00MiB, used=16.00KiB Metadata, RAID1: total=1.00GiB, used=112.00KiB GlobalReserve, single: total=16.00MiB, used=0.00B --- Here are the steps I originally used: [mikko@localhost lvdata]$ sudo cryptsetup luksFormat -s 512 --use-random /dev/sdc [mikko@localhost lvdata]$ sudo cryptsetup luksFormat -s 512 --use-random /dev/sdd [mikko@localhost lvdata]$ sudo cryptsetup luksOpen /dev/sdc red1 [mikko@localhost lvdata]$ sudo cryptsetup luksOpen /dev/sdd red2 [mikko@localhost lvdata]$ sudo mkfs.btrfs -L red /dev/mapper/red1 btrfs-progs v4.19 See http://btrfs.wiki.kernel.org for more information. Label: red UUID: f3c781a8-0f3e-4019-acbf-0b783cf566d0 Node size: 16384 Sector size: 4096 Filesystem size: 931.51GiB Block group profiles: Data: single 8.00MiB Metadata: DUP 1.00GiB System: DUP 8.00MiB SSD detected: no Incompat features: extref, skinny-metadata Number of devices: 1 Devices: ID SIZE PATH 1 931.51GiB /dev/mapper/red1 [mikko@localhost lvdata]$ sudo mount -t btrfs -o defaults,noatime,nodiratime,autodefrag,compress=lzo /dev/mapper/red1 /mnt/red [mikko@localhost lvdata]$ sudo btrfs device add /dev/mapper/red2 /mnt/red [mikko@localhost lvdata]$ sudo btrfs balance start -dconvert=raid10 -mconvert=raid10 /mnt/red ERROR: error during balancing '/mnt/red': Invalid argument There may be more info in syslog - try dmesg | tail code 1 [mikko@localhost lvdata]$ dmesg | tail [12026.263243] BTRFS info (device dm-1): disk space caching is enabled [12026.263244] BTRFS info (device dm-1): has skinny extents [12026.263245] BTRFS info (device dm-1): flagging fs with big metadata feature [12026.275153] BTRFS info (device dm-1): checking UUID tree [12195.431766] BTRFS info (device dm-1): enabling auto defrag [12195.431769] BTRFS info (device dm-1): use lzo compression, level 0 [12195.431770] BTRFS info (device dm-1): disk space caching is enabled [12195.431771] BTRFS info (device dm-1): has skinny extents [12205.815941] BTRFS info (device dm-1): disk added /dev/mapper/red2 [12744.788747] BTRFS error (device dm-1): balance: invalid convert data profile raid10 Converting to RAID 1 did work but what can I do to make it RAID 10? With the up-to-date system it still says "invalid convert data profile raid10".