Каковы последствия производительности выполнения VMs на хосте ZFS?

Если шлюз отвечает на запросы ICMP, можно использовать ping:

ping -qc 4 $GATE1 > /dev/null

if [ "$?" -ne 0 ];
ping -qc 4 GATE2 > /dev/null
if [ "$?" -ne 0 ];
 ping -qc 4 $GATE3 > /dev/null
 if [ "$?" -ne 0 ];
  ip route del default;ip route add default via $GATE3
 else
  echo "Three gateway down!"
 fi
else
 ip route del default;ip route add default via $GATE2
fi

Если шлюз не отвечает на запросы ICMP, изменение "ping - королевский адвокат 4" для "проверки с помощью ping-запросов - королевский адвокат 4-I IP_OF_INTERFACE_TO_GATE_N 8.8.8.8"

11
задан 13 April 2017 в 15:37
4 ответа

Поскольку ZFS работает на уровне блоков, размер файлов не влияет на разница. ZFS требует больше памяти и ЦП, но не намного медленнее файловой системы. Хотя вы должны знать, что RAIDZ не эквивалентен по скорости RAID5. RAID10 подходит там, где скорость является приоритетом.

4
ответ дан 2 December 2019 в 21:52

ZFS на приличном (т.е. e buff), вероятно, будет быстрее, чем другие файловые системы, вы, вероятно, захотите создать ZIL в быстром месте (например, SSD). По сути, это место для кеширования записей (ну, больше похоже на журнал в ext3 / 4). Это позволяет box ack записывать данные как записываемые на диск до того, как фактические шпиндели получат данные.

Вы также можете создать L2 ARC на SSD для чтения кеша. Это фантастика в среде виртуальных машин, где вы можете поставить физические диски на колени, загрузив несколько виртуальных машин одновременно.

Диски входят в VDEV, VDEV входят в zpools (пожалуйста, используйте целые диски за раз). Если это меньшая система, вам может потребоваться один zpool и (если вас не слишком беспокоит потеря данных) один VDEV. VDEV - это то место, где вы выбираете уровень RAID (хотя вы также можете MIRROR VDEV, если у вас достаточно дисков). Самый медленный диск в VDEV определяет, насколько быстрым будет весь VDEV.

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

ИМО, Самый большой недостаток ZFS в том, что если ваша файловая система приближается к полной (скажем, 75% +), она становится ОЧЕНЬ медленной. Только не ходи туда.

4
ответ дан 2 December 2019 в 21:52

В зависимости от ваших сценариев использования и виртуальных машин я бы рассмотрел следующее. Пусть операционная система хоста позаботится о файлах, которые вы храните в томах ZFS.

Если возможно, создайте только LUN для каждой виртуальной машины, содержащую только операционную систему и необходимые двоичные файлы. И представьте хранилище для индивидуальных данных в виде общих ресурсов через NFS, samba или iSCSI (или zvols, как указано в комментариях). ZFS может отслеживать каждый файл с помощью контрольной суммы и времени доступа и т. Д. Конечно, если скорость не так важна, вы также можете включить сжатие в некоторых хранилищах данных. Преимущество заключается в отсутствии слоя другой файловой системы. Если вы создадите LUN ​​для второго виртуального жесткого диска и создадите файловую систему NTFS поверх него, ZFS придется обрабатывать большой двоичный двоичный объект, и он не знает ни содержимого, ни файлов, и, следовательно, не может воспользоваться преимуществами кеширования ZIL или ARC в так же, как и файлы плоскости.

Упомянув ACL, ZFS может использовать ACL через NFSv4 или Samba (если включено). Я должен признать, что использую ZFS на FreeBSD, и не могу гарантировать, как включить списки ACL Sambas, сопряженные с томами ZFS. Но я уверен, что это не должно иметь большого значения.

Дедупликация в сочетании с кешем чтения является большим преимуществом, когда дело доходит до экономии места и улучшения массового чтения (Boot storm), поскольку все виртуальные машины начинают читать одни и те же блоки .

