Ändern Sie die Größe einer btrfs-Partition in einem logischen LVM-Volume

13

Deroberts Trick, die Größe des zugrunde liegenden Dateisystems beim Ändern der Größe eines LVM-Volumes zu ändern:

lvm> lvextend -r -l +100%FREE /dev/VolGroup00/lvolhome
fsck from util-linux 2.25.2
/sbin/fsck.btrfs: BTRFS file system.
  Size of logical volume VolGroup00/lvolhome changed from 3.04 GiB (777 extents) to 14.94 GiB (3824 extents).
  Logical volume lvolhome successfully resized
fsadm: Filesystem "btrfs" on device "/dev/mapper/VolGroup00-lvolhome" is not supported by this tool
  fsadm failed: 1

Das "Problem" ist, dass das fsadm-Tool keine btrfs-Größenänderung unterstützt. Enttäuscht entschloss ich mich, es auf die harte Tour zu machen (auch bekannt als manuell):

sudo btrfs filesystem resize max /dev/mapper/VolGroup00-lvolhome
ERROR: can't access '/dev/mapper/VolGroup00-lvolhome'

Nun, btrfs kann nicht auf das Gerät "zugreifen", aber es kann es erkennen:

> sudo btrfs filesystem show 
Label: none  uuid: 53330630-9670-4110-8f04-5a39bfa86478
    Total devices 1 FS bytes used 2.75GiB
    devid    1 size 3.04GiB used 3.03GiB path /dev/mapper/VolGroup00-lvolhome

Also, was gibt es? Wie kann ich die Größe meiner btrfs-Partition innerhalb des logischen Volumes ändern?

Braiam
quelle
1
funktioniert es mit dem Mountpoint anstelle des Gerätenamens?
Frostschutz
1
Ja, es sollte der Pfad zum BTRFS-Mount sein (nicht der Pfad zu einem Block-Gerät). Möglicherweise müssen Sie auch eine devid (from btrfs fi show) angeben, wenn Sie mehr als ein Gerät in der fs haben.
Derobert
@frostschutz ja das tut es. Neugierig.
Braiam

Antworten:

14

Nun, das war peinlich. BTRFS muss bereitgestellt werden, um die Partitionsgröße ändern zu können.

Wie ändere ich die Größe einer Partition? (schrumpfen / wachsen)

Um die Rückverweise zu demonstrieren und zu testen, hat das Btrfs-Entwicklerteam einen Online-Resizer hinzugefügt, mit dem das Dateisystem über die btrfs-Befehle vergrößert und verkleinert werden kann.

Stellen Sie zunächst sicher, dass Ihr Dateisystem eingehängt ist.

Es spielt also keine Rolle, dass ich ein LVM-Volume verwendet habe, solange es aktiviert war.

Braiam
quelle
7

BTRFS verwendet den Mount-Punkt des Dateisystems als Argument und nicht als Gerätepfad.

Mit anderen Worten:

btrfs filesystem resize max /dev/vg/lvhome

Sie sollten den tatsächlichen Pfad verwenden, unter dem das Volume bereitgestellt wurde:

btrfs filesystem resize max /home
sanmai
quelle