РАЗВЕРТЫВАНИЕ ВИРТУАЛЬНОЙ МАШИНЫ НА ХОСТЕ НА ОСНОВЕ ОПИСАНИЯ ХАРАКТЕРИСТИК РАБОЧЕЙ НАГРУЗКИ

1. Способ, относящийся к потенциальной виртуальной машине (VM) и потенциальному базовому вычислительному устройству (хосту), на котором эта потенциальная виртуальная машина (VM) может быть потенциально развернута, и предназначенный для содействия в определении того, следует ли развертывать потенциальную виртуальную машину (VM) на потенциальном хосте с учетом ресурсов, доступных от потенциального хоста, и ресурсов, требуемых потенциальной виртуальной машиной (VM), при этом способ содержит этапы, на которых:
вычисляют промежуточную оценку для каждого из нескольких ресурсов, доступных от потенциального хоста, причем эта промежуточная оценка для ресурса соответствует количеству ресурса, который остается свободным после того, как потенциальная виртуальная машина (VM) будет развернута на потенциальном хосте;
вычисляют оценку из вычисленных промежуточных оценок, чтобы охарактеризовать, насколько хорошо потенциальный хост может разместить потенциальную виртуальную машину (VM);
предоставляют оценку для потенциального хоста блоку выбора, который предназначен для определения того, следует ли развертывать потенциальную виртуальную машину (VM) на потенциальном хосте, на основе его оценки;
принимают выбор потенциального хоста для развертывания на нем потенциальной виртуальной машины (VM);
резервируют ресурсы выбранного хоста, требуемые потенциальной виртуальной машиной (VM), до тех пор, пока потенциальная виртуальная машина (VM) не будет развернута на выбранном хосте; и
развертывают потенциальную виртуальную машину (VM) на выбранном хосте.
2. Способ по п.1, в котором блок выбора выбирает потенциальный хост для развертывания на нем потенциальной виртуальной машины (VM), если потенциальный хост имеет относительно высокую оценку, и блок выбора пытается выполнить выравнивание нагрузки нескольких виртуальных машин (VM) по нескольким хостам, причем относительно высокая оценка соответствует потенциальному хосту, имеющему относительно большое количество ресурсов, остающихся после развертывания на нем потенциальной виртуальной машины (VM), и в котором блок выбора выбирает потенциальный хост для развертывания на нем потенциальной виртуальной машины (VM), если потенциальный хост имеет относительно низкую ненулевую оценку, и блок выбора пытается выполнить максимизацию потребления ресурсов нескольких виртуальных машин (VM) на потенциальном хосте, причем относительно низкая оценка соответствует потенциальному хосту, имеющему относительно малое количество ресурсов, остающихся после развертывания на нем потенциальной виртуальной машины (VM).
3. Способ по п.1, в котором промежуточную оценку для каждого ресурса вычисляют на основе порога, установленного для ресурса, потребления, вычисленного для ресурса на основе собранных данных, и весового коэффициента, назначенного ресурсу, следующим образом:
Промежуточная оценка = (Порог - Потребление) × Весовой коэффициент,
причем порог соответствует резерву, определенному для ресурса на потенциальном хосте, для обеспечения запаса возможностей для ресурса, причем вес, соответствующий каждому ресурсу, обеспечивает относительный акцент на ресурс по сравнению с другими ресурсами, и причем потребление для ресурса представляет, какое количество ресурса потребляется потенциальным хостом, в то время как потенциальная виртуальная машина (VM) и любые другие виртуальные машины (VM) развернуты на нем.
4. Способ по п.3, в котором потребление включает в себя существующее ранее потребление хоста до развертывания потенциальной виртуальной машины (VM) на потенциальном хосте и потребление хоста потенциальной виртуальной машиной (VM) после того, как она развернута на потенциальном хосте, причем порог представляет собой количество ресурса, отличающееся от резерва.
5. Способ по п.3, в котором оценку вычисляют из промежуточных оценок и соответствующих весовых коэффициентов следующим образом:
Оценка = Сумма промежуточных оценок/ Сумма весовых коэффициентов промежуточных оценок/ Нормировочное значение,
причем нормировочное значение выбирается так, чтобы сжать диапазон оценки между 0 и максимальным значением.
6. Способ по п.1, в котором ресурсы включают в себя потребление процессора, потребление памяти, потребление хранения данных и потребление сети.
7. Способ по п.1, в котором ресурсы включают в себя потребление процессора, и способ дополнительно содержит этап, на котором масштабируют потребление процессора потенциальной виртуальной машины (VM) к эквивалентному потреблению процессора потенциального хоста.
8. Способ по п.1, дополнительно содержащий для по меньшей мере одного ресурса этап, на котором выполняют учет накладных расходов виртуализации относительно такого ресурса, при этом накладные расходы виртуализации представляют дополнительное потребление ресурса, связанное с виртуализацией потенциальной виртуальной машины (VM) на потенциальном хосте.
9. Способ по п.1, дополнительно содержащий этап, на котором моделируют выполнение потенциальной виртуальной машины (VM) на потенциальном хосте посредством, по меньшей мере, моделирования размещения фиктивной виртуальной машины (VM) на потенциальном хосте с параметрами потребления, соответствующими потенциальной виртуальной машине (VM), развернутой и работающей на потенциальным хосте, чтобы определить, приемлемо ли потенциальный хост размещает такую фиктивную виртуальную машину (VM), тем самым подтверждая, что потенциальный хост действительно может разместить потенциальную виртуальную машину (VM), по меньшей мере, представленную фиктивной виртуальной машиной (VM).
10. Способ по п.1, содержащий этап, на котором устанавливает оценку для потенциального хоста равной нулю, если относительно какого-либо конкретного ресурса потенциальный хост не имеет в наличии достаточно ресурса.
11. Способ по п.10, содержащий этап, на котором устанавливают оценку для потенциального хоста равной нулю, если использование конкретного ресурса потенциальной виртуальной машиной (VM) на потенциальном хосте приводит к тому, что потенциальный хост превышает порог, установленный для использования такого ресурса.
12. Способ по п.1 относящийся к потенциальной виртуальной машине (VM) и множеству потенциальных базовых вычислительных устройств (хостов), на каждом из которых потенциальная виртуальная машина (VM) может быть потенциально развернута, при этом способ предназначен для содействия в определении того, на каком потенциальном хосте следует развернуть потенциальную виртуальную машину (VM), с учетом ресурсов, доступных от каждого потенциального хоста, и ресурсов, требуемых потенциальной виртуальной машиной (VM), причем способ содержит этапы, на которых для каждого потенциального хоста:
вычисляют промежуточную оценку для каждого из нескольких ресурсов, доступных от потенциального хоста, причем эта промежуточная оценка для ресурса соответствует количеству ресурса, который остается свободным после того, как потенциальная виртуальная машина (VM) будет развернута на потенциальном хосте; и
вычисляют оценку из вычисленных промежуточных оценок, чтобы охарактеризовать, насколько хорошо потенциальный хост может разместить потенциальную виртуальную машину (VM);
при этом способ дополнительно содержит этап, на котором предоставляют оценку для каждого потенциального хоста блоку выбора, который предназначен для выбора одного из потенциальных хостов для развертывания на нем потенциальной виртуальной машины (VM) на основе его оценки.
13. Способ по п.1, относящийся к потенциальной виртуальной машине (VM) и группе потенциальных хостов, на которых потенциальная виртуальная машина (VM) может быть потенциально развернута, причем эта группа хостов является совокупностью хостов, каждый из которых может разместить потенциальную виртуальную машину (VM), если она фактически развернута на такой группе хостов.
14. Способ по п.1, относящийся к множеству потенциальных виртуальных машин (VM) и потенциальному хосту, при этом каждая из данного множества потенциальных виртуальных машин (VM) потенциально может быть развернута на потенциальном хосте, причем способ предназначен для содействия в определении того, какую потенциальную виртуальную машину (VM) следует развернуть на потенциальном хосте, с учетом ресурсов, доступных от потенциального хоста, и ресурсов, требуемых каждой потенциальной виртуальной машиной (VM), при этом способ содержит этапы, на которых для каждой потенциальной виртуальной машины (VM):
вычисляют промежуточную оценку для каждого из нескольких ресурсов, доступных от потенциального хоста, причем эта промежуточная оценка для ресурса соответствует количеству ресурса, который остается свободным после того, как потенциальная виртуальная машина (VM) будет развернута на потенциальном хосте; и
вычисляют оценку из вычисленных промежуточных оценок, чтобы охарактеризовать, насколько хорошо потенциальный хост может разместить потенциальную виртуальную машину (VM);
при этом способ дополнительно содержит этап, на котором предоставляют оценку для каждой потенциальной виртуальной машины (VM) блоку выбора, который предназначен для выбора одной из потенциальных виртуальных машин (VM) для развертывания на потенциальном хосте на основе ее оценки.
15. Способ по п.1 относящийся к потенциальной физической машине, которая потенциально может быть виртуализирована в потенциальную виртуальную машину (VM), и потенциальному хосту, на который потенциальная виртуальная машина (VM) теоретически может быть развернута, при этом способ предназначен для содействия в определении того, следует ли виртуализировать потенциальную физическую машину в потенциальную виртуальную машину (VM) и развертывать потенциальную виртуальную машину (VM) на потенциальном хосте, с учетом ресурсов, доступных от потенциального хоста, и ресурсов, требуемых потенциальной виртуальной машиной (VM).
16. Способ по п.1, в котором промежуточную оценку для любого конкретного ресурса вычисляют на основе данных о потреблении, собранных относительно этого конкретного ресурса, причем эти данные о потреблении представляют, какое количество ресурса потребляется потенциальным хостом в то время, когда на нем развернуты потенциальная виртуальная машина (VM) и любые другие виртуальные машины (VM), и включают в себя данные выборки, объединенные для акцента на относительно более интенсивное потребление посредством:
выбора данных на первом уровне, которые являются почасовыми выборками данных о потреблении;
выбора данных на втором уровне, которые являются ежедневными данными, объединенными из почасовых данных первого уровня посредством усреднения трех наибольших выборок таких почасовых данных;
выбора данных на третьем уровне, которые являются еженедельными данными, объединенными из ежедневных данных второго уровня посредством усреднения трех наибольших выборок таких ежедневных данных; и
вычисления окончательного значения как объединенного из еженедельных данных третьего уровня посредством усреднения трех наибольших отсчетов таких еженедельных данных.
17. Способ по п.1, в котором при резервировании ресурсов выбранного хоста выполняют развертывание виртуальной машины (VM) резервирования на выбранном хосте, причем виртуальная машина (VM) резервирования представляет собой виртуальную машину (VM) без самостоятельной функциональности и информационного содержания, но удерживающую ресурсы выбранного хоста, требуемые потенциальной виртуальной машиной (VM), пока потенциальная виртуальная машина (VM) не будет развернута на выбранном хосте.
18. Способ по п.1, в котором потенциальную виртуальную машину (VM) развертывают на другом хосте, причем при развертывании потенциальной виртуальной машины (VM) переносят потенциальную виртуальную машину (VM) с упомянутого другого хоста на выбранный хост.
19. Способ относящийся к потенциальной физической машине и потенциальному базовому вычислительному устройству (хосту), на котором эта потенциальная физическая машина потенциально может быть развернута, и предназначенный для содействия в определении того, следует ли развертывать потенциальную физическую машину на потенциальном хосте, с учетом ресурсов, доступных от потенциального хоста, и ресурсов, требуемых потенциальной физической машиной, при этом способ содержит этапы, на которых:
вычисляют промежуточную оценку для каждого из нескольких ресурсов, доступных от потенциального хоста, причем эта промежуточная оценка для ресурса соответствует количеству ресурса, который остается свободным после того, как потенциальная физическая машина будет развернута на потенциальном хосте;
вычисляют оценку из вычисленных промежуточных оценок, чтобы охарактеризовать, насколько хорошо потенциальный хост может разместить потенциальную физическую машину;
предоставляют оценку для потенциального хоста блоку выбора, который предназначен для определения того, следует ли развертывать потенциальную физическую машину на потенциальном хосте, на основе его оценки;
принимают выбор потенциального хоста для развертывания на нем потенциальной виртуальной машины (VM);
резервируют ресурсы выбранного хоста, требуемые потенциальной виртуальной машиной (VM), пока потенциальная физическая машина не будет развернута на выбранном хосте; и
развертывают потенциальную физическую машину как ее виртуализированную версию на выбранном хосте.
20. Способ по п.19, относящийся к множеству потенциальных физических машин и потенциальному хосту, причем любая из этого множества потенциальных физических машин потенциально может быть развернута на потенциальном хосте, при этом способ предназначен для содействия в определении того, какую потенциальную физическую машину следует развернуть на потенциальном хосте, с учетом ресурсов, доступных от потенциального хоста, и ресурсов, требуемых каждой потенциальной физической машиной, причем способ содержит этапы, на которых для каждой потенциальной физической машины:
вычисляют промежуточную оценку для каждого из нескольких ресурсов, доступных от потенциального хоста, причем эта промежуточная оценка для ресурса соответствует количеству ресурса, который остается свободным после того, как потенциальная физическая машина будет развернута на потенциальном хосте; и
вычисляют оценку из вычисленных промежуточных оценок, чтобы охарактеризовать, насколько хорошо потенциальный хост может разместить потенциальную физическую машину;
при этом способ дополнительно содержит этап, на котором предоставляют оценку для каждой потенциальной физической машины блоку выбора, который предназначен для выбора одной из потенциальных физических машин для развертывания на потенциальном хосте на основе ее оценки.