3

Фон

Я использую Ubuntu 16.04.4 LTS (преобразованный в сервер с рабочего стола), установленный в файловой системе ZFS, которая находится на твердотельном накопителе Samsung 840 Evo 120 ГБ. У меня также есть четыре жестких диска, которые являются двумя зеркалами (зеркала 1 ТБ и 2 ТБ), которые также являются ZFS.

Я использую систему для хранения, но и для виртуализации. Я использую виртуализацию KVM в Ubuntu, и для одной из виртуальных машин я сохраняю образ диска ОС VM (который монтируется в «/») на SSD, а образ диска хранения (который монтируется в «/home») на жестком диске 1 ТБ. зеркало.

Система имеет 16 ГБ ОЗУ ECC, а на SSD - 8 ГБ тома SWAP (сжатие ZLE). Виртуальная машина установлена на 8192 МБ, поэтому с другими службами на хосте она дает прибл. 7,8 ГБ для ZFS ARC.

Я заметил, что при записи большого количества данных в виртуальных машинах на образы дисков виртуальных машин размер ZFS ARC значительно увеличивается. Хотя это ожидаемое поведение ARC, поскольку данные получают хиты, у меня есть несколько вопросов, касающихся использования ZFS в отношении хранения и использования образов виртуальных машин, в которых я не уверен ниже.

случай

Пожалуйста, обратите внимание на следующее:

  • Образы дисков ВМ не хранят никаких важных данных - они просто используются для размещения и экспериментов, поэтому целостность не так важна;
  • Образы дисков хранятся в файловой системе внутри файловой системы - поэтому, если каталогом является «/MyMirror/VM/», то «MyMirror» является исходной файловой системой, а последняя («VM») является файловой системой внутри;
  • Образы дисков имеют формат RAW (* .img).

Вопросы

Принимая во внимание вышеизложенное и рассматривая дело ...

  1. Есть ли какая-то польза от наличия образов дисков VM в ZFS по сравнению с ext4?
  2. Есть ли логическая причина / преимущество для ARC, кэширующего образ диска виртуальной машины?
  3. Я делаю это правильно?

Номер 2 меня больше всего сбивает с толку, так как я изо всех сил пытаюсь увидеть логику и любые потенциальные преимущества ARC-кэширования образов дисков. Я мог бы полностью упустить момент (возможно, облачный ум), но как кэширование образа диска на хосте помогает хосту или даже самой виртуальной машине?

Я понимаю, что номер 3 может быть скорее мнением (которого я хотел избежать), но я не уверен, что поступлю по этому "правильному" пути. Возможно, есть лучший способ хранить и использовать виртуальные машины, учитывая мои настройки.

Заранее спасибо!

1 ответ1

2
  1. Есть ли какая-то польза от использования ZFS для хранения на виртуальной машине?

Возможно. ZFS имеет встроенные функции сжатия, дедупликации, моментальных снимков и клонов, а также многие другие функции, которые вы можете использовать для уменьшения занимаемой памяти, упрощения репликации этих файловых систем в другую систему и т.д. Это действительно зависит от вашего варианта использования. Не для того, чтобы быть фанатиком;), но, может быть, иметь возможность использовать эти функции, если они вам нужны, достаточно, чтобы сказать "да"?

  1. ARC делает что-нибудь полезное?

Из того, что вы сказали, я не могу сказать, много ли у вас виртуальных машин, и если да, то разделяют ли они какие-либо блоки друг с другом (либо через снимки / клоны, либо через дедупликацию). Если это так, то кэш может принести вам пользу, поскольку наличие данных в одном из них будет способствовать повышению производительности всех остальных. Если нет, то преимущества, вероятно, будут минимальными, потому что гостевые ОС обычно имеют кэш страниц всего, что они прочитали или написали в любом случае. Однако эта память будет быстро удалена, если будет какое-либо давление со стороны вашей операционной системы, потому что к ней будет доступ только один раз (и она будет в списке LRU в ARC), поэтому я не буду беспокоиться о потраченном впустую пространстве.

  1. Я делаю это правильно?

Полностью зависит от вашего варианта использования. Для описанного вами простого случая это выглядит хорошо, но с другой стороны, в значительной степени все будет. Если вы пытались создать устройство хранения данных для большой фермы виртуальных машин:

  • вы можете рассмотреть возможность использования ZFS ZVOL для хранения вместо файлов внутри файловых систем ZFS
  • вы, вероятно, будете запускать свои виртуальные машины на другом сервере, отличном от вашего хранилища (чтобы вам было легче масштабировать ОЗУ и ЦП, а также вы могли бы изолировать производительность хранилища от производительности виртуальной машины); в этом случае вы бы выставили ZVOL как цели iSCSI или FibreChannel
  • для повышения производительности вы можете захотеть добавить гораздо больше оперативной памяти, включить дедупликацию и сжатие для экономии памяти (в оперативной памяти и на диске), добавить выделенное устройство SLOG для более быстрой синхронизации записей, добавить устройство L2ARC для расширения кэша до SSD
  • для обеспечения устойчивости данных вы, вероятно, захотите включить RAID-Z или аналогичный
  • чтобы обеспечить время простоя для обслуживания, вы, вероятно, захотите, чтобы в режиме ожидания другой хост хранилища мог реплицировать данные с использованием zfs send и zfs receive , а затем каким-то образом перенести хосты VM на новое местоположение (или, возможно, каким-то другим способом отработка отказа, это только один из вариантов)

Вы можете в значительной степени усложнить произвольное развертывание, если оно достаточно серьезное. Но если у вас нет претензий к тому, как ваша система работает сейчас, то какой вред держать ее такой, какая она есть?

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .