Может ли ZFS с использованием снимков заменить DRBD с использованием протокола синхронизации A?

Этот вопрос связан с прежним, более общим вопросом , но на этот раз я хотел бы более конкретно спросить, может ли ZFS заменить DRBD в случае использования, подобном моему. Это два сервера, на каждом из которых размещены свои собственные виртуальные машины или другие службы, при этом виртуальные машины или некоторые другие данные реплицируются друг на друга, чтобы сократить время простоя в случае неисправности оборудования или обслуживания. Эта настройка соответствует задумке, мне нужны предпочтительные локальные операции чтения / записи и могут существовать потенциальные потери данных в произвольный период времени.

DRBD поддерживает такой сценарий с различными протоколами зеркалирования, где протокол репликации A является асинхронным, поскольку мне это нужно. Основное преимущество DRBD в моей настройке заключается в том, что переключиться на протокол с большей синхронизацией легко, просто нужно настроить и перезагрузить. Дополнительно, можно поместить dm-crypt поверх блочного устройства DRBD и поместить файловую систему в dm-crypt, чтобы все данные были зашифрованы.

Проблема DRBD, с другой стороны, заключается в том, что ему нужны блочные устройства, и нужно заботиться об их доступности и размере, используя другие технологии, такие как RAID, LVM и тому подобное. Особенно интересно изменение размера, так как на моих серверах есть свободные слоты для подключения дополнительных дисков в будущем. Для поддержки изменения размера мне нужно было бы использовать LVM под DRBD, чтобы сначала добавить хранилище с помощью LVM, а затем изменить размер DRBD, чтобы учесть новое хранилище. Тем не менее, мне все еще нужно иметь дело с dm-crypt, самой файловой системой и т. Д. Это читается довольно сложно и для меня подвержено ошибкам.

С другой стороны, файловые системы, такие как ZFS, уже предоставляют свой собственный LVM и могут отправлять / получать инкрементные снимки. Таким образом, теоретически ZFS должна иметь возможность реализовать тот же протокол. Такой подход, как DRBD, не требует использования RAID, LVM и т. Д. Можно просто добавить хранилище на серверы, поместить его в пулы ZFS, и он сразу станет доступен для размещения большего количества / большие виртуальные машины или что-то еще. Отправка / получение моментальных снимков звучит так же эффективно, как и все, что делает DRBD, потому что это только инкрементные двоичные данные с любыми накладными расходами, необходимыми для описания изменений, которые должны быть поняты в принимающей ZFS. Я читал о людях, использующих бесконечные циклы без времени ожидания для отправки / получения снимков ZFS и последующего прямого удаления их из источника, потому что они нужны только для краткосрочной репликации.

Однако шифрование кажется проблемой для ZFS. dm-crypt может работать с такими вещами, как zvols, и в будущем он может напрямую поддерживать шифрование , но в настоящее время это не так. Кроме того, отправка / получение снимков всегда выполняется асинхронно, нет возможности реализовать протокол синхронизации, такой как DRBD, если это необходимо. Это может быть приемлемо, поскольку нет необходимости использовать LVM и упростить общую настройку.

Или я ошибаюсь, есть ли другой способ, кроме отправки / получения снимков, как ZFS может пересылать данные на другие хосты из box и только ZFS?

Видите ли вы какое-либо фундаментальное различие в производительности или ограничение при отправке / получении снимков с использованием ZFS очень часто за короткие периоды времени по сравнению с протоколами зеркалирования DRBD? Последнее могло бы быть немного более эффективным из-за только уровня блока, я думаю.

Какие еще различия между DRBD и ZFS вы можете придумать? Помните, что в настоящее время мне не нужны HA-материалы DRBD, сейчас я сосредоточен на репликации данных.

Спасибо!

7
задан 27 May 2017 в 14:00
1 ответ

В последнее время я задал несколько похожий (но все же отличный) вопрос

Короче говоря, все зависит от цели репликации, которую вы хотите достичь, и от того, подходит ли ZoL к вашему случаю использования:

  • если точная репликация адекватна, отправка инкрементальных снимков является очень хорошей стратегией
  • , если требуется синхронизация в близком или полном режиме реального времени, вам пришлось использовать DRBD или для установки зеркального зпола в сети (см. ссылку на мой вопрос выше)
  • при выборе использования ZoL, учтите, что для предоставления ARC, он, по сути, сам переделывает большую часть кода "pagecache". Это означает увеличение расхода памяти на код файловой системы. Более того, будучи файловой системой CoW, ZFS имеет свое специфическое поведение/требования к производительности.

С другой стороны, я советую не использовать ZVOLs, которые скрывают некоторые неприятные сюрпризы.

.
4
ответ дан 2 December 2019 в 23:46

Теги

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