Btrfs/Настройка: различия между версиями
Dzmuh (обсуждение | вклад) |
Dzmuh (обсуждение | вклад) |
||
| Строка 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
Внимание! Важно: Отключение CoW в Btrfs также отключает контрольные суммы. Btrfs не сможет обнаружить повреждения в nodatacow файлах. В сочетании с RAID 1 перебои в электропитании или другие причины повреждений могут привести к рассинхронизации данных. |
Чтобы отключить копирование при записи для создаваемых файлов в примонтированном подтоме, используйте опцию монтирования nodatacow. Это повлияет только на новые файлы. Для существующих файлов копирование при записи всё равно будет происходить. Опция nodatacow также отключает сжатие.[1]
Примечание: Из btrfs(5) § MOUNT OPTIONS: в рамках одной файловой системы невозможно монтировать одни подтома с nodatacow, а другие с datacow. Опция монтирования первого смонтированного подтома применяется ко всем остальным подтомам. |
Чтобы отключить копирование при записи для отдельных файлов/каталогов, выполните:
chattr +C /каталог/файл
Это отключит копирование при записи для операций над файлами, на которые есть только одна ссылка. Если ссылок на файл больше одной, например, из-за клонирования файлов или облегчённых клонов или снимков файловой системы, копирование при записи всё равно будет происходить. Начиная с coreutils 9.0, cp пытается создавать облегчённые копии по умолчанию — смотрите cp(1) для более подробной информации.
Примечание: Из chattr(1): При использовании Btrfs флаг ' C' следует устанавливать для новых или пустых файлов. Если он установлен на файле, который уже имеет блоки данных, то неизвестно, когда блоки, назначенные файлу, станут полностью стабильными. Если флаг 'C' установлен для каталога, он не будет иметь никакого эффекта на каталог, но новые файлы, создаваемые в этом каталоге, будут иметь атрибут No_COW. |
Примечания
- ↑ btrfs(5) — Arch manual pages (англ.). Arch manual pages (14 декабря 2023). Дата обращения: 6 января 2024. Архивировано 28 декабря 2023 года.
Ссылки и источники
- Btrfs (Русский) - ArchWiki. ArchWiki (25 ноября 2023). Дата обращения: 6 января 2024. Архивировано 6 января 2024 года.