ZFS в Linux (ZoL) и репликация в реальном времени

Я хотел бы понять, какое решение является лучшим для репликации в реальном времени между двумя ZFS на Linux (ZoL), подключенными по каналу 10 GbE. Цель - использовать их для виртуальных машин; только один ящик будет запускать виртуальные машины и саму файловую систему ZFS. Снимок должен быть возможен в первом (активном) поле. Я планирую использовать диски SATA уровня предприятия / почти линейного уровня, поэтому о двухпортовых дисках SAS не может быть и речи.

Я подумал о следующих возможностях:

  • использовать iSCSI для экспорта удаленных дисков и создать зеркало между ними. диски ZFS локального ящика и удаленные диски iSCSI. Больше всего привлекает это решение его простота, поскольку оно использует собственное зеркалирование ZFS. С другой стороны, ZFS не будет отдавать приоритет локальным дискам над удаленными, и это может вызвать некоторое снижение производительности (вряд ли актуально в сети 10 GbE, я полагаю). Более того, что вызывает большую озабоченность, это то, как ZFS будет вести себя в случае потери сетевого соединения между двумя устройствами. Будет ли он повторно синхронизировать массив, когда удаленная машина станет доступной, или потребуется ручное вмешательство?
  • используйте DRBD для синхронизации двух ZVOLS и поместите ZFS поверх устройства DRBD . Другими словами, я говорю о многоуровневом решении ZVOL + DRBD + ZFS. Этот кажется мне предпочтительным подходом, поскольку DRBD 8.4 очень стабильный и проверенный. Однако здесь задействовано множество уровней ввода-вывода, и производительность может пострадать.
  • используйте поверх ZFS + GlusterFS . С точки зрения ZFS это более простое / лучшее решение, так как весь трафик репликации делегируется GlusterFS. Считаете ли вы, что GlusterFS достаточно стабильна?

Какой, по вашему мнению, подход лучше? Спасибо.

8
задан 24 April 2017 в 19:59
1 ответ

Я рекомендую кластеризованную двухузловую настройку SAS или непрерывную асинхронную репликацию с 15 или 30-секундными интервалами. Последнее хорошо для преемственности, тогда как последнее дает возможность получить географическое разделение. Их можно использовать вместе.

Однако, если вы хотите поэкспериментировать, вы можете использовать Infiniband SRP или 100GbE RDMA для создания зеркала ZFS между двумя вашими узлами.

Например, node1 и node2, каждый имеет локальный диск ( предположим аппаратный RAID) и представим это локальное хранилище через SRP. Один узел одновременно контролирует zpool, и этот пул состоит из локальных дисков node1 и удаленного диска node2.

Зеркальное отображение синхронно, потому что это зеркало ZFS. Отработка отказа и согласованность обрабатываются обычным поведением перенастройки. Импорт / владение / экспорт Zpool обрабатывается Pacemaker и стандартными утилитами кластера ...

Или вы можете использовать коммерческое решение , которое делает то же самое. См .:

http://www.zeta.systems/blog/2016/10/11/High-Availability-Storage-On-Dell-PowerEdge-&-HP-ProLiant/

5
ответ дан 2 December 2019 в 23:05

Теги

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