Btrfs/RAID: различия между версиями
Dzmuh (обсуждение | вклад) |
Dzmuh (обсуждение | вклад) |
||
| Строка 32: | Строка 32: | ||
=== Балансировка === | === Балансировка === | ||
«Балансировка повторно пропускает все данные в файловой системе через аллокатор. В первую очередь он предназначен для перебалансировки данных в файловой системе между устройствами, когда устройство добавляется или удаляется. Балансировка восстанавливает недостающие копии для избыточных уровней RAID, если устройство вышло из строя». | |||
В файловой системе с одним устройством балансировка может быть также полезна для (временного) уменьшения количества выделенных, но неиспользуемых (мета)чанков данных. Иногда это необходимо для решения [https://archive.kernel.org/oldwiki/btrfs.wiki.kernel.org/index.php/FAQ.html#Help.21_Btrfs_claims_I.27m_out_of_space.2C_but_it_looks_like_I_should_have_lots_left.21 проблем «filesystem full»]. | |||
<syntaxhighlight lang="bash"> | |||
btrfs balance start --bg / | |||
btrfs balance status / | |||
</syntaxhighlight> | |||
== Ссылки и источники == | == Ссылки и источники == | ||
Текущая версия от 22:24, 6 января 2024
Создание
Основная информация о создании файловой системы на нескольких устройствах приведена в разделе о создании файловой системы.
Внимание! В коде Parity RAID (RAID 5/6) есть несколько серьёзных ошибок, приводящих к потере данных. Более подробную информацию смотрите на странице RAID5/6 в документации Btrfs и в сообщении об ошибке в linux-btrfs mailing list. |
Обслуживание
Scrub
В Btrfs Wiki Glossary говорится, что Btrfs scrub — это «онлайн-инструмент проверки файловой системы. Считывает все данные и метаданные в файловой системе, использует контрольные суммы и дубликаты копий из RAID-хранилища для выявления и восстановления повреждённых данных».
Примечание: Запущенный процесс scrub помешает уходу системы в сон, подробнее в этой теме. |
Запуск вручную
Чтобы запустить scrub в фоне:
btrfs scrub start /
Чтобы проверить состояние scrub, работающего в фоне:
btrfs scrub status /
Запуск с помощью службы или таймера
Пакет btrfs-progs предоставляет юнит btrfs-scrub@.timer, запускающий ежемесячную проверку указанной точки монтирования. Включите таймер, указав экранированный путь, например, btrfs-scrub@-.timer для / и btrfs-scrub@home.timer для /home. Вы можете использовать systemd-escape -p /путь/к/точке/монтирования для экранирования пути, подробности смотрите в systemd-escape(1).
Вы также можете запустить scrub через службу btrfs-scrub@.service (тоже указав экранированный путь). Преимущество этого способа перед простым запуском команды btrfs scrub (от имени root) в том, что результаты проверки будут записаны в журнал systemd.
На больших NVMe-дисках с недостаточным охлаждением (например, в ноутбуке) scrub может считывать данные достаточно быстро и долго, чтобы диск сильно нагрелся. Если вы запускаете scrub с помощью systemd, вы можете легко ограничить скорость проверки с помощью опции IOReadBandwidthMax, описанной в systemd.resource-control(5), используя drop-in файл.
Балансировка
«Балансировка повторно пропускает все данные в файловой системе через аллокатор. В первую очередь он предназначен для перебалансировки данных в файловой системе между устройствами, когда устройство добавляется или удаляется. Балансировка восстанавливает недостающие копии для избыточных уровней RAID, если устройство вышло из строя».
В файловой системе с одним устройством балансировка может быть также полезна для (временного) уменьшения количества выделенных, но неиспользуемых (мета)чанков данных. Иногда это необходимо для решения проблем «filesystem full».
btrfs balance start --bg /
btrfs balance status /
Ссылки и источники
- Btrfs (Русский) - ArchWiki. ArchWiki (25 ноября 2023). Дата обращения: 6 января 2024. Архивировано 6 января 2024 года.