有关如何在 BTRFS 设置中转移空间的建议

有关如何在 BTRFS 设置中转移空间的建议

我的 40GB 根分区出现问题,想要从第二个 400GB 分区转移空间。我在 LVM 之上安装了 BTRFS。由于某种原因,OpenSUSE 为我决定了这个安装时间,我认为这是有道理的:

# lsblk
NAME            MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda               8:0    0 464.5G  0 disk 
`-sda1            8:1    0 464.5G  0 part 
  |-system-swap 254:0    0     2G  0 lvm  [SWAP]
  |-system-root 254:1    0    40G  0 lvm  /
  `-system-opt  254:2    0 422.5G  0 lvm  /optLVM
sr0              11:0    1  1024M  0 rom  

# btrfs filesystem show
Label: none  uuid: 681e689d-1ac2-48ac-9fba-f6a6e234e9f5
    Total devices 1 FS bytes used 28.40GiB
    devid    1 size 40.00GiB used 35.53GiB path /dev/mapper/system-root

Label: none  uuid: 90b22bed-5924-425d-ac30-03279f970fa0
    Total devices 1 FS bytes used 159.43GiB
    devid    1 size 300.00GiB used 299.04GiB path /dev/mapper/system-opt

如您所见,/dev/mapper/system-opt 只有 300GB,因此我在那里有 100GB 可用空间,因为我调整了 btrfs 大小以释放 100GB。

我的问题是我不知道如何将这 100GB 添加到 / 目录 (/dev/mapper/system-root) 中。我努力了:

# btrfs device add /dev/mapper/system-opt /
/dev/mapper/system-opt appears to contain an existing filesystem (btrfs).
Use the -f option to force overwrite.

看来 OpenSUSE 在 dm-1 和 dm-2 之上格式化了 btrfs,这可能映射到 LVM 卷。

# btrfs device usage /
/dev/dm-1, ID: 1
   Device size:            40.00GiB
   Data,single:            33.00GiB
   Metadata,single:         2.50GiB
   System,single:          32.00MiB
   Unallocated:             4.47GiB
# btrfs device usage /optLVM
/dev/dm-2, ID: 1
   Device size:           422.50GiB
   Data,single:           297.01GiB
   Metadata,single:         8.00MiB
   Metadata,DUP:            2.00GiB
   System,single:           4.00MiB
   System,DUP:             16.00MiB
   Unallocated:           988.00MiB

我可不可以做?

 btrfs device add /dev/dm-2 /

要使 /(根 btrfs“分区”)获取 dm-2 分区中未分配的 100GB?

答案1

dm-# 是设备多路径,因此基本上 btrfs 分区被视为 LUN。

调整大小选项可用于扩展分区以及缩小分区。

 btrfs filesystem resize +100G /

您可能需要首先在设备级别执行类似的操作,将可用空间移动到保存根分区的逻辑驱动器。

Btrfs 参考位于内核.org似乎表明我列出的命令可能会起作用。

答案2

看起来您的 BTRFS 文件系统存储在左心室容量逻辑卷。在 LVM 中,逻辑卷由来自物理卷(磁盘分区)的卡盘(盘区)组成,这些物理卷被组合在一起作为一个单元(称为卷组)。例如,在您的情况下,OpenSUSE 安装程序似乎执行了以下操作:

  1. 在 /dev/sda1 上创建 LVM 物理卷(例如pvcreate /dev/sda1
  2. 创建了一个LVM卷组,名为系统(前任。vgcreate system /dev/sda1
  3. 创建LVM逻辑卷交换,, 和选择

您可以使用命令 、 和 来确认pvdisplayvgdisplay一点lvdisplay

你的系统卷组有 464.5G 的存储空间,可以分为逻辑卷。因此重新分配 100G选择是一个问题:

  1. 缩小 /optLVM 文件系统(您已经完成)。
  2. 缩小选择逻辑卷与lvreduce.小心这个。如果你缩小太多,你会毁掉 /optLVM
  3. 调整大小逻辑卷lvresize给它额外的 100G。
  4. 调整 / 文件系统的大小以占用额外的空间。

相关内容