Вопрос или проблема
Я пытаюсь создать реплику подтома btrfs, используемого для резервных копий, на другом диске с помощью btrfs send
/btrfs receive
. Размер подтома составляет несколько терабайт, поэтому я ожидаю, что этот процесс займет некоторое время.
До сих пор подтом на целевом диске содержит большое количество каталогов с числовыми названиями, таких как:
o133282512-18088-0
o133282513-18088-0
o133282539-18088-0
o133282554-18088-0
o133282555-18088-0
o133282556-18088-0
o133282557-18088-0
o133282558-18088-0
o133282559-18088-0
o133282570-18088-0
...
o95947528-15073-0
o95947529-15073-0
o95947530-15073-0
o95947531-15073-0
o95947532-15073-0
o95947533-15073-0
o95947534-15073-0
o95947535-15073-0
o95947536-15073-0
o95947537-15073-0
Когда я проверяю содержимое этих каталогов, я вижу имена файлов, которые, похоже, пришли из файловой системы, которую я копирую. Например, один из каталогов, который я проверил, содержит множество изображений в формате JPEG, что соответствует тому, что это копия резервной копии части моей фото-библиотеки.
Таким образом, похоже, что некоторые файлы данных проходят, но btrfs (пока) не воспроизвел никакой структуры каталогов исходной файловой системы.
Это нормальное поведение для btrfs send/receive? Со временем btrfs воспроизведет структуру каталогов исходного подтома?
Ответ или решение
Да, такое поведение при использовании команд btrfs send
и btrfs receive
является нормальным в процессе передачи данных больших объемов. Позвольте объяснить, как работает этот механизм и почему вы видите именно такую структуру.
Что происходит при использовании btrfs send
и btrfs receive
-
Целостность передачи данных: Команда
btrfs send
извлекает данные из исходного подтома, создавая последовательный поток изменений, которые затем могут быть переданы по сети или записаны на другой диск с помощьюbtrfs receive
. Этот процесс может производиться в виде полного образа подтома или в виде инкрементальных изменений, если вы уже произвели первоначальную передачу. -
Динамическая структура: В процессе передачи большого объема данных структура каталогов может не отображаться сразу. Вы можете наблюдать временные подкаталоги с именами, состоящими из чисел. Эти директории представляют собой чанк данных, которые сервер
btrfs receive
временно создает для оптимизации процесса передачи. -
Временные директории: Каждый из этих временных подкаталогов соответствует определённым частям или объектам исходного подтома и может содержать файлы. Полная структура каталогов вашего исходного подтома будет вовлечена и восстановлена по мере завершения передачи данных.
Что делать дальше
-
Проверка состояния передачи: Если вы видите, что файлы передаются, но директории еще не восстановлены полностью, это может быть нормально. Продолжайте мониторить процесс. Если команда
btrfs receive
завершила выполнение, структура каталогов должна отображаться корректно. -
Убедитесь, что нет ошибок: Проверьте наличие ошибок при выполнении команд. Это может быть сделано с помощью логирования или мониторинга консоли. Убедитесь, что ни один из шагов не был пропущен.
-
Прерывание и повторная инициализация: Если процесс застрял или завершился неудачно, вы можете прервать его и попробовать инициализировать передачу заново. Также произведите проверку подтомов на наличие ошибок с помощью
btrfs scrub
.
Заключение
Ваша ситуация вполне соответствует ожидаемому поведению btrfs send/receive
. Наличие многочисленных временных директорий – это нормальная практика, и поскольку данные продолжают передаваться, в конечном итоге структура каталогов должна быть восстановлена. Если продолжите наблюдать отклонения после завершения передачи, это может потребовать более детального исследования, возможно, с использованием инструментов диагностики Btrfs.