Btrfs/RAID: различия между версиями
Dzmuh (обсуждение | вклад) Нет описания правки |
Dzmuh (обсуждение | вклад) |
||
| (не показаны 3 промежуточные версии этого же участника) | |||
| Строка 1: | Строка 1: | ||
== Создание == | |||
Основная информация о создании файловой системы на нескольких устройствах приведена в разделе о [[Btrfs/Создание файловой системы#Файловая система на нескольких устройствах|создании файловой системы]]. | |||
[[Категория:Документация к Btrfs]] | {{Внимание|В коде Parity RAID (RAID 5/6) есть несколько серьёзных ошибок, приводящих к потере данных. Более подробную информацию смотрите на [https://btrfs.readthedocs.io/en/latest/btrfs-man5.html#raid56-status-and-recommended-practices странице RAID5/6] в документации Btrfs и в сообщении об ошибке в [https://lore.kernel.org/linux-btrfs/8695beeb-f991-28c4-cf6b-8c92339e468f@inwind.it/ linux-btrfs mailing list].}} | ||
== Обслуживание == | |||
=== Scrub === | |||
В [https://btrfs.readthedocs.io/en/latest/Glossary.html Btrfs Wiki Glossary] говорится, что Btrfs scrub — это «онлайн-инструмент проверки файловой системы. Считывает все данные и метаданные в файловой системе, использует контрольные суммы и дубликаты копий из RAID-хранилища для выявления и восстановления повреждённых данных». | |||
{{Notice|Примечание: Запущенный процесс scrub помешает уходу системы в сон, подробнее в [https://lore.kernel.org/linux-btrfs/20140227190656.GA28338@merlins.org/ этой теме].}} | |||
==== Запуск вручную ==== | |||
Чтобы запустить scrub в фоне: | |||
<syntaxhighlight lang="bash"> | |||
btrfs scrub start / | |||
</syntaxhighlight> | |||
Чтобы проверить состояние scrub, работающего в фоне: | |||
<syntaxhighlight lang="bash"> | |||
btrfs scrub status / | |||
</syntaxhighlight> | |||
==== Запуск с помощью службы или таймера ==== | |||
Пакет [[btrfs-progs]] предоставляет юнит <code>btrfs-scrub@.timer</code>, запускающий ежемесячную проверку указанной точки монтирования. Включите таймер, указав экранированный путь, например, <code>btrfs-scrub@-.timer</code> для / и <code>btrfs-scrub@home.timer</code> для <code>/home</code>. Вы можете использовать <code>systemd-escape -p /путь/к/точке/монтирования</code> для экранирования пути, подробности смотрите в [https://man.archlinux.org/man/systemd-escape.1 systemd-escape(1)]. | |||
Вы также можете запустить scrub через службу <code>btrfs-scrub@.service</code> (тоже указав экранированный путь). Преимущество этого способа перед простым запуском команды <code>btrfs scrub</code> (от имени root) в том, что результаты проверки будут записаны в журнал [[systemd]]. | |||
На больших NVMe-дисках с недостаточным охлаждением (например, в ноутбуке) scrub может считывать данные достаточно быстро и долго, чтобы диск сильно нагрелся. Если вы запускаете scrub с помощью systemd, вы можете легко ограничить скорость проверки с помощью опции <code>IOReadBandwidthMax</code>, описанной в [https://man.archlinux.org/man/systemd.resource-control.5 systemd.resource-control(5)], используя [https://wiki.archlinux.org/title/Drop-in_%D1%84%D0%B0%D0%B9%D0%BB drop-in файл]. | |||
=== Балансировка === | |||
«Балансировка повторно пропускает все данные в файловой системе через аллокатор. В первую очередь он предназначен для перебалансировки данных в файловой системе между устройствами, когда устройство добавляется или удаляется. Балансировка восстанавливает недостающие копии для избыточных уровней 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> | |||
== Ссылки и источники == | |||
* {{cite web | |||
|url = https://wiki.archlinux.org/title/Btrfs_(Русский) | |||
|title = Btrfs (Русский) - ArchWiki | |||
|lang = ru | |||
|date = 2023-11-25 | |||
|access-date = 2024-01-06 | |||
|website = ArchWiki | |||
|archive-url = https://web.archive.org/web/20240106215318/https://wiki.archlinux.org/title/Btrfs_%28%D0%A0%D1%83%D1%81%D1%81%D0%BA%D0%B8%D0%B9%29 | |||
|archive-date = 2024-01-06 | |||
}} | |||
[[Категория:Документация к Btrfs|RAID]] | |||
Текущая версия от 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 года.