Pull to refresh

Comments 23

Для более полной картины стоило бы протестировать ещё btrfs для комплекта к zfs.

Btrfs уже вывел из беты свою raid-подсистему?

Уже несколько лет назад. А вот про ZSF такой информации у меня нет.

Хм, не знал, спасибо за информацию, надо будет затестить.


Но есть проблема и заключается она в том, что btrfs не поддерживает создание виртуальных блочных устройств как lvm или zfs, а для образов виртуальных машин, хранящихся в файловой системе, предлагают отключать copy-on-write, что бы иметь хорошие показатели, что вообще теряет всякий смысл использовать btrfs для хранения образов файловой системы.
Производительность точно будт не лучше чем на lvm.

Тем не менее поддержка raid в zfs была реализована еще в самых первых релизах, а raidz (улучшенный raid5) является одной из ключевых особенностей этой системы, чего нельзя сказать про btrfs.

Когда с 4-х SATA дисков снимается 7-8К IOPS на случайном чтении, сразу возникает вопрос, а что именно вы такое странное натестировали.

Согласен, результаты получились довольно необычные, но на мой взгляд достаточно показательные :)

У вас получается, что включение writeback-кэша на запись в разы ускоряет последовательное чтение с SSD. Разве такое может быть?

Я привел только голые цифры, никаких дополнительных твиков не описанных в статье я не применял.
На сколько я понимаю режим cahce=writeback кэширует как операции записи так и чтение с диска.

Да, может, и не только с SSD — в режим writeback чтение/запись гостевой системы кешируются хостом, что и даёт большую производительность ввода/вывода
У меня наоборот, выключение writeback-кэша для Windows виртуальных машин, добавило производительности в целом.
Как вы считаете, в чем причина такого результата?

Во первых: proxmox не использует блочные тома zfs (zvol), а хранит диски прямо в файловой системе. В отличии от lvm, где обращение идет напрямую к тому минуя файловую систему, а это согласитесь уже на уровень абстракций меньше.


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

А есть ли смысл в proxmox использовать ssd + lvm?

Имеет, в большинстве случаев это даст вам бо́льшую производительность, чем хранение образов в файловой системе.

Спасибо, по наблюдениям заметил это как раз с HDD.
т.к. до какого то времени proxmox из коробки не использовал lvm и хранил образа в виде файлов в ФС.
И когда я мигрировал на сервер с lvm скорость по ощущениям возрастала.

Странно. У меня все образы KVM-машин лежат именно в zvol:


root@pve02 ~ # zfs list -t volume
NAME                        USED  AVAIL  REFER  MOUNTPOINT
storage/kvm/vm-100-disk-1  2.70G  2.46T  2.70G  -
storage/kvm/vm-101-disk-1  4.92G  2.46T  4.92G  -
...

Вы точно при создании хранилища указали его тип, как "ZFS"?

Вот-вот. И, кстати, zvol позволяет использовать «cache=none»

Да, должен признать, я действительно ошибся, proxmox все таки умеет zvol, а конфигурация моего хранилища осталась в результате обновления с предыдущих версий proxmox, где zfs был только как local storage.
В новых версиях Proxmox используется уже zvol, так что переписал статью с тестами на zvol.
Спасибо за замечание!

Потрясающая победа writeback над здравым смыслом. Сохранность данных не является приоритетом.

Очень часто это действительно так.

На сколько я понимаю, это довольно спорный вопрос. Кроме того на официальном форуме proxmox есть информация о том что это устаревшая информация, и опция `cache=writeback` является рекомендуемой, во всяком случае, для zfs:
you refer to an old post, newer kernels and newer qemu version are in place now. for zfs, cache=writeback is the recommended setting.

Буду рад любым пояснениям на этот счет.
Sign up to leave a comment.

Articles