为什么我在平衡启动时立即收到错误

为什么我在平衡启动时立即收到错误

我的大部分工作都是将带有 lvm 的 raid1 mdadm 转换为 btrfs 系统。涉及的两个磁盘/分区位于/dev/sdb/dev/sdc

在原始配置中,两个磁盘都有 3 个分区,设备由和/dev/md1组成。转换过程如下/dev/sdb3/dev/sdc3

  1. 失败然后删除 /dev/sdb3
  2. 使用 fdisk 将 /dev/sdb 重新分区为 4 个分区 - 我无法将内核同步到新的分区布局,因此重新启动
  3. 在大小 1.7TB上创建了一个 btrfs 文件系统/dev/sdb4(也在这里,/dev/sdb2但这并不重要)
  4. 在创建的子卷上创建了一个挂载点/mnt/sdb4,以对应于我的(现已降级的)raid 设备上的每个逻辑卷。其中之一(vbox)是保存虚拟框图像,所以我这样做了chattr +C /mnt/sdb4/vbox
  5. 用户 rsync 将 raid 设备上的每个逻辑卷复制到 btrfs 上的相应子卷。每次完成后,我都会卸载 raid 卷,调整/etc/fstab为现在使用 btrfs 子卷挂载,然后挂载它。当这一切完成后,我重新启动以确保一切正常。
  6. 然后,我从 raid 阵列中删除了所有逻辑卷,最后删除了卷组,然后停止并删除了 raid 设备。再次重启
  7. 用于fdisk重新分区到 我制作的独立 btrfs 文件系统/dev/sdc 上的类似 4 个分区/dev/sdb/dev/sdc2
  8. 我安装/dev/sdb4(subvol=/)/mnt/sdb4然后发出以下命令btrfs device add -f /dev/sdc4 /mnt/sdb4
  9. 最后我发出了这个命令btrfs balance start -dconvert=raid1 -mconvert=raid1 /mnt/sdb4 ,但是失败了,并显示“错误:平衡‘/mnt/sdb4’期间出错:设备上没有剩余空间,系统日志中可能有更多信息 - 尝试 dmesg | tail”

我尝试按照建议查看系统日志,但这没有帮助 [ 634.536221] BTRFS info (device sdb4): disk added /dev/sdc4 [ 671.472167] BTRFS info (device sdb4): relocating block group 12582912 flags 1 [ 671.934540] BTRFS info (device sdb4): found 946 extents [ 672.622029] BTRFS info (device sdb4): found 946 extents [ 672.913928] BTRFS info (device sdb4): 379 enospc errors during balance 输出btrfs fi show

``` 标签:'raid' uuid:c3356f85-4b40-409d-a775-72e9c6735ed8 设备总数 2 个 FS 字节使用 377.08GiB devid 1 大小 1.71TiB 使用 379.02GiB 路径 /dev/sdb4 devid 2 大小 1.00KiB 使用 0.00B 路径 /开发/sdc4

标签:'debianb' uuid:94a949e0-b815-4dce-812d-7000f4654a10 设备总数 1 FS 字节使用 285.25MiB devid 1 大小 100.00GiB 使用 3.02GiB 路径 /dev/sdb2

标签:'debianc' uuid:02ed1d78-8501-4940-ac61-fa9dcf084b56 设备总数 1 个 FS 字节使用 112.00KiB devid 1 大小 100.00GiB 使用 2.02GiB 路径 /dev/sdc2 ```

这表明有足够的空间。

我正在做这一切debian stretch

那么为什么会报告设备上没有剩余空间,我该怎么做才能将此文件系统正确转换为 raid1?

答案1

我想是我的错。我搞砸了分区,/dev/sdc所以第四个分区的长度为零。

相关内容