Перейти к содержанию

Особенности работы Octopus

Фрагментация ресурсов

Кейс. Дисбаланс загрузки ресурсов на виртуальных машинах (ВМ), расположенных на одном хосте

Описание ситуации

На сервере-хосте размещены несколько виртуальных машин с различными требованиями к ресурсам процессора (VCPU) и оперативной памяти (RAM). Эти машины были созданы вручную, без учета общей нагрузки на хост. В результате, распределение ресурсов оказалось неравномерным, что привело к перегрузке некоторых компонентов системы.

Например, ёмкость хоста — 64 VCPU и 64 ГБ RAM.

Виртуальные машины потребляют:

  • ВМ1: 1 VCPU, 8 ГБ RAM
  • ВМ2: 2 VCPU, 16 ГБ RAM
  • ВМ3: 1 VCPU, 8 ГБ RAM
  • ...
  • ВМN: 3 VCPU, 32 ГБ RAM

В связи с этим могут возникать следующие проблемы:

  1. Перегрузка оперативной памяти: Суммарная потребность всех виртуальных машин в оперативной памяти приближается к 100%, что создает высокий риск отказа системы из-за нехватки RAM. Например, если одна из ВМ начнет активно использовать больше памяти, это может вызвать сбои на остальных машинах.
  2. Недоиспользование процессоров: Несмотря на высокие требования к памяти, использование процессорной мощности остается низким. Это означает, что большая часть вычислительных ресурсов простаивает, тогда как память уже почти исчерпана.

Алгоритмы Octopus учитывают все ресурсы поставщика и все ресурсы, необходимые потребителю. В случае, когда хост с мощным CPU и малым количеством RAM, то Октопус будет стараться перемещать ВМ, которые имеют высокую потребность в CPU и в низкой потребности RAM, тем самым распределять нагрузку оптимальным образом. Это позволит избежать перегрузки отдельных компонентов и повысит общую эффективность использования ресурсов. Эти алгоритмы применимы для любых других комбинаций.