linux – 将BTRFS文件系统转换为RAID1失败,并显示“设备不适当的ioctl”

前端之家收集整理的这篇文章主要介绍了linux – 将BTRFS文件系统转换为RAID1失败,并显示“设备不适当的ioctl”前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我在一个分区上有一个~1.6TB的BTRFS卷,成功地我添加了另一个完全相同大小的新创建和格式化的分区(在另一个设备上),目的是镜像它们.现在体积的大小似乎是~3.2TB.但是,当我尝试将卷(安装到/ mnt / mnt0)转换为RAID-1时
btrfs balance start -dconvert=raid1 -mconvert=raid1 /mnt/mnt0

(自here起)

我收到以下错误

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来解决.不得不编译我自己的,但股票设置似乎工作正常(我建立btrfs静态而不是作为一个模块,虽然我不确定这是否是必要的).

编辑:我不敢相信我错过了…根据BTRFS wiki,3.2系列和更旧的内核不支持在创建文件系统后更改raid级别.这一定是我的问题.

猜你在找的Linux相关文章