Zmień rozmiar partycji btrfs w logicznym woluminie LVM

13

Zgodnie ze wskazówkami deroberta, aby zmienić rozmiar bazowego systemu plików podczas zmiany rozmiaru woluminu LVM:

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

„Problem” polega na tym, że narzędzie fsadm nie obsługuje zmiany rozmiaru btrfs. Zniechęcony postanowiłem zrobić to na poważnie (inaczej ręcznie):

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

Cóż, btrfs nie może „uzyskać dostępu” do urządzenia, ale może je wykryć:

> 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

Co więc daje? Jak zmienić rozmiar mojej partycji btrfs w woluminie logicznym?

Braiam
źródło
1
czy to działa z punktem montowania zamiast z nazwą urządzenia?
frostschutz
1
tak, powinna to być ścieżka do montowania btrfs (nie ścieżka do urządzenia blokowego). Może być również konieczne określenie devid (z btrfs fi show), jeśli masz więcej niż jedno urządzenie w systemie plików.
derobert,
@frostschutz tak, to robi. Ciekawy.
Braiam

Odpowiedzi:

14

Cóż, to było zawstydzające. BTRFS musi być zamontowany, aby móc zmienić rozmiar partycji.

Jak zmienić rozmiar partycji? (kurczyć / rosnąć)

W celu zademonstrowania i przetestowania referencji wstecznych zespół deweloperów Btrfs dodał internetowy program do zmiany rozmiaru, który może zarówno powiększać, jak i zmniejszać system plików za pomocą poleceń btrfs.

Najpierw upewnij się, że system plików jest zamontowany.

Nie ma więc znaczenia, że ​​korzystałem z woluminu LVM, o ile był on zamontowany.

Braiam
źródło
8

BTRFS przyjmuje punkt montowania systemu plików jako argument, a nie ścieżkę urządzenia.

Innymi słowy, intead tego:

btrfs filesystem resize max /dev/vg/lvhome

Należy użyć rzeczywistej ścieżki, w której zamontowano wymieniony wolumin:

btrfs filesystem resize max /home
sanmai
źródło