Btrfs

Как использовать Btrfs Scrub?

Как использовать Btrfs Scrub?
Файловая система Btrfs - это файловая система с несколькими устройствами, которая имеет встроенную поддержку RAID. В файловой системе Btrfs или RAID с несколькими устройствами блоки данных / метаданных могут храниться на одном или нескольких устройствах хранения. Инструмент очистки Btrfs будет читать все блоки данных / метаданных со всех устройств хранения, добавленных в файловую систему Btrfs или RAID, и находить все поврежденные блоки данных / метаданных. Как только поврежденные блоки данных / метаданных будут найдены, инструмент очистки Btrfs автоматически восстановит эти поврежденные блоки данных / метаданных, если это возможно.

В файловой системе Btrfs с несколькими устройствами или Btrfs RAID, в зависимости от конфигурации файловой системы, может быть несколько копий блоков данных / метаданных, хранящихся в разных местах устройств хранения, добавленных в файловую систему Btrfs. Когда инструмент Btrfs scrub находит поврежденный блок данных / метаданных, он ищет на всех устройствах хранения, добавленных в файловую систему Btrfs, повторяющиеся копии этого блока данных / метаданных. После обнаружения дублирующей копии этого блока данных / метаданных поврежденный блок данных / метаданных перезаписывается правильным блоком данных / метаданных. Вот как инструмент очистки Btrfs восстанавливает поврежденные блоки данных / метаданных в файловой системе Btrfs с несколькими устройствами или Btrfs RAID.

В этой статье я собираюсь показать вам, как использовать инструмент Btrfs scrub для поиска и восстановления поврежденных блоков данных / метаданных в файловой системе Btrfs с несколькими устройствами или Btrfs RAID. Итак, приступим.

Сокращения

RAID - Резервный массив недорогих / независимых дисков
ГБ - Гигабайт

Предпосылки

Чтобы следовать этой статье, вам потребуется работающая файловая система Btrfs для нескольких устройств или Btrfs RAID.

Я создал Btrfs RAID в RAID-1 конфигурация (установлен на /данные каталог) с использованием 4 запоминающих устройств SDB, SDC, SDD, а также sde, как вы можете видеть на скриншоте ниже. Я буду использовать этот RAID-массив Btrfs для демонстрации скраба Btrfs в этой статье.

Использование / данные файловой системы $ sudo btrfs

Если вам нужна помощь по установке файловой системы Btrfs в Ubuntu, ознакомьтесь с моей статьей «Установка и использование Btrfs в Ubuntu 20».04 LTS.

Если вам нужна помощь по установке файловой системы Btrfs в Fedora, ознакомьтесь с моей статьей «Установка и использование Btrfs в Fedora 33».

Если вам нужна помощь в создании Btrfs RAID, посмотрите мою статью Как настроить Btrfs RAID.

Создание фиктивных файлов в файловой системе Btrfs

Чтобы показать вам, как работает инструмент Btrfs scrub, нам нужно сгенерировать несколько случайных файлов, чтобы заполнить файловую систему Btrfs. Давайте создадим сценарий оболочки, который сделает это.

Создайте новый сценарий оболочки Genfiles.ш в / USR / местные / бен / каталог следующим образом:

$ sudo nano / usr / local / bin / genfiles.ш

Введите следующие строки кодов в поле Genfiles.ш сценарий оболочки.

#!/ bin / bash
пока правда
делать
ИМЯ ФАЙЛА = $ (uuidgen)
echo "[Создание] $ FILENAME"
dd if = / dev / random of = $ FILENAME bs = 1M count = 256 status = прогресс
echo "[Создано] $ FILENAME"
Выполнено

Когда вы закончите, нажмите + Икс с последующим Y а также чтобы спасти Genfiles.ш сценарий оболочки.

В Genfiles.ш сценарий оболочки запускает бесконечное пока петля.

пока правда
делать
# другой код
Выполнено

Следующая строка генерирует UUID с использованием uuidgen команда и сохраняет UUID в ИМЯ ФАЙЛА Переменная.

Следующая строка выводит сообщение на консоль перед файлом ИМЯ ФАЙЛА генерируется.

Следующая строка генерирует новый случайный файл ИМЯ ФАЙЛА с помощью дд команда. Файл будет 256 МБ по размеру.

Следующая строка выводит сообщение на консоль после файла ИМЯ ФАЙЛА генерируется.

Добавить разрешение на выполнение в Genfiles.ш сценарий оболочки следующим образом:

s

В Genfiles.ш сценарий оболочки теперь должен быть доступен, как и любые другие команды.

$ which genfiles.ш

