Всегда ли разумно использовать виртуализированное решение при выполнении тяжелых рабочих нагрузок ввода-вывода?
Да, действительно очень разумно, фактически для большинства организаций виртуальная среда используется по умолчанию, а работа с физическими блоками - исключение. У нас более 100 тыс. Виртуальных машин всех форм, и многие из них> 40 тыс. IOPS без каких-либо проблем.
Каковы лучшие практики вокруг такого рода вещей?
Главное здесь не в том, виртуализирован он или нет - он хорошо понимает потребности вашего ввода-вывода и соответствует ресурсам виртуальной памяти. Это очень просто, если вы знаете, что вам нужно / хотите, и у вас есть бюджет, соответствующий бюджету ваших систем хранения, тогда уровень виртуализации действительно играет незначительную роль или не играет никакой роли - если, конечно, вы ДЕЙСТВИТЕЛЬНО не продвигаете вещи (я говорю десятки / сотни миллионов IOP).
Каковы причины этих проблем, хорошо ли известны узкие места в системе или это просто вопрос чрезмерной конкуренции?
Недостаток понимания или попытки сделать слишком много, используя слишком мало ресурсов хранения, это то, что обычно вызывает проблемы у людей.