Linux KVM Клиентская файловая система (BTRFS?)

в нашей компании у нас много kvm-клиентов на нескольких серверах, большинство клиентов работают под управлением Ubuntu 16.04, а также их хост-систем.

Выбранная файловая система стала EXT4 для клиентов и хостов. Недавно я использовал некоторые из замечательных функций моментальных снимков, предоставляемых BTRFS, для настройки сервера резервного копирования с инкрементным резервным копированием.

Некоторые исследования показали, что нельзя использовать BTRFS для хоста KVM, потому что фрагментация FS замедляет работу клиентов до тех пор, пока они, наконец, не остановятся.

Есть ли какие-либо рекомендации / делать / не использовать BTRFS на клиенте KVM?

Мы пересматриваем наш выбор FS для клиентов и хостов, есть ли преимущества при использовании XFS по сравнению с EXT4 (клиент / хост или только односторонний)?

5
задан 23 June 2017 в 11:42
4 ответа

В Google можно найти множество веб-сайтов, на которых рассказывается о производительности различных файловых систем с KVM.

Взгляните на этот: ZFS, BTRFS, XFS, EXT4 и LVM с KVM - сравнение производительности хранилища

По словам автора Гионатана Данти:

Протестированные сценарии:

1) Бэкэнд Qcow2 поверх файловой системы XFS поверх необработанного MD-устройства. Были протестированы как тонкие, так и частичные (только метаданные) режимы предварительного выделения;

2) Бэкэнд логических томов, как в классическом LVM (предварительное выделение жира), так и в тонком (тонкое целевое значение lvm). Более того,thin lvm был проанализирован с включением и выключением обнуления;

3) необработанные образы в XFS и EXT4 поверх классического LVM, ретранслируя на файловую систему поддержку разреженных файлов для тонкого выделения ресурсов;

4) необработанные изображения в XFS и EXT4 поверх тонкого LVM с ретрансляцией на тонкую цель lvm для тонкого предоставления. В этом случае обнуление LVM было отключено, так как блоки с нулевым значением напрямую управляются внутри структур файловой системы;

5) необработанные изображения BTRFS поверх его реализации «зеркало + полоса» (здесь нет MD). Я тестировал BTRFS с включенным и отключенным CoW (опция монтирования nodatacow)

6) необработанные образы ZFS поверх его реализации «зеркало + полоса» (снова без MD)

Он заключает:

Для хранилища виртуальных машин оставайтесь далеко от BTRFS: он не только отмечен как «Tech Preview» от RedHat (читай: не на 100% готов к производству), но и работает очень медленно при использовании в качестве хранилища образов виртуальных машин.

В другом блоге рассказывается о BTRFS, вы На многих форумах можно прочитать, что копирование при записи (COW) необходимо отключить для повышения производительности с KVM.

Крис Ирвин рассказывает о преимуществах BTRFS и говорит об альтернативе:

Существуют другие инструменты, или вы можете запустить свою собственную cron-работу. Так что насчет ZFS? Я думал, что ZFS все это делает?

Да, есть Почему бы просто не использовать ZFS?

Продолжайте

ссылка: live with btrfs

Другой способ узнать, подходит ли вам это, - это проверить себя, если производительность хорошая и надежна ли она без копирование при записи.

Если BTRFS вам не подходит, вы можете попробовать ZFS. У вас та же функциональность резервного копирования и множество других улучшений, но это немного сложно реализовать в Linux.

4
ответ дан 3 December 2019 в 01:23

В моем предпочтительном решении для оркестрации KVM, oVirt, используются тома LVM, передаваемые виртуальным машинам как необработанные диски для максимальной производительности, масштабируемости и гибкости. Вы можете делать снимки как qcow2, так и LVM. Если вы создаете новое решение для хранения данных и хотите попробовать что-то в духе SDS и необычное, вы можете вместо этого использовать Ceph и RBD-доступ к томам.

2
ответ дан 3 December 2019 в 01:23

Взгляните на официальный сайт Btrfs Gotchas на их собственной вики: https://btrfs.wiki.kernel.org/index.php/Gotchas

Особенно этот момент :

Фрагментация

Файлы с большим количеством случайных записей могут стать сильно фрагментированными (более 10000 экстентов), вызывая перегрузку жестких дисков и чрезмерные многосекундные всплески нагрузки на ЦП в системах с твердотельным накопителем или большим объемом ОЗУ. На серверах и рабочих станциях это влияет на базы данных и образы виртуальных машин. Опция монтирования nodatacow может быть здесь полезна с соответствующими ошибками.

Одно это говорит против. Какая польза от файловой системы COW, если единственная функция, для которой вы хотите ее использовать, вообще не может быстро использоваться с образами виртуальных хостов? Если вы хотите использовать файловую систему COW, возьмите ZFS.

Также имейте в виду, что Coreos перешел с Btrfs на EXT4 в качестве файловой системы по умолчанию, потому что в то время она была слишком глючной много лет назад.

https://www.phoronix.com/scan.php?page=news_item&px=CoreOS-Btrfs-To-EXT4-OverlayFS

Так что, хотя Ext4 не может быть таким ярким, а Мистер Модные штаны, это надежный и надежная рабочая лошадка. Если вы ищете файловую систему помимо Ext4 в Linux и не желаете использовать ZOL / переход на FreeBSD, возможно, стоит попробовать XFS.

Обратите внимание, что хотя я использую Btrfs на своем домашнем рабочем столе с Gentoo и недавно выпущенными ядрами, каждые несколько месяцев все еще возникают довольно неприятные сбои, из-за которых система не загружается и требует исправления вручную, что требует времени для исследования. Google и методом проб и ошибок, а если не работает, правильную резервную копию.

Настоящий вопрос, который вы должны задать себе, таков: почему мы должны отказываться от Ext4? Кажется, он отлично подходит для вашего варианта использования. То, что вы читаете что-то о новой яркой вещи, не означает, что она вам действительно нужна. Подумай об этом.

1
ответ дан 3 December 2019 в 01:23

CentOS отказывается от поддержки btrfs ссылка: https://www.theregister.co.uk/2017/08/16/red_hat_banishes_btrfs_from_rhel/ поэтому для CentOS btrfs - не лучший выбор.

btrfs рассматривается как следующий стандарт FS, но ZFS также привлекает много внимания, в основном Ubuntu.

Большинство предупреждений о btrfs устарели и касаются конкретной конфигурации например RAID6 (что означает более двух дисков)

openSUSE выбирает btrfs и хорошо его поддерживает. например, в каталоге / var / lib / libvirt они отключают COW так что они, очевидно, столкнутся с некоторыми проблемами и исправят их.

Я запускаю openSUSE с btrfs на 2 SSD-накопителях как RAID1, который используется как root, где я размещаю 5 виртуальных машин (KVM) и 20 контейнеров (Docker).

Меня это вполне устраивает.

0
ответ дан 3 December 2019 в 01:23

Теги

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