ZFS против сырого диска для хранения виртуальных машин: компромиссы
Фон:
Я планирую настроить KVM для запуска Windows и Linux на одной рабочей станции, и я не знаю, как настроить диски. Насколько я понимаю, сырые диски обычно улучшают производительность. Я буду выполнять интенсивную работу по вводу / выводу, поэтому производительность очень важна. Однако для настройки, которую я планирую, потребуется много работы, и я не хочу делать это дважды, если мне не нужно. В моем опыте с виртуализацией рабочего стола с Vbox и VMware Player, меня несколько раз сжигали поврежденные файлы VM, которые не загружались. Это привлекает меня к установке с надежной защитой от повреждения данных и хорошими функциями восстановления. Это привлекает меня к ZFS.
Исходя из этих тестов, ZFS лучше подходит для хранения виртуальных машин, чем другие файловые системы, но не сравнивается с чистым проходом диска. http://www.ilsistemista.net/index.php/virtualization/47-zfs-btrfs-xfs-ext4-and-lvm-with-kvm-a-storage-performance-comparison.html
Мои вопросы:
Как скорость работы файлов ВМ из пула ZFS сравнивается с режимом необработанного диска, в частности с Winodws/NTFS в качестве гостя?
Если бы вы создавали рабочую станцию с двумя ОС, как бы вы оценили достоинства этих двух установок?
Есть ли что-то важное в этом отношении, что я, кажется, не рассматриваю?
1 ответ
ZFS может быть (намного) быстрее или безопаснее в следующих ситуациях:
Если вы планируете использовать какое-либо другое программное решение RAID или bios RAID (например, не выделенное аппаратное обеспечение с относительно мощным встроенным процессором RAID, значительным объемом кэш-памяти DRAM и т. Д.) - у ZFS самый производительный программный RAID
Если ваша конкретная рабочая нагрузка значительно выигрывает от использования алгоритма Adaptive Replacement Cache, который использует ZFS, по сравнению с алгоритмом наименьшего количества недавно использованных страниц, который используются другими файловыми системами (и необработанными дисковыми блоками). Были дискуссии об использовании ARC или аналогичного алгоритма вместо LRU в ядре Linux, но я не уверен, что что-нибудь из этого получилось.
Если вы хотите использовать уникальный RAIDz ZFS вместо программного RAID-5, чтобы решить проблему дыры в записи.
Если вы хотите настроить многоуровневое хранилище, где у вас есть более быстрые накопители (обычно SSD), расположенные перед медленными жесткими дисками большой емкости. ZFS лучше всего подходит для этого, потому что вы получаете L2ARC и / или ZIL, который сводится к уровню кэширования чтения и записи, который обеспечивает производительность, похожую на SSD, и в то же время использует общую доступную емкость больших жестких дисков большего размера. Пример: 2 х 6 ТБ жестких дисков в RAID-1, с 2 х 250 ГБ SSD перед ними с разделением их разделов между L2ARC и ZIL.
Если файловая система, которую вы помещаете в ZVOL или файл в ZFS, не поддерживает (эффективное) сжатие без потерь на уровне блоков. LZ4 быстр и может значительно сэкономить место на диске. Если ваша файловая система использует более низкий алгоритм (более медленный или худший коэффициент сжатия или оба), может быть выгодно использовать LZ4 на уровне ZFS, а не во внутренней файловой системе.
Кроме того, я бы порекомендовал вам использовать ZVOL вместо "файловой системы в файле" для хранения ваших виртуальных машин.
Либо так, либо напрямую используйте набор данных (это наиболее эффективно), если ваша виртуальная машина Linux и может напрямую использовать набор данных ZFS.