Изменение размера раздела btrfs внутри логического тома LVM

13

Следуя трюку Дероберта изменить размер базовой файловой системы при изменении размера тома 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

Проблема в том, что инструмент fsadm не поддерживает изменение размера btrfs. Уныло, я решил сделать это трудным путем (иначе вручную):

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

Хорошо, btrfs не может "получить доступ" к устройству, но может обнаружить его:

> 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

Итак, что дает? Как изменить размер моего раздела btrfs внутри логического тома?

Braiam
источник
1
это работает с точкой монтирования вместо имени устройства?
frostschutz
1
да, это должен быть путь к монтированию btrfs (а не путь к блочному устройству). Кроме того, вам может понадобиться указать devid (from btrfs fi show), если у вас более одного устройства в fs.
Дероберт
@frostschutz да, это так. Любопытно.
Braiam

Ответы:

14

Ну, это было неловко. BTRFS должен быть смонтирован, чтобы иметь возможность изменить размер раздела.

Как мне изменить размер раздела? (Термоусадочная / расти)

Чтобы продемонстрировать и протестировать обратные ссылки, команда разработчиков Btrfs добавила онлайн-изменяющий размер, который может как увеличивать, так и сокращать файловую систему с помощью команд btrfs.

Во-первых, убедитесь, что ваша файловая система смонтирована.

Таким образом, не имеет значения, что я использовал том LVM, если он был смонтирован.

Braiam
источник
8

BTRFS принимает точку монтирования файловой системы в качестве аргумента, а не путь к устройству.

Другими словами, intead этого:

btrfs filesystem resize max /dev/vg/lvhome

Вы должны использовать фактический путь, где указанный том был смонтирован:

btrfs filesystem resize max /home
sanmai
источник