Учебное применение виртуализации - это одно. Да, очень удобно - сунул файлик ВМ, запустил - готово! Каждый студент работает со своей виртуалкой, никто ни к кому не вмешается, на работу другого не повлияет. Кончилась лаба, грохнул файлик и всё. Совсем другое - продакшн. Не всё удобно виртуализировать. Отчасти из-за потерь на "накладные расходы" виртуализации, отчасти из-за дополнительных лицензий на виртуальные серверы.
У себя поставил виртуальные серверы под Debian на libvirt. Проводил тесты, потери на io виртуализируемого в файле винчестера примерно 5-10% от аналогичного реального. Потери производительности виртуализованного процессора аналогично. Вот к каким выводам пришёл:
Минусы виртуализации на libvirt:
- снижение производительности io
- снижение производительности процессора
- виртуальный сервер "поедает" до 100Мб оперативной памяти
- необходимость lvm для снапшотов (никогда не настраивал, ненавижу lvm)
- ядра процессора с поддержкой HyperTrading видны как "настоящие" процессоры
- некоторые "тяжёлые" операции внутри ВМ вызывают сильное торможение всего виртуального сервера
- не стоит использовать для хранения ВМ дисковые массивы, отличные от raid1
- требуются дополнительные "колдунства", чтобы виртуальный сервер корректно выключал ВМ с серверными платформами Windows, аналогичные выключению питания Windows Server по кнопке питания
Плюсы виртуализации на libvirt:
- лёгкая смена "железа" при выходе из строя сервера
- лёгкое администрирование с любой платформы по rdp, если поставить xrdp и virt-manager
- лёгкое использование аппаратных или программных raid для хранения ВМ
- возможность использовать в качестве дисков ВМ локальных файлов|дисков, удалённых ресурсов nfs и др.
Тонкости виртуализации на libvirt:
Поставил виртуальный сервер. Размер самого сервера - менее 10Гб. Винтов два, на обоих своп по паре Гб. Raid софтовый, на нём система, остаток места на винтах - софтовый raid1. Как его использовать - два варианта. Можно создать ФС и примонтировать в стандартный пул libvirt: /var/lib/libvirt (или в другое место) и разместить там требуемые образы дисков и ВМ. Можно образы дисков разместить в /var/lib/libvirt в корневом разделе системы, а софтовый raid оставить без ФС и подключить полностью как "диск" ВМ, указав его имя, например, /dev/md1.
Преимущество софтового raid1 под Linux в том, что можно соединить хоть 10 дисков, в отличие от аппаратных raid контроллеров или софтового под Windows.
Вообще же, использование софтового raid даёт существенный прирост в чтении данных, например, софтовый raid1 из 6 дисков имеет скорость чтения, сопостовимую с 6-дисковым raid0.
Если сервер БД виртуальный, и работает больше на выборку, чем на обновление|добавление, это преимущество вам может быть просто неимоверно на руку :)