Ubah ukuran partisi btrfs di dalam volume LVM yang logis

13

Mengikuti trik derobert untuk mengubah ukuran sistem file yang mendasarinya saat mengubah ukuran volume 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

"Masalahnya" adalah bahwa alat fsadm tidak mendukung pengubahan ukuran btrfs. Dengan putus asa, saya memutuskan untuk melakukannya dengan cara yang sulit (alias secara manual):

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

Nah, btrfs tidak dapat "mengakses" perangkat, tetapi ia dapat mendeteksinya:

> 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

Jadi, apa yang menyebabkannya? Bagaimana mengubah ukuran partisi btrfs saya di dalam volume logis?

Braiam
sumber
1
apakah itu berfungsi dengan mountpoint bukan nama perangkat?
frostschutz
1
ya, itu seharusnya menjadi jalur ke mount btrfs (bukan path ke perangkat blok). Juga, Anda mungkin perlu menentukan devid (dari btrfs fi show) jika Anda memiliki lebih dari satu perangkat di fs.
derobert
@ Frostschutz ya, itu benar. Ingin tahu.
Braiam

Jawaban:

14

Yah, itu memalukan. BTRFS perlu dipasang untuk dapat mengubah ukuran partisi.

Bagaimana cara mengubah ukuran partisi? (menyusut / tumbuh)

Untuk menunjukkan dan menguji referensi belakang, tim pengembangan Btrfs telah menambahkan resizer online, yang dapat menumbuhkan dan mengecilkan sistem file melalui perintah btrfs.

Pertama, pastikan sistem file Anda sudah di-mount.

Jadi, tidak masalah saya menggunakan volume LVM, asalkan sudah terpasang.

Braiam
sumber
8

BTRFS mengambil titik pemasangan sistem file sebagai argumen, bukan jalur perangkat.

Dengan kata lain, intead dari ini:

btrfs filesystem resize max /dev/vg/lvhome

Anda harus menggunakan jalur aktual tempat volume tersebut dipasang:

btrfs filesystem resize max /home
sanmai
sumber