Rsync или btrfs что лучше
Timeshift BTRFS
Проект TeeJeeTech, перевод Алексея Федорчука, оригинал
Timeshift BTRFS — это форк Timeshift для файловой системы BTRFS. Вы можете использовать это приложение только в том случае, если ваша система Linux установлена на раздел BTRFS.
BTRFS — это усовершенствованная экспериментальная файловая система со встроенной поддержкой моментальных снимков файловой системы. Поскольку моментальные снимки поддерживаются файловой системой, создание и восстановление снимков происходит очень быстро и занимает менее двух секунд. Снимки изначально не занимают места на диске и медленно «растут» по размеру, поскольку исходные системные файлы со временем меняются. Подробнее об этом читайте по следующей ссылке: Bitrot and atomic COWs: Inside «next-gen» filesystems.
Функционал
Мгновенное создание снапшотов
Создание моментального снимка BTFS выполняется очень быстро. Обычно это занимает одну или две секунды.
Снимки BTRFS создаются путем создания субтома, который делится файлами с корневым субтомом. Файлы не нужно копировать (необходимо обновлять только метаданные файловой системы), что делает процесс очень быстрым.
Нулевой исходный размер снапшотов
BTRFS — это файловая система с копированием при запись. Это означает, что при изменении существующего файла изменения записываются в новые блоки данных вместо перезаписи старых блоков данных. Таким образом, мы можем иметь несколько копий файла, которые совместно используют блоки данных друг с другом, тем самым экономя дисковое пространство.
Из-за этого моментальные снимки не занимают дополнительного места на диске при его создании. По мере того, как системные файлы изменяются в течение определенного периода времени, измененные файлы будут дублироваться файловой системой, и моментальный снимок будет постепенно «расти», чтобы занять дополнительное пространство.
Мгновенное восстановление
Снимки восстанавливаются путем переименования субтомов. Поскольку файлы не нужно копировать или удалять, восстановление моментального снимка происходит очень быстро и занимает меньше секунды.
Вы можете продолжить работу с вашей текущей системой после восстановления. Нет необходимости перезагружаться. Восстановленный моментальный снимок станет активным при следующей перезагрузке вашей системы.
Ваша текущая система будет сохранена как «моментальный снимок», который вы можете восстановить позже, чтобы отменить восстановление.
Кроме того, поскольку моментальный снимок является идеальной копией вашей системы (ничего не исключено), система, которую вы получите после восстановления, будет абсолютно такой же, как и система, с которой вы сделали моментальный снимок.
Различие между Timeshift Rsync и Timeshift Btrfs
Эти различия перечислены ниже.
Установка
В Ubuntu 12.04, 14.04 and 14.10 (а также всех последующих) устанавливается из PPA-репозитория:
В других дистрибутивах Linux необходимо скачать run-файлы с этой страницы.
Mint 19 и Timeshift: RSYNC, или простая Машина времени
Итак, последуем рекомендациям Экрана приветствия, и начнём работу со свежеустановленной системой Tara с настройки Timeshift. Как было сказано в прошлой заметке, она осуществляется по разному в зависимости от того, какая файловая система была выбрана при инсталляции в качестве корневой. Поскольку мы с Мануалом ничего не выбирали, положившись на автоматику, у нас эту роль играла Ext4. Чем и был предопределён выбор механизма создания снапшотов — RSYNC (плюс хардлинки), о чём и пойдёт речь в этой заметке.
Так что в панели выбора типа снимков на самом деле выбирать ничего не приходится — достаточно нажать кнопку Далее для продолжения работы Мастера установки:
Как в нашем случае (виртуальная машина с единственным диском и единственным разделом на нём) нет выбора и для места помещения снимков:
Хотя в общем случае при использовании механизма RSYNC для помещения снапшотов можно выбрать любое другое устройство, лишь бы файловая система на нём была исконно Linux’овая — Ext2/3/3, XFS, JFS, ReiserFS, возможно, даже Reiser4. В связи с этим возникает вопрос — а как там на счёт баб поддержки файловых систем типа F2FS или NIL2FS? Впрочем, он — чисто риторический…
Далее определяется график создания снапшотов и их количество, подлежащее сохранению. По умолчанию предлагается делать снапшоты ежедневно, и хранить их аж пять штук:
Своего мнения по данному вопросу у нас с Мануалом пока не сложилось, хотя думается, что важнее делать это при перезагрузке, А амбиции по части сохранения следует соизмерять с амуницией, то есть ресурсами по части дискового пространства: говорят, механизм RSYNC поедает его изрядно. Хотя это очень зависит от настройки исключений, во первых, и от интенсивности изменений — во вторых. Так что главное тут — помнить, что график создания скриншотов и их количество можно будет потом переопределить в любой момент.
После утверждения графика и нажатия кнопки Далее возникает главное окно Timeshift’а, в котором нет пока ничего, кроме сообщения о его активизации и указания свободного дискового пространства:
И возникает искушение заполнить пустоту окна нажав кнопку Создать (первый снапшот). Однако искушение это лучше преодолеть ради предварительного ознакомления с остальными кнопками инструментальной панели.
Назначение кнопок Восстановить и Удалить очевидно, кнопка Обзор просто вызывает (с правами администратора) файловый менеджер, в нашем случае Nemo, кнопка Мастер — это повторение пройденного пути — самых первичных настроек. А вот кнопка Настройки оказывается очень важной, ибо вызывает панель настроек с пятью кнопками (на считая закрытия): Тип, Место, Расписание, Пользователи и Фильтры.
Как нетрудно догадаться, первые три — это построение пути, пройденного с Мастером. Кнопкой же Пользователи определяется, следует ли включать в снапшоты данные, и если следует — какие именно. По умолчанию для всех пользователей (в том числе и администратора) содержимое их домашних каталогов из снапшотов исключено. Однако никто не препятствует изменить переключатели на положение Включить скрытые объекты (то есть dot-файлы) или даже на Включить всё, как это показано на скриншоте:
А затем, нажав кнопку Фильтры, установить отдельные «исключения из включений»:
С помощью кнопки Добавить в нижней панели можно задать собственные шаблоны для исключений:
Правда, нужно ли включать содержимое домашних каталогов пользователей в снапшоты — вопрос спорный. Если следовать букве цитаты, с которой мы начали, то это может повлечь потерю пользовательских данных. Однако в нашей с Мануалом ситуации этого не произойдёт: в своём домашнем каталоге мы не держим никаких данных, все они располагаются на обособленном разделе, а то и на другом носителе. Так что в
у нас нет ничего, кроме личных конфигурационных каталогов и файлов, которые требуют индивидуального обращения. И выше было показано, что таковое — вполне возможно. Правда, совсем не так, как показано в примере — он лишь иллюстрирует принцип подхода к этому делу.
Так или иначе, закончив разборки с включениями и исключениями и нажав кнопку Кратко, можно посмотреть итоговый список исключений:
И если он удовлетворяет нашим запросам, следует закрыть все вспомогательные окна и бестрепетно нажимать в главной панели кнопку Создать. За процессом создания снапшота можно наблюдать «вживе»:
Только не нужно доверять значению времени, указанному там в качестве оставшегося — оно будет всё время меняться, но в типичной инсталляции среднего дистрибутива (типа Mint’а) при создании первого снапшота меньше 10 минут не составит. По прошествии которых в ранее пустом окне появится первый снапшот, пока ещё одинокий. По правому клику мыши появляется контекстное меню доступных над ним действий:
Выбрав среди них Обзор файлов, можно убедиться, что перед нами действительно слепок исходной файловой системы. Не запрещено и Посмотреть журнал создания, но это потребует времени — парсинг более чем 250 тысяч строк потребует его немало. Возникает резонный вопрос — а почём ситчик-то (в гигабайтах дискового пространства)?
В сети можно встретить утверждение, что размер первого снапшота будет равен объёму исходной системы. Это не так. Наши упражнения проводились над Linux Mint 19 Cinnamon Edition, несколько облегчённой после установки и занимающей 6,7 ГБ (стандартная её инсталляция — 7,7 ГБ). Размер же первого снапшота составил 4,9 ГБ. Без малого два гигабайта разницы можно лишь частично объяснить исключениями, о которых говорилось выше: безусловно, какая-то компрессия в снапщоте осуществляется.
Исходя из общих соображений и из утверждения разработчиков Timeshift, можно ожидать, что механизм BTRFS окажется ещё более экономным по части дискового пространства. Но об этом — в следующем очерке нашего цикла.
1 комментарий к “ Mint 19 и Timeshift: RSYNC, или простая Машина времени ”
Добрый день! Спасибо. Ваш обзор очень полезен. Я установил LM 19 Tara сразу как только узнал про неё(до этого стояла LM17.3 и пора уже было обновляться) на рабочий компьютер и, не разобравшись, влепил timeshift в домашнюю папку на Рабочий Стол. Поскольку Рабочий Стол у меня настроен так, что на нём осуществляется вся деятельность целиком, то в результате папка timeshift стала изрядно весить(какое-то безумное количество гигов-так и не удалось их посчитать).
Кроме того Рабочий Стол у меня ещё и сетевая папка, в итоге компьютер стал жутко тормозить, пока я не снёс папку timeshift(она была с правами администратора) командой rm, причём удаление заняло несколько часов.
Перекрестившись я решил поузнавать что это за чудеса и ваша статья как раз к месту.
Оставьте комментарий Отменить ответ
Для отправки комментария вам необходимо авторизоваться.
🗃️ Btrfs или Ext4 – функциональные возможности, сильные и слабые стороны
Файловая система определяет, где, как и когда данные хранятся и извлекаются с устройства хранения.
Для повседневных системных процессов необходима эффективная файловая система.
Ядро Linux поддерживает множество файловых систем.
Чаще всего используются Ext4, Btrfs, XFS и ZFS, самая последняя файловая система, выпущенная еще в 2018 году.
Каждая из этих файловых систем имеет свой собственный способ организации данных, достоинств и недостатков.
В этом руководстве мы проверим Btrfs и файловую систему Ext4 и постараемся понять их функциональные возможности, сильные и слабые стороны.
Файловая система Ext4
Ext4 – файловая система по умолчанию для многих дистрибутивов Linux.
Она была выпущена в октябре 2008 года с ядром Linux 2.6.28.
Ext4 – это четвертая версия расширенной файловой системы и преемница Ext3.
Ext4 – это надежная файловая система, которая используется уже долгое время.
Это журналируемая файловая система, что означает, что она ведет «логи» о том, где файлы расположены на диске, и отслеживает любые другие изменения на диске.
Файловая система Btrfs
Btrfs или файловая система B-Tree – это новая, современная файловая система с открытым исходным кодом.
Это файловая система с копированием при записи (CoW), адаптированная для систем Linux, и ее название происходит от использования B-tree для хранения внутренних файловых структур.
В настройке файловой системы CoW, когда данные изменяются, копии файловой системы изменяются и записывают данные обратно в доступное место в файловой системе.
Так как данные копируются и изменяются в другом месте файловой системы, это устраняет риск повреждения данных в случае отключения электроэнергии, просто чтобы привести пример.
Важно отметить, что во время модификации исходные данные сохраняются и остаются неизменными.
Самый большой недостаток файловой системы Btrfs заключается в том, что большие файлы легко дефрагментируются, и поэтому требуется периодическая дефрагментация.
Разработка Btrfs началась еще в 2007 году в Oracle, но другие крупные компании, включая SUSE, Facebook, Redhat, вносят свой вклад в ее развитие.
Btrfs существует потому, что разработчики хотели расширить функциональность файловой системы, включив в нее такие функции, как снэпшоты состояния, контрольная сумма и т.данных.
Сравнение файловых систем Ext4 и Btrfs
Cравним две файловые системы по различным ключевым характеристикам.
1. Логи и поддержка копирования при записи
Это первое существенное различие между двумя файловыми системами.
Файловая система Ext4 – это файловая система с журналированием, а Btrfs – файловая система с функцией копирования при записи (CoW).
2. Поддержка нескольких устройств
Распространение одной файловой системы на несколько устройств дает определенные преимущества, такие как увеличенная емкость и надежность.
Btrfs имеет встроенную поддержку RAID, которая упрощает управление несколькими устройствами на уровне файловой системы.
Файловая система Ext4 не имеет встроенной поддержки нескольких устройств. Вам придется использовать сторонние менеджеры логических томов, такие как LVM 2, чтобы распределить вашу файловую систему на несколько устройств и дисков.
3. Дедупликация на уровне файловой системы:
Дедупликация – это функция, которая автоматически удаляет повторяющиеся копии данных из файловой системы для экономии места на диске.
Файловая система Btrfs поддерживает дедупликацию, заменяя идентичные блоки в файловой системе логическими ссылками на одну копию блока.
Эта функция экономит огромное количество дискового пространства.
Файловая система Ext4 не поддерживает дедупликацию.
4. Сжатие на уровне файловой системы
Btrfs использует алгоритмы сжатия для поддержки сжатия данных на уровне файловой системы.
Это означает, что данные будут автоматически сжиматься при записи в файловую систему.
Файловая система Ext4 не имеет встроенной поддержки сжатия.
5. Максимальный раздел и размер файла
Самый большой раздел, который вам разрешено создать с помощью ext4, составляет 1 эксбибайт – что эквивалентно примерно 1 152 921,5 терабайту. Максимальный размер файла составляет 16 ТиБ, что намного больше, чем у любого жесткого диска, который в настоящее время может купить обычный потребитель.
Btrfs поддерживает максимальный размер раздела и файла до 16Eib.
Ext4 позволяет создавать максимум 232 (= 4 294 967 296
= 4 миллиарда) файлов. Btrfs позволяет создать максимум 264 (= 18 446 744 073 709 551 616
= 18 квинтиллионов) файлов.
6. Контрольная сумма/поддержка ECC
Файловая система Btrfs использует контрольную сумму CRC32C для обеспечения целостности данных и предотвращения их повреждения. Файловая система Ext4 не гарантирует целостность ваших данных.
7. Поддержка снэпшотов
Файловая система Btrfs поддерживает моментальные снэпа файла только для чтения и записи.
Файловая система Ext4 не поддерживает создание снэпов файловой системы.
Заключение
Файловая система Ext4 – это последняя версия расширенной файловой системы.
Ext4 существует уже давно и зарекомендовала себя как надежная и стабильная.
Рекомендуется для повседневного использования.
Если электричество отключится, скорее всего, ext4 сохранит ваши данные в безопасности.
Ext4 ориентирован на высокую производительность и масштабируемость.
Это надежный вариант, поскольку он существует уже давно, принося с собой все годы тестирования системы и исправления ошибок.
Несмотря на все его функции, он не поддерживает дедупликацию, сжатие и шифрование данных.
С другой стороны, Btrfs – это современная файловая система, которая может обрабатывать в шестнадцать раз больше данных, чем Ext4.
Файловая система btrfs заслуживает внимания, но полная замена ext4 на настольном Linux может произойти через несколько лет.
Btrfs быстрее ext4?
Btrfs имеет много хороших функций. … На данный момент ext4 кажется лучшим выбором для настольной системы, поскольку он уже присутствует в качестве файловой системы по умолчанию и немного быстрее, чем Btrfs при передаче файлов. Но имейте в виду, что это единственный диск в настольной системе.
Что мне использовать: Btrfs или ext4?
Ext4 — это «чистая файловая система», в то время как Btrfs имеет встроенное управление дисками и томами. У вас не может быть файловой системы Ext4, охватывающей несколько дисков, без каких-либо грязных уловок (которые по-прежнему не позволяют добиться того, чего вы хотите). С другой стороны, Btrfs может сделать это без проблем, потому что он был разработан для этого.
Почему btrfs такой медленный?
btrfs всегда будет медленным при тяжелых рабочих нагрузках записи из-за того, что это файловая система COW. Если вам нужна дополнительная скорость в этой конкретной рабочей нагрузке, почему бы просто не отключить функции COW с помощью chattrib.
Зачем мне использовать Btrfs?
Почему вы используете или не используете BTRFS? … Подтомы Btrfs предоставляют вам столько «разделов», сколько вы хотите за секунду, и делят между собой свободное пространство. моментальные снимки: создание копии всего раздела за секунду без использования места, полезно для резервного копирования, отката обновлений системы и т. д.
Btrfs — это хорошо?
Максимальный размер раздела файловой системы btrfs составляет 16 эксбибайт, а максимальный размер файла также составляет 16 эксбибайт. Учитывая, что btrfs сможет работать с несколькими жесткими дисками, хорошо, что он поддерживает в 16 раз больше дискового пространства, чем ext4.
Может ли Windows читать Btrfs?
Btrfs для Windows от Paragon Software — это драйвер, который позволяет читать файлы в формате Btrfs на компьютере с Windows. Btrfs — это файловая система с функцией копирования при записи, разработанная Oracle для использования в среде Linux. Просто подключите хранилище Btrfs к своему ПК и получите доступ для чтения к содержимому с помощью драйвера Btrfs для Windows.
Кто использует Btrfs?
Следующие компании используют Btrfs в производстве: Facebook (тестирование в производстве с 2014/04, развернуто на миллионах серверов по состоянию на 2018/10) Jolla (смартфон) Lavu (решение для точек продаж iPad.
Что случилось с Btrfs?
Файловая система Btrfs находилась в состоянии Technology Preview с момента первого выпуска Red Hat Enterprise Linux 6. Red Hat не будет переводить Btrfs в полностью поддерживаемую функцию, и она будет удалена в будущем основном выпуске Red Hat Enterprise Linux.
Стоит ли использовать Ext4?
Быстрый ответ: используйте Ext4, если не уверены
Это улучшенная версия старой файловой системы Ext3. Это не самая передовая файловая система, но это хорошо: это означает, что Ext4 надежен и стабилен. В будущем дистрибутивы Linux будут постепенно переходить на BtrFS.
Что такое файловая система Btrfs в Linux?
Btrfs (файловая система B-Tree) — это современная файловая система для копирования при записи (CoW) для Linux. Btrfs стремится реализовать множество расширенных функций файловой системы, уделяя особое внимание отказоустойчивости, восстановлению и простому администрированию. Файловая система btrfs разработана для поддержки требований к высокой производительности и большим серверам хранения.
Btrfs мертв?
С точки зрения участия разработчиков Btrfs далеко не мертв. Он получает новые исправления, которые не только для обслуживания, в каждом новом выпуске ядра.
Будет ли когда-нибудь Btrfs стабильным?
Btrfs стабилен годами. … Все в Btrfs примерно так же хорошо, как и в других файловых системах, за исключением RAID 5/6. Проблема с RAID5 возникла из-за недоработки и не может быть решена сейчас легко, поэтому они решили оставить ее в покое. RAID5 Btrfs можно использовать с определенными мерами предосторожности.
Что лучше rsync или btrfs?
В режиме rsync снимки делаются с использованием rsync и жестких ссылок, а общие файлы совместно используются снимками для экономии места на диске. В режиме BTRFS снимки делаются с использованием файловой системы BTRFS. … RSync может сохранять данные где угодно, он более гибкий.
Сравнение файловых систем Linux: Btrfs и Ext4
Btrfs
Файловая система, которая активно использует метаданные в своей работе, что ускоряет процесс, но при утере метаданных теряются и сами данные.
При копировании данные не записываются целиком, записи подлежит лишь изменённая часть.
Из-за принципа работы хорошо подходит для создания снимков.
Управление томами и сжатие данных уже содержатся в ФС, поэтому не требуется установка дополнительного ПО.
Сама ФС была разработана в 07 году с прицелом на современные устройства, содержит оптимизации для работы с SSD, процессы обнаружения и исправления ошибок, поддерживается дефрагментация и дедупликация в реальном времени (Дедупликация — процесс сжатия за счет удаления неиспользуемых дубликатов файлов).
Формат хранения данных уже заморожен, а это основа ФС, но кодовая база разрабатывается. Периодически улучшения появляются и в самом ядре, над улучшением работают различные крупные компании. Файловая система Btrfs очень интересная и перспективная.
Пожалуй, самая известная и часто встречаемая ФС, которая используется по умолчанию в большинстве дистрибутивов. Наиболее стабильна, так как развитие положено ещё в прошлом веке, планомерное развитие из Ext > Ext2 > Ext3.
Использует в своей работе журналирование, что даёт большую надёжность для файлов, но снижает скорость. Если появляется ошибка, то ФС возвращается к предыдущей версии из журнала. Благодаря журналу, даже при сбое записи ФС остаётся в безопасности.
В Ext4 была добавлена дефрагментация в реальном времени.
Не смотря на почтенный возраст, всё ещё разрабатывается. Разработчики планируют заставить ФС работать с контрольными суммами а автоматическом режиме и улучшить квоты, переложить их на ядро, это улучшит производительность.
Получила в своё распоряжение различные современные механизмы для улучшения производительности, включая работу с SSD, но структура устарела.
Журнал, который используется в работе и часто встречается в описании — принцип работы, при котором транзакции записываются сначала в журнал, а изменение/запись происходят уже после.
Другие
В этом материале я не упомянул о таких вариантах как ZFS, ReiserFS, JFS и F2FS.
ZFS изначально была открытой, развивалась в Sun Microsystems, но потом выкуплена Oracle, её код закрыт, а форк последней доступной версии выпущен как OpenZFS. Официально в ядре отсутствует, потому что её лицензия конфликтует с GPL, а Л. Торвальдс высказывается против. Но разработчики дистрибутивов могут обеспечить её поддержку через слой совместимости. По ряду параметров схожа с Btrfs, которая распространяется под свободной лицензией и официально поддерживается в ядре.
Все они либо не лучше, либо хуже по каким-либо параметрам, чем вышеупомянутые. Такое разнообразные ФС создаёт «Проблему выбора», на практике отличия между ними не заметны. Поэтому для меня вывод остался прежним: Ext4 для дисков — старой технологии записи, Btrfs для SSD — более современных устройств.
В комментариях оставлю ссылку на скриншот из программы GParted. Там наглядно видно, что другие ФС не имеют такой широкой поддержки одной из самых известных и распространённых программ для работы с разделами.