Я уже две недели борюсь с настройкой kvm под debian, особенно с производительностью гостевого диска ввода-вывода.
Система:
-Supermicro 1018d-73mtf (X10SL7-F motherboard)
-16GB ECC/UB
-Intel Xeon E3-1240v3
-6xWD Red 750GB 6Gb/s
На этом я запускаю Debian Wheezy на двух дисках, остальные четыре диска настроены с md для raid5 с LVM сверху для гостевого хранилища. Производительность непосредственно на raid5 (измеряется путем создания LV, его установки и запуска тестов bonnie ++ и dd) в порядке, давая мне ~ 220/170 МБ / с для чтения / записи, но на гостях я получаю приличное чтение и 40-50 МБ / с для записи , протестирован как на Windows (Server 2012), так и на Linux (Debian). Я прочитал о выравнивании дисков и разделов и воссоздал настройки raid и lvm по книге, но не получил повышения производительности.
При измерении нагрузки с помощью atop во время записи непосредственно с хоста я вижу, что диски и lvm получают высокие нагрузки, но измерения во время записи гостя показывают, что диски находятся на уровне ~ 20-30%, а lvm становится "красным" (100%) .
Были выполнены обычные настройки KVM / хост-системы, установка планировщика на крайний срок, установка полосовых кешей для рейда, cache = none для гостей, перепрошивка карты контроллера SAS в IT-режим (LSI 2308), и у меня нет идей , вот pastebin с соответствующей информацией о настройке в надежде, что кто-то заметит что-то, что я сделал неправильно http://pastebin.com/vuykxeVg.
Если нужно еще что-нибудь иль вставьте.
Редактирует:
Это в основном то, как настраиваются диски, md и lvm, с некоторыми изменениями, потому что я использую 3 диска + запасные. http://dennisfleurbaaij.blogspot.se/2013/01/setting-up-linux-mdadm-raid-array-with.html
Скриншоты atop во время тестов записи хоста и гостя (bonnie ++)
Не уверен, что моя заметка охватывает всю проблему, но с такой конфигурацией хранилища вы не смогли добиться правильного выравнивания.
Посмотрим,
Вы можете установить соответствующие параметры оптимизации файловой системы, это тоже нормально.
Но для правильного выравнивания LVM вам необходимо, чтобы полосы RAID соответствовали размеру LVM.
Размер экстента LVM всегда равен степени 2. Таким образом, размер вашей полосы RAID должен быть степенью 2. Чтобы получить его, вам нужно, чтобы количество дисков в RAID5 было равно 2 ^ N + 1 = 3, 5, 9. ..
С 4 дисками в RAID5 это невозможно.
Поскольку программный RAID5 не имеет защищенного кеша с обратной записью, он может быть значительно уязвим из-за «частичного штрафа при записи полосы».
Может быть, у вас есть и другие причины, ограничивающие производительность записи, но первая, которую я бы сделал, - переход на RAID10. С RAID10 на всех 6 дисках вы можете получить производительность чтения и емкость гостевого хранилища, сопоставимые с вашей первоначальной настройкой ... и без головной боли с выравниванием;).
Я провел обширное тестирование KVM и производительности кеширования (вы можете прочитать Вот, Вот и Вот), и многие рекомендации, которые вы найдете в Интернете, устарели или просто ошибочны. Но давайте продвигаться по шагам ...
Если вы погуглите для производительности kvm disk io, вы увидите потрясающее количество совпадений. Так что я останусь с XEN. ;-)
Так что, похоже, это общая проблема KVM.
Обычный способ - использовать правильный драйвер virtio.
Затем идут две строчки:
использовать кеширование на KVM-сервере
не использовать кеширование в клиентах на KVM-сервере, если hostOS уже выполняет кэширование диска. Это относится и к Xen, и к другим гипервизорам.
Оба вроде работают - но оба говорят, что значения по умолчанию просто ужасны.
Не используйте кеш с вашим гостем kvm, если гость отправляет запрос на запись, и запрос идет в кеш хоста (данные кеша находятся в памяти физического хоста), а ваш хост выходит из строя, и запрос не записывается на гостевой виртуальный диск , возможно, у вас возникнет проблема с файловой системой на вашем гостевом компьютере