Btrfs/Настройка: различия между версиями

Материал из DZWIKI
Перейти к навигации Перейти к поиску
Строка 17: Строка 17:
|archive-date = 2023-12-28
|archive-date = 2023-12-28
}}</ref>
}}</ref>
{{Notice|'''Примечание:''' Из [https://man.archlinux.org/man/btrfs.5#MOUNT_OPTIONS btrfs(5) § MOUNT OPTIONS]:<br>
в рамках одной файловой системы невозможно монтировать одни подтома с <code>nodatacow</code>, а другие с <code>datacow</code>. Опция монтирования первого смонтированного подтома применяется ко всем остальным подтомам.}}
Чтобы отключить копирование при записи для отдельных файлов/каталогов, выполните:
<syntaxhighlight lang="bash">
chattr +C /каталог/файл
</syntaxhighlight>
Это отключит копирование при записи для операций над файлами, на которые есть только одна ссылка. Если ссылок на файл больше одной, например, из-за клонирования файлов или облегчённых клонов или снимков файловой системы, копирование при записи всё равно будет происходить. Начиная с [[coreutils]] 9.0, [[cp]] пытается создавать облегчённые копии по умолчанию — смотрите [https://man.archlinux.org/man/cp.1 cp(1)] для более подробной информации.
{{Notice|'''Примечание:''' Из [https://man.archlinux.org/man/chattr.1 chattr(1)]:<br>
При использовании Btrfs флаг '<code>C</code>' следует устанавливать для новых или пустых файлов. Если он установлен на файле, который уже имеет блоки данных, то неизвестно, когда блоки, назначенные файлу, станут полностью стабильными. Если флаг '<code>C</code>' установлен для каталога, он не будет иметь никакого эффекта на каталог, но новые файлы, создаваемые в этом каталоге, будут иметь атрибут <code>No_COW</code>.
}}


== Примечания ==
== Примечания ==

Версия от 22:56, 6 января 2024

На этой странице мы рассмотрим настройку файловой системы.

Копирование при записи (CoW)

По умолчанию Btrfs постоянно использует копирование при записи (copy-on-write) для всех файлов. Когда выполняется операция записи, новые данные не записываются поверх старых; вместо этого изменённая копия блока записывается в новое место и в метаданные записывается адрес нового блока. Подробности реализации, а также преимущества и недостатки описаны в Btrfs Sysadmin Guide.

Отключение CoW

Чтобы отключить копирование при записи для создаваемых файлов в примонтированном подтоме, используйте опцию монтирования nodatacow. Это повлияет только на новые файлы. Для существующих файлов копирование при записи всё равно будет происходить. Опция nodatacow также отключает сжатие.[1]

Чтобы отключить копирование при записи для отдельных файлов/каталогов, выполните:

chattr +C /каталог/файл

Это отключит копирование при записи для операций над файлами, на которые есть только одна ссылка. Если ссылок на файл больше одной, например, из-за клонирования файлов или облегчённых клонов или снимков файловой системы, копирование при записи всё равно будет происходить. Начиная с coreutils 9.0, cp пытается создавать облегчённые копии по умолчанию — смотрите cp(1) для более подробной информации.

Примечания

  1. btrfs(5) — Arch manual pages (англ.). Arch manual pages (14 декабря 2023). Дата обращения: 6 января 2024. Архивировано 28 декабря 2023 года.

Ссылки и источники