То же самое касается моментальных снимков ZFS для виртуальных машин и хранилищ данных. Вы можете создать простой сценарий оболочки, чтобы заморозить виртуальную машину, сделать снимок виртуальной машины и хранилища данных и продолжить работу, или просто создать только хранилище данных, и клонировать виртуальную машину, представив снимок исходного состояния и протестировать некоторые вещи.

Возможности ZFS безграничны;)

EDIT: Надеюсь, теперь я объяснил это немного лучше

EDIT2: Личное мнение: подумайте об использовании RAIDZ2 (RAID6), поскольку вы можете выдержать двойное сбой диска! Если у вас остался один запасной диск, вы никогда не ошибетесь, но двух отказов диска должно хватить для быстрого реагирования. Я просто разместил свой скрипт для мониторинга статуса диска здесь

1
ответ дан 2 December 2019 в 21:52

31 ГБ на самом деле совсем не большой ...

В любом случае , в зависимости от файловой системы, которую вы сейчас используете, вы можете обнаружить, что ZFS немного медленнее, но с учетом характеристик вашего оборудования она может быть незначительной.

Очевидно, ZFS будет использовать хороший кусок ОЗУ для кэширования, что может сделать ваши виртуальные машины более быстрыми 'в общем использовании (когда не занимаетесь тяжелым чтением или письмом). Я не уверен, как ZFS настроен в Linux, но вам может потребоваться ограничить его ARC, если это возможно, чтобы он не ускользнул со всей вашей оперативной памятью (видя, что вам понадобится приличный кусок для вашей хост-системы и виртуальных машин)

Я бы включил сжатие (в наши дни советуют включать его, если у вас нет веских причин не делать этого). Помните, что это должно быть сделано до помещения данных в файловую систему. Большинство людей удивляются, обнаружив, что с ним он работает быстрее, поскольку алгоритмы сжатия обычно работают быстрее, чем дисковый ввод-вывод. Я сомневаюсь, что это вызовет серьезные проблемы с производительностью вашего 6-ядерного процессора. Я не ожидал, что виртуальные машины будут сильно сжиматься, но мне удалось превратить ~ 470 ГБ данных виртуальной машины в 304 ГБ только с настройкой сжатия по умолчанию.

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

Если вы действительно столкнетесь с проблемами производительности, очевидный ответ - добавить SSD как ZIL / L2ARC или даже оба. Не идеально использовать одно устройство для обоих, но это Скорее всего, все же улучшится производительность в пуле, содержащем небольшое количество дисков / vdev.

Чтобы добавить: я бы действительно попытался начать с избыточной конфигурации, если возможно (в идеале с зеркалами), или преобразовать в зеркала из полосы, как только насколько возможно. Хотя ZFS будет проверять все данные и обнаруживать ошибки на лету (или во время очистки), она не сможет ничего с этим поделать (без использования copy = 2, что удвоит использование диска). Вы просто останетесь с сообщением об ошибках в файлах (возможно, в образах дисков виртуальной машины), с которыми вы не сможете многое сделать, не удаляя и не создавая заново эти файлы.

Хотя ZFS будет проверять все данные и обнаруживать ошибки на лету (или во время очистки), она не сможет ничего с этим поделать (без использования copy = 2, что удвоит использование диска). Вы просто останетесь с сообщением об ошибках в файлах (возможно, в образах дисков виртуальной машины), с которыми вы не сможете многое сделать, не удаляя и не создавая заново эти файлы.

Хотя ZFS будет проверять все данные и обнаруживать ошибки на лету (или во время очистки), она не сможет ничего с этим поделать (без использования copy = 2, что удвоит использование диска). Вы просто останетесь с сообщением об ошибках в файлах (возможно, в образах дисков виртуальной машины), с которыми вы не сможете многое сделать, не удаляя и не создавая заново эти файлы.

2
ответ дан 2 December 2019 в 21:52

Теги

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