我在单个分区上有一个〜1.6TB的BTRFS卷,我成功添加了另一个刚刚创build和格式化的分区(在另一台设备上),其大小与镜像的大小完全相同。 体积的大小现在似乎是〜3.2TB。 但是,当我尝试将卷(挂载到/mnt/mnt0 )转换为RAID-1
btrfs balance start -dconvert=raid1 -mconvert=raid1 /mnt/mnt0
(从这里 )
我得到以下错误:
ERROR: error during balancing '/mnt/mnt0' - Inappropriate ioctl for device There may be more info in syslog - try dmesg | tail
dmesg输出是相当无趣的(而且在任何情况下,都没有通过运行上述命令产生):
root@Xeon:~# dmesg | tail [26712.029432] device label Storage devid 1 transid 3760 /dev/sdb1 [26712.029464] device fsid 7c7bb4a7-f403-4dad-b7e3-92fa1a30c764 devid 1 transid 175588 /dev/sdb2 [26712.029494] device fsid 56a9e829-c964-4f16-a37f-3bde05fb22a0 devid 1 transid 172361 /dev/sdb3 [26712.029524] device fsid 29181083-c9d6-4d8a-bd3b-1f17b925bb21 devid 1 transid 70197 /dev/sdb4 [26712.029582] device fsid ff65812c-9515-465d-8536-e8d00cfb2193 devid 1 transid 3677 /dev/sda1 [26712.029641] device label Storage devid 2 transid 3760 /dev/sdc1 [26712.029886] device fsid 44c395d9-df4e-4ab2-8a41-5b06e584e854 devid 1 transid 4 /dev/sdc2 [26828.213983] device label Storage devid 1 transid 3760 /dev/sdb1 [26967.116350] device label Storage devid 1 transid 3760 /dev/sdb1 [27079.571213] device label Storage devid 2 transid 3763 /dev/sdc1
btrfs fi show给(如果这是相关的):
Label: 'Storage' uuid: 77a43f33-908b-468b-9570-55964547d1a1 Total devices 2 FS bytes used 744.68GB devid 2 size 1.62TB used 0.00 path /dev/sdc1 devid 1 size 1.62TB used 947.54GB path /dev/sdb1
两个分区都通过了btrfs.fsck 。
我将如何使其工作?
编辑:这是一个最新的Debian Wheezy安装与3.2内核。
更新:奇怪的是, btrfs balance start /mnt/mnt0工作正常 – 但是, btrfs balance cancel /mnt/mnt0失败,同样的错误。 平衡之后,两个卷看起来都有相同的数据,但数据仍在RAID0中; btrfs fi show给
Label: 'Storage' uuid: 77a43f33-908b-468b-9570-55964547d1a1 Total devices 2 FS bytes used 744.66GB devid 2 size 1.62TB used 901.01GB path /dev/sdc1 devid 1 size 1.62TB used 901.01GB path /dev/sdb1
和btrfs fi df :
Data, RAID0: total=1.72TB, used=742.51GB System, RAID1: total=8.00MB, used=144.00KB System: total=4.00MB, used=0.00 Metadata, RAID1: total=19.00GB, used=2.15GB
通过将内核升级到3.8.4来解决。 不得不编译我自己的,但股票设置似乎工作正常(我build立btrfs静态,而不是作为一个模块,但我不确定这是否是必要的)。
编辑:我不能相信我错过了…根据BTRFS维基 , 创build文件系统后 , 改变RAID级别不支持3.2系列和旧的内核。 那一定是我的问题。