Я планирую создать сервер непрерывной интеграции (существующий слишком медленный). Я планирую запустить несколько операционных систем для тестирования нашего приложения на KVM.
Структура будет представлять собой одну физическую машину с 6 ядрами ЦП и 3 жесткими дисками, на которой одновременно будут работать 3 экземпляра KVM.
Я планирую запускать каждую ОС с 2 ГБ ОЗУ, 2 ядрами и с уникального диска (на каждом диске есть копии всех образов).
Могу ли я получить пользу от этой архитектуры? Особенно IO? Насколько сильно отличается производительность ввода-вывода между образом виртуальной машины и физической системой с 2 ядрами и 2 ГБ ОЗУ? Будет ли выделенный диск иметь какое-либо заметное значение?
Уровень производительности ввода-вывода, который вы можете получить от 6 шести дисков, одинаков независимо от того, разделены ли они на три тома RAID1 или один большой RAID10. Преимущество разделения его на три части заключается в том, что виртуальные машины на этих томах не могут вызывать голодание ввода-вывода для других виртуальных машин. Преимущество наличия одного большого тома заключается в том, что случайные пиковые нагрузки на одну виртуальную машину с меньшей вероятностью вызовут голодание ввода-вывода, поскольку доступные накладные расходы должны быть намного больше. Тем не менее, если все ваши виртуальные машины будут выполнять одну и ту же распределенную рабочую нагрузку и, вероятно, будут заняты в одно и то же время, у любого метода нет явных преимуществ.
Что касается производительности физической и виртуальной, я не знаю, каков множитель производительности для KVM / QEMU в наши дни.