2010-06-09 2 views
3

Я не уверен, что это место для записи, чтобы задать вопрос. Однако я надеюсь, что это так.Разрушение ресурсов в виртуализации

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

Например, если я запускал centOS в выделенном поле, и он работал, скажем, 20 процессов уровня ОС на ОС. Затем я иду и устанавливаю платформу виртуализации и устанавливаю еще 5 виртуальных машин centOS в той же системе, которые точно такие же, как и операционная система хоста. Разве это не означает дублирование этих 20 процессов в 6 раз? Итак, внутренне переключение контекста происходит между 120 процессами вместо 20?

+0

Этот вопрос НЕ о серверах, речь идет о программировании операционных систем и системного уровня, поэтому я разместил это на SO вместо SF. –

+0

Вы получите лучший ответ на SF вместо SO. – saschabeaumont

ответ

2

Во-первых, ваш вопрос, похоже, затрагивает две темы: полную виртуализацию и паравиртуализацию. Большинство VPS предоставляют паравиртуализованную среду, которая (для очень широкого обобщения) только виртуализирует частей ОС, она выглядит как полностью виртуализированная система для пользователя, но с точки зрения процессов, ввода/вывода, она может быть очень различной в зависимости от ОС и способ, которым это было реализовано.

При работе с полной виртуализацией гостей основной причиной и преимуществом виртуализации является восстановление недоиспользуемых ресурсов. Используя это idle емкость.

Например, 5 машин, работающих при среднем использовании ресурсов 15%, могут быть виртуализированы на одном сервере и использовать в среднем 75% ресурсов, все еще оставляя 25% накладных расходов для обработки максимальной емкости.

Если ваши процессы могут сосуществовать в одной и той же системе, все они зависят от одних и тех же библиотек, настроек конфигурации и т. Д., Могут быть подняты/опущены и перезапущены без ущерба для друг друга - тогда вы можете «отбросить» ресурсы, виртуализирующие их ,

Однако, если вам необходимо перезагрузить/перезапустить сервер A, не затрагивая сервер B, и оба они имеют довольно низкое использование, или два приложения зависят от разных версий ядра, например, - это хороший кандидат на виртуализацию.

Когда вы переходите на виртуализацию уровня предприятия и начинаете думать об вычислительных затратах в центах в час и долларах за гигабайт, тогда это «накладные расходы» ничто по сравнению с экономией и другими преимуществами. У вас нет дисков наполовину пустых, CPU на холостом ходу, потраченных впустую ресурсов, конкуренции за то, кто получает, чтобы настроить что. Виртуальные хосты могут перемещаться между хостами в зависимости от нагрузки, отказоустойчивости, высокой доступности, автоматического обеспечения.

+0

OK Я думаю, я понимаю, что вы говорите. Вот пример того, что я думаю: У меня есть конфигурация ведущий-ведомый для долгого процесса с интенсивным использованием процессора и памяти, который может быть распространен на 4 машины. Скажем, когда процесс запускается на этих 4 машинах, давайте скажем 1 Gh CPU и 1 Gig RAM, я получаю 400 результатов в час из кластера (при условии 100 результатов от одной машины). Теперь я получаю более крупную машину (скажем, 4Gh и 4 Gig RAM), на ней есть 4 виртуальных хоста с 1 ГГц процессором и 1 Gig RAM. Будет ли эта конфигурация давать мне те же 4 результата в час с этих 4 виртуальных хостов? –

+0

Правильно ... a * полностью * различный вопрос :) Это зависит от вашего приложения, от того, как он разработан, предела дискового ввода-вывода, возможности многопоточности и т. Д. – saschabeaumont

+0

спасибо за ваш ответ :) .. я закончил публикацию вопрос здесь http://serverfault.com/questions/150341/wastage-of-resources-in-virtualization –

Смежные вопросы