Product SiteDocumentation Site

39.4.5. BTRFS

Свойства хранилища BTRFS во многом совпадают с хранилищем типа Каталог. Основное отличие состоит в том, с этим типом хранилища диски в формате raw будут помещены в subvolume, для возможности создания снимков (снапшотов) и поддержки автономной миграции хранилища с сохранением снимков.

Примечание

BTRFS учитывает флаг O_DIRECT при открытии файлов, что означает, что ВМ не должны использовать режим кеширования none, иначе возникнут ошибки контрольной суммы.
Данное хранилище настраивается аналогично хранилищу типа Каталог.

Примечание

При добавлении в качестве хранилища BTRFS каталога, который сам по себе не является точкой монтирования, настоятельно рекомендуется указать фактическую точку монтирования с помощью параметра is_mountpoint.
Пример файла конфигурации (/etc/pve/storage.cfg):
btrfs: btrfs-storage
    path /mnt/data/btrfs-storage
    content rootdir,images
    is_mountpoint /mnt/data
    nodes pve02
    prune-backups keep-all=1
В данном примере файловая система BTRFS смонтирована в /mnt/data, а в качестве пула хранения данных добавляется её подкаталог btrfs-storage/.
Диалог создания хранилища brtfs-storage типа BTRFS для хранения образов дисков и контейнеров, которое будет смонтировано в каталог /mnt/data:
Создание хранилища BTRFS
Пример добавления хранилища BTRFS в командной строке с помощью утилиты pvesm:
# pvesm add btrfs btrfs-storage --path /mnt/data/btrfs-storage --is_mountpoint /mnt/data/ --content images,rootdir

39.4.5.1. Администрирование Btrfs

В этом разделе приведены некоторые примеры работы с ФС Btrfs.
Пример создания ФС Btrfs на диске /dev/sdd:
# mkfs.btrfs -m single -d single -L My-Storage /dev/sdd
Параметры -d и -m используются для установки профиля для метаданных и данных соответственно. С помощью необязательного параметра -L можно установить метку.
Можно создать RAID1 на двух разделах /dev/sdb1 и/dev/sdc1:
# mkfs.btrfs -m raid1 -d raid1 -L My-Storage /dev/sdb1 /dev/sdc1
Новую ФС можно смонтировать вручную, например:
# mkdir /mnt/data
# mount /dev/sdd /mnt/data
Для автоматического монтирования Btrfs раздела, следует добавить этот раздел в /etc/fstab. Рекомендуется использовать значение UUID (выведенное командой mkfs.btrf), например:
UUID=5a556184-43b2-4212-bc21-eee3798c8322 /mnt/data btrfs defaults 0 0
Выполнить проверку монтирования:
# mount -a
Результатом выполнения команды должен быть пустой вывод без ошибок.

Примечание

UUID можно также получить, выполнив команду:
# blkid
/dev/sdd: LABEL="My-Storage" UUID="5a556184-43b2-4212-bc21-eee3798c8322" BLOCK_SIZE="4096" TYPE="btrfs"
Создание подтома (файловая система Btrfs должна быть примонтирована):
# btrfs subvolume create /mnt/data/btrfs-storage
Для создания подтома файловая система Btrfs должна быть примонтирована.
Удаление подтома:
# btrfs subvolume delete /mnt/data/btrfs-storage
Создание снимка (снимок — это подтом, который имеет общие данные и метаданные с другим подтомом):
# btrfs subvolume snapshot -r /mnt/data/btrfs-storage /mnt/data/new
Будет создан доступный только для чтения «клон» подтома /mnt/data/btrfs-storage. Чтобы из снимка, доступного только для чтения, создать его версию, доступную для записи, следует просто создать его снимок без опции -r.
Просмотреть список текущих подтомов:
# btrfs subvolume list /mnt/data
ID 256 gen 17 top level 5 path btrfs-storage
ID 257 gen 14 top level 5 path new
Отображение занятого/свободного места:
# btrfs filesystem usage /mnt/data
или:
$ btrfs filesystem df /mnt/data