Давайте сгенерируем несколько случайных файлов в Btrfs RAID, смонтированном в /данные каталог.

Перейдите к /данные каталог, в котором монтируется Btrfs RAID, как показано ниже:

$ cd / data

Как видите, в настоящий момент в моем RAID-массиве Btrfs нет файлов.

$ ls -lh

Чтобы сгенерировать несколько случайных файлов в текущем рабочем каталоге (/данные каталог в этом случае), запустите Genfiles.ш сценарий оболочки следующим образом:

$ sudo genfiles.ш

В Genfiles.ш сценарий оболочки должен начать генерировать случайные файлы в /данные каталог.

В Genfiles.ш скрипт генерирует случайные файлы. Дайте скрипту поработать пару минут, чтобы он занял около 2-3 ГБ дискового пространства Btrfs RAID.

Когда вы хотите остановить Genfiles.ш сценарий оболочки, нажмите + C.

Как видите, некоторые случайные файлы генерируются в RAID-массиве Btrfs.

$ ls -lh

Я создал около 13 ГБ случайных файлов в RAID-массиве Btrfs, установленном в /данные каталог, как вы можете видеть на скриншоте ниже.

$ sudo du -sh / данные

Работа с инструментом Btrfs Scrub Tool

В этом разделе я покажу вам, как использовать инструмент Btrfs scrub. Давайте начнем.

Вы можете запустить процесс очистки файловой системы Btrfs, смонтированной на /данные каталог с помощью следующей команды:

$ sudo btrfs scrub start / data

Процесс очистки Btrfs должен быть запущен в файловой системе Btrfs, смонтированной на /данные каталог.

Вы можете увидеть состояние процесса очистки Btrfs, запущенного в файловой системе Btrfs, смонтированной на /данные каталог следующим образом:

$ sudo btrfs очистить статус / данные

Как видите, процесс очистки Btrfs все еще Бег.

Очистка файловой системы Btrfs или Btrfs RAID с большим количеством файлов займет много времени.

После завершения процесса очистки Btrfs статус должен быть изменен на законченный, как вы можете видеть на скриншоте ниже.

$ sudo btrfs очистить статус / данные

Вы также можете увидеть статус очистки Btrfs для каждого из устройств хранения, добавленных в файловую систему Btrfs (смонтированных в /данные каталог) отдельно следующим образом:

$ sudo btrfs очистить статус -d / данные

Я уже говорил вам, что процесс очистки Btrfs занимает много времени на большой файловой системе Btrfs. Одним из больших преимуществ инструмента очистки Btrfs является то, что его процесс можно приостановить и возобновить в любое время.

Давайте посмотрим, как приостановить и возобновить процесс очистки Btrfs.

Сначала запустите новый процесс очистки Btrfs в файловой системе Btrfs, смонтированной в каталоге / data, следующим образом:

$ sudo btrfs scrub start / data

Чтобы отменить или приостановить процесс очистки Btrfs, который в настоящее время выполняется в файловой системе Btrfs, смонтированной на /данные каталог, выполните следующую команду:

$ sudo btrfs scrub cancel / data

Выполняемый процесс очистки Btrfs должен быть отменен или приостановлен.

Как видите, статус очистки Btrfs - прерванный. Итак, процесс очистки Btrfs больше не работает.

$ sudo btrfs очистить статус / данные

Чтобы возобновить отмененный или приостановленный процесс очистки Btrfs, выполните следующую команду:

$ sudo btrfs очистить резюме / данные

Процесс очистки Btrfs должен быть возобновлен.

Как видите, статус очистки Btrfs теперь Бег. Итак, процесс очистки Btrfs возобновлен.

$ sudo btrfs очистить статус / данные

После завершения процесса очистки Btrfs статус очистки Btrfs должен быть изменен на законченный.

$ sudo btrfs очистить статус / данные

Заключение

В этой статье я показал вам, как работать с инструментом Btrfs scrub для поиска и исправления поврежденных блоков данных / метаданных файловой системы Btrfs с несколькими устройствами или RAID. Я показал вам, как отменить / приостановить и возобновить процесс очистки Btrfs после его запуска.

Лучшие дистрибутивы Linux для игр в 2021 году
Операционная система Linux прошла долгий путь от своего первоначального простого серверного вида. Эта ОС значительно улучшилась за последние годы и те...
Как записать и транслировать игровую сессию в Linux
В прошлом игры считались только хобби, но со временем игровая индустрия увидела огромный рост с точки зрения технологий и количества игроков. Игровая ...
Лучшие игры с отслеживанием рук
Oculus Quest недавно представил отличную идею отслеживания рук без контроллеров. С постоянно растущим числом игр и действий, которые осуществляются фо...