Каковы преимущества использования моментальных снимков btrfs по сравнению с rsnapshot в сценарии резервного копирования

Судя по тому, что я вижу в других сообщениях, это может быть вызвано установкой ОС на два отдельных диска или раздела. Пользователи Kali и Ubuntu сообщили об одной и той же проблеме. Проблема в journaldи в том, как он все еще регистрируется в /var, в то время как systemdпытается его размонтировать. Согласно этой ветке , есть два способа сделать это:

  1. Сделать журнал journaldв энергозависимой папке в /run, чтобы он не блокировал /var, но взамен вы теряете журналы при завершении работы.

    Отредактируйте /etc/systemd/journald.conf, чтобы изменить строку Storage=на

    .

    Storage=volatile

  2. Или установите перехватчик выключения, чтобы размонтировать /varпозже. Это не удалит сообщение failed, так как systemd по-прежнему будет пытаться размонтировать /var, но действительно размонтирует /varправильно в конце последовательности выключения. Вы просто этого не увидите.

    Добавьте хук shutdownв массив mkinitcpio's HOOKS=, например.:

    HOOKS="base udev autodetect block keymap encrypt lvm2 filesystems usbinput fsck var shutdown"

1
19.05.2021, 21:38
2 ответа

btrfs является копией -на -файловой системе записи со многими функциями (, такими как обнаружение и исправление ошибок, прозрачное сжатие, моментальные снимки, вспомогательные -тома и т. д. ), которые делают его медленнее, чем традиционный файловая система.

Однако моментальные снимки btrfs очень легкие -по весу, и их создание практически не занимает времени. И использованиеbtrfs send... | btrfs receive(илиbtrfs send | ssh | btrfs receive)намного быстрее, чем использование rsyncили rsnapshotили любого другого метода, который требует сравнения файлов отправителя и получателя.

Эти сравнения файлов не нужны при отправке снимка, поскольку точные различия между одним снимком и другим уже известны (они присущи снимку ), поэтому измененные блоки можно просто отправить получателю как непрерывный двоичный поток -не требуется никаких сравнений временных меток или содержимого файлов.

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

Я использую zfsвместо btrfs, который имеет очень похожий механизм моментального снимка и отправки/получения. Когда я переключился с rsyncна zfs sendдля своих резервных копий, это сократило -время выполнения инкрементного резервного копирования с нескольких часов до нескольких минут.

Я делаю резервные копии всех машин в своей локальной сети в «резервном» пуле на моем основном файловом -сервере.Дошло до того, что резервное копирование rsyncне завершалось до того, как cron запускал резервное копирование на следующий день. При постоянном выполнении нескольких одновременных резервных копий производительность сервера была ужасающей, и требовалось постоянное ручное вмешательство (, в основном прерывание процессов rsync ), чтобы вернуть его в пригодное для использования состояние. Переключение на zfs sendбыло разницей между наличием пригодного для использования файлового сервера -и непригодного для использования. Теперь мне редко приходится даже думать об этом, это просто работает. Максимум раз в год или два я удаляю старые моментальные снимки из пула резервных копий (Я агрессивно автоматически -устареваю моментальные снимки на резервных копиях хостов, но гораздо менее агрессивно в пуле резервных копий ), что может занять много времени. время, если я позволю резервному пулу сохранить миллион или два моментальных снимка.

Что касается того, может ли он заменить вашу текущую настройку или нет, я рекомендую создать виртуальную машину для тестирования btrfs с двумя пулами btrfs и поэкспериментировать с созданием моментальных снимков и их отправкой из одного пула в другой. Или несколько тестовых ВМ, чтобы вы могли поэкспериментировать с btrfs sendпотоком моментальных снимков через ssh.

Я бы не рекомендовал переключаться, пока вы не будете хорошо знакомы с тем, как работают моментальные снимки btrfs и отправка/получение btrfs.

На самом деле, создайте несколько виртуальных машин ZFS, чтобы вы могли почувствовать разницу.

Виртуальные машины отлично подходят для опробования новых вещей, прежде чем вы решите, хотите ли вы их использовать. Чтение документации необходимо, но нет ничего лучше, чем испачкать руки, если вы действительно хотите понять, как что-то работает.


Кстати, прозрачное сжатие может компенсировать большую часть снижения производительности при использовании файловой системы типа btrfs или ZFS и более традиционной файловой системы, такой как ext4 или xfs, в зависимости от вашей рабочей нагрузки.

  • Если производительность файловой системы является для вас единственной или самой важной вещью, используйте xfs-, это явный победитель, безусловно.

  • Если вам нужны снимки, отправка/получение снимков,сжатие, ECC, вспомогательные тома -и т. д., затем используйте либо ZFS, либо btrfs.

  • ИМО, единственная реальная причина использовать btrfs вместо ZFS заключается в том, что btrfs находится в основном ядре Linux, в то время как ZFS, вероятно, никогда не будет из-за конфликта лицензий между CDDL и GPL. Для ZFS вам нужно скомпилировать и установить модуль ядра... что очень просто с модулем zfs -dkms.

  • Если вы используете Ubuntu, то вы можете использовать ZFS из коробки, они не думают, что проблема с лицензией так уж важна -ИМО, они ошибаются в этом, но маловероятно, что они подал в суд на Oracle.

  • Кроме того, поскольку вы используете LUKS, вас может заинтересовать то, что ZFS может опционально шифровать любой набор данных («под-том» в терминологии btrfs. Что-то вроде комбинированной файловой системы LV + в терминологии LVM ). Я никогда не использовал шифрование LUKS или ZFS, поэтому я не могу сказать вам, как они сравниваются.

  • Я не вижу особой причины использовать ext4 в наши дни, за исключением того, что он используется по умолчанию для большинства дистрибутивов. Нет ни преимущества, ни веских причин для его использования.

  • Наконец, не поддавайтесь -искушению дублирования с ZFS. В теории это звучит как отличная идея, но на практике это означает, что таблица дубликатов de -должна храниться в ОЗУ, поэтому вы уменьшаете потребность в большем количестве очень дешевых дисков и заменяете ее потребностью в более очень дорогая оперативная память. Это, с учетом нескольких исключительных случаев использования -(, таких как запуск сотен или тысяч одного и того же образа ВМ ), является плохой сделкой -, поскольку ОЗУ лучше использовать для запуска программ или кэширования дисков.

2
28.07.2021, 11:30

Я считаю, что очевидной проблемой является...

rsnapshot, если он настроен идеально, копирует с одного диска на другой, поэтому, если ваш диск с данными выйдет из строя, все в порядке, и вы можете восстановить его из отдельной резервной копии. И этот резервный том (, то есть другой диск ), не обязательно должен находиться на том же сервере, rsnapshot может происходить через сетевое соединение.

btrfs все происходит на одном и том же диске или томе, если это не работает и это все, что у вас есть, то вы s.o.l. Если это все на одном диске, это плохо. Использование raid5 или raid6 — хорошее начало, но вы по-прежнему очень восприимчивы к простому повреждению файловой системы, от которого не защищает raid, не говоря уже о пожаре, воде или любой другой «катастрофе» в этом конкретном месте.

Я подозреваю, что btrfs по своей природе будет быстрее, так как его процесс моментального снимка происходит автоматически, по сравнению со временем, которое требуется rsnapshot для чтения из вашего тома данных, временем, которое требуется для записи этих данных по любому методу подключения к резервному тому, а затем время, необходимое для записи этих данных на диск в резервном томе. Если это отдельные диски, но на одном сервере, это может быть очень быстро, но если rsnapshot проходит через сеть в какое-то другое место, это может быть значительным штрафом.

Используя Synology NAS, они предлагают либо ext4, либо btrfs в качестве выбора файловой системы, и мне сказали, что ext4 быстрее. Я считаю, что ext4 в целом быстрее, чем btrfs, но, конечно, важно, что и как вы будете использовать файловую систему, если разница значительна.

0
28.07.2021, 11:30

Теги

Похожие вопросы