Задний план:
Я исследую возможность использования файловой системы, отличной от ext3 / 4, с возможностью создания моментальных снимков для резервного копирования и отката. Рассматриваемые серверы - это узлы серверов почтовых ящиков, работающие на платформе VPS Linode Xen. Меня особенно привлекают различные опубликованные преимущества, которые предлагает ZFS с точки зрения целостности данных, и стабильный выпуск в этом году встроенной поддержки ZFS в Linux - http://zfsonlinux.org
ZFS кажется более продуманным вариантом с точки зрения преимуществ и простоты (вместо LVM + XFS). Обратите внимание, что у меня мало опыта работы с ZFS (которую я использую при локальной установке FreeNAS) и с XFS, отсюда и пост. На сегодняшний день мои серверы используют файловые системы ext3, не управляемые LVM.
Подробный вопрос:
Итак, у меня два вопроса.
(1) Какая из двух файловых систем была бы лучшим выбором для наилучшего из всех следующих 3 аспектов при работе в гостевой системе Xen Linux?
(2) Если ZFS - жизнеспособный вариант, практично ли использовать RAIDZ в образах дисков Xen для дальнейшего улучшения решения для обеспечения целостности данных?
Примечание: я не хочу рассматривать BTRFS, учитывая множество предупреждений, о которых я читал при использовании его в производственных системах.
Нет причин, по которым вы не могли бы использовать какое-либо из этих решений на своем Linode, но это сделает ваш Linode несовместимым с любыми дисковыми службами, управляемыми Linode. Linode поддерживает только ext3; отсутствие резервных копий Linode и изменение размера диска могут повлиять на миграцию (хотя я подозреваю, что это работает на уровне образа диска). Вам решать, перевешивают ли преимущества ZFS недостатки. Вы можете делать некоторые изящные вещи с файловой системой «копирование при записи», например, настоящие снимки состояния, а не странную хакерскую штуку, которую делает LVM.
С точки зрения использования raidz, нет никаких реальных преимуществ, кроме, возможно, экономии места. Все образы дисков будут находиться на одном томе raid10 на хост-машине вашего Linode, поэтому имеет больше смысла использовать блоки ditto, а не raidz. ZFS хранит несколько копий определенных блоков: три копии глобальных метаданных, две копии метаданных файловой системы и одну копию пользовательских данных. Вы можете установить свойство «копий» в файловой системе ZFS, чтобы контролировать количество пользовательских копий. Если вы установите его на 2, все пользовательские данные будут дублироваться, а другие два значения также увеличиваются на одно, ограничиваясь тремя (то есть 3 копиями метаданных файловой системы). Это можно установить на уровне файловой системы или всего пула, чтобы вы могли выбрать, какие данные достаточно важны для зеркалирования.
ZFS будет стараться держать блоки ditto как можно дальше друг от друга. Различные vdev, если в пуле есть несколько vdev или по крайней мере 1/8 от vdev, если это только один vdev (как ваш Linode).