Назад | Перейти на главную страницу

Виртуальные машины и тяжелая нагрузка ввода-вывода - это когда-нибудь разумно?

Я видел на многочисленных службах виртуализации (Azure) и продуктах (vmware, kvm, hyperv) сбои ввода-вывода и зависания системы при большой рабочей нагрузке ввода-вывода.

Мои вопросы:

Разумно ли использовать виртуализированное решение при выполнении тяжелых рабочих нагрузок ввода-вывода?

Да, действительно, очень разумно, на самом деле для большинства организаций теперь виртуальная среда является по умолчанию, а выполнение действий на физических компьютерах - исключение. У нас более 100 тыс. Виртуальных машин всех форм, и многие из них без каких-либо проблем с IOPS> 40 тыс.

Каковы лучшие практики в отношении подобных вещей?

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

Что вызывает эти проблемы, есть ли хорошо известные узкие места в системе или это просто вопрос чрезмерной конкуренции?

Непонимание или попытки сделать слишком много при слишком небольшом объеме ресурсов хранения - вот что обычно вызывает проблемы у людей.

Разумно ли использовать виртуализированное решение при выполнении тяжелых рабочих нагрузок ввода-вывода?

Регулярно ли сервер базы данных извлекает произвольное количество операций ввода-вывода со скоростью 1 ГБ / с? Возьми здесь.

Или виртуальный файловый сервер, доставляющий до 600 МБ / с в кластер HPC. Этот убегает от 8 великорапторов в рейде 10, посвященном.

Каковы лучшие практики в отношении подобных вещей?

Обеспечьте много операций ввода-вывода. Я думаю, что эта виртуальная машина SQL имеет около 8 или 10 выделенных SSD.

Что вызывает эти проблемы, есть ли хорошо известные узкие места в системе,

Люди, не занимающиеся базовой математикой. Если подсистема ввода-вывода не способна обрабатывать нагрузку, она также не сможет этого сделать при виртуализации. Требуется МНОГО операций ввода-вывода - тогда предоставьте выделенную подсистему хранения соответствующего размера.

Помимо базовой математики и концепции, что вам по-прежнему нужны те же операции ввода-вывода, что и невиртуализированные, существует также QOS / приоритизация. Большинство платформ виртуализации предлагают по крайней мере базовую поддержку для этого, это очень поможет предотвратить некорректное поведение виртуальной машины разработчика, задерживающей вашу производственную базу данных.