- Есть ли какая-то польза от использования ZFS для дискового хранилища виртуальных машин?
Возможно. ZFS имеет встроенные функции сжатия, дедупликации, моментальных снимков и клонов, а также многие другие функции, которые вы можете использовать для уменьшения занимаемой памяти, упрощения репликации этих файловых систем в другую систему и т. Д. Это действительно зависит от вашего варианта использования. Не для того, чтобы быть фанатиком;), но, может быть, иметь возможность использовать эти функции, если они вам нужны, достаточно, чтобы сказать «да»?
- ARC делает что-нибудь полезное?
Из того, что вы сказали, я не могу сказать, много ли у вас виртуальных машин, и если да, то разделяют ли они какие-либо блоки друг с другом (либо через снимки / клоны, либо через дедупликацию). Если это так, то кэш может принести вам пользу, поскольку наличие данных в одном из них будет способствовать повышению производительности всех остальных. Если нет, то преимущества, вероятно, будут минимальными, потому что гостевые ОС обычно имеют кэш страниц всего, что они прочитали или написали в любом случае. Однако эта память будет быстро удалена, если будет какое-либо давление со стороны вашей операционной системы, потому что к ней будет доступ только один раз (и она будет в списке LRU в ARC), поэтому я не буду беспокоиться о потраченном впустую пространстве.
- Я делаю это правильно?
Полностью зависит от вашего варианта использования. Для описанного вами простого случая это выглядит хорошо, но с другой стороны, в значительной степени все будет. Если вы пытались создать устройство хранения данных для большой фермы виртуальных машин:
- вы можете рассмотреть возможность использования ZFS ZVOL для хранения вместо файлов внутри файловых систем ZFS
- вы, вероятно, будете запускать свои виртуальные машины на другом сервере, отличном от вашего хранилища (чтобы вам было легче масштабировать ОЗУ и ЦП, а также вы могли бы изолировать производительность хранилища от производительности виртуальной машины); в этом случае вы бы выставили ZVOL как цели iSCSI или FibreChannel
- для повышения производительности вы можете захотеть добавить гораздо больше оперативной памяти, включить дедупликацию и сжатие для экономии памяти (в оперативной памяти и на диске), добавить выделенное устройство SLOG для более быстрой синхронизации записей, добавить устройство L2ARC для расширения кэша до SSD
- для обеспечения устойчивости данных вы, вероятно, захотите включить RAID-Z или аналогичный
- чтобы обеспечить время простоя обслуживания, вы, вероятно, захотите, чтобы другой резервный хост находился в режиме ожидания, чтобы вы могли реплицировать данные на использование
zfs send
иzfs receive
, а затем каким-то образом переключать хосты виртуальной машины в другое место (или, может быть, каким-то другим способом восстановления после сбоя; это просто один вариант)
Вы можете в значительной степени усложнить произвольное развертывание, если оно достаточно серьезное. Но если у вас нет никаких претензий к тому, как ваша система работает сейчас, то какой вред держать ее такой, какая она есть?