2009-04-08 7 views
4

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

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

Итак, мой вопрос: существует ли стандартный метод оценки требований к оборудованию для виртуализованной системы при оценке аппаратных требований для базовых виртуальных машин? Существует ли постоянная + C для служебных данных VMWare/MS Virtual Server (и если да, то что такое C?)?

P.S. Я обещаю перенести это на serverfault после того, как оно поступит в бета-версию (Promise kept)

+0

Добавить ОЗУ. То, где я нашел узкое место (рядом с дисковым вводом/выводом) – saschabeaumont

ответ

4

Да, для управления виртуальной машиной добавьте 25% дополнительных ресурсов. Поэтому, если мне нужны 4 сервера, которые равны одноядерным 2-гигабайтным машинам с 2 гигабайтами, мне понадобится 10-гигабайтная вычислительная мощность плюс 10 гигабайтов. Это позволит всем системам краснеть и все будет в порядке.

В реальном мире этого никогда не произойдет, все ваши серверы не всегда будут работать постоянно. Вы можете почувствовать использование, профилируя текущие серверы и определяя их точные требования, а затем добавляя дополнительные 25% ресурсов.

Заканчивать это программное обеспечение для профилирования утилизации http://confluence.atlassian.com/display/JIRA/Profiling+Memory+and+CPU+usage+with+YourKit

+0

Это очень полезно, но что, если это новая сборка, и ни один из серверов уже не существует? – brian

+1

Ах, ну, если вы не хотите рисковать, узнайте о производительности, шлепая ваши виртуальные машины на амазонки, эластичные вычислительные облака http://aws.amazon.com/ec2/. Они выставляют вам счет, когда у вас есть представление о том, какие ресурсы используются, покупайте сервер для удовлетворения этих потребностей. –

3

Требования на самом деле аддитивны. Вы должны добавить требования к памяти для каждой виртуальной машины и требования к диску и иметь по крайней мере одно ядро ​​процессора для каждой виртуальной машины. Затем добавьте все, что вам нужно для хост-системы. VM могут в какой-то мере разделить процессор, если у вас действительно низкие требования к производительности, но они не могут использовать дисковое пространство или память.

+0

Что делать, если у них разные нагрузки в разное время суток, например, на ночном сервере сборки? – brian

+0

Возможно, сервер базы данных и сервер сборки имеют один и тот же набор процессоров. По моему опыту, у вас будет нехватка дискового пространства (особенно в системах SCSI, которые, как правило, меньше) или памяти. – cdonner

+0

Мы используем linux-vserver.org в нашей среде разработки по этой причине. Узкое место - дисковый ввод-вывод. В наши дни память дешевая, в нее можно вложить столько, сколько сможете. – mark

2

ответов выше слишком высок, второй (1 жиле на VM) ближе. Вы можете либо 1) планировать заранее, либо, возможно, переобучать 2) добавить точно в срок. У вас есть причина, по которой вы должны хорошо знать (годовой бюджет, ваша выбранная хост-платформа не кластеры хостов, поэтому вы не можете добавить позже?)

Если у вас нет невероятного простого профиля использования, это будет трудно предсказать раньше, и вы будете покупать. Ответ выше (+ 25%) будет в несколько раз больше, чем требуется для современного программного обеспечения для виртуализации серверов (VMware, Zen и т. Д.), Который управляет ресурсами. Это точно только для настольных продуктов, таких как VPC. Я решил использовать его на салфетке и профилировать свою первую среду (набор машин) на хосте. Я счастлив.

Примеры вещей, которые смешаем ваш оценка

  • дискового пространства, некоторые системы (Lab менеджер) использовать только разницу в пространстве от базового шаблона. 10 развернутые машины с дисками 10 ГБ с использованием около 10 ГБ (шаблон) + 200 МБ.
  • Место на диске: после этого вы найдете не нравится дельта в конкретных сценариях.
  • CPU/Memory: Это dev магазин - так что у вас будет беспорядочная нагрузка. Умные хосты не резервируют память и процессор.
  • CPU/Память: Но тогда вы хотите сделать перфорацию тестирования и хотят циклов резервного CPU (не все хосты могут сделать)
  • Мы все виртуализировать по разным причинам. Многие из гостей в нашей среде не имеют большой работы. Мы хотим, чтобы они там увидели, как что-то ведет с кластером из 3 серверов типа X. Или у нас есть набор странных клиентских настольных компьютеров, которые ждут вас, используя один из них тестером. Они редко потребляют много ресурсов хозяина.

Итак, если вы используете что-то подобное, не делаете дельта-диски, дисковое пространство может быть несколько вычислимым. Если менеджер лаборатории (дельта-диск), дисковое пространство действительно трудно предсказать.

Использование памяти и процессора: вам придется профилировать или перегружать сильно. У меня гораздо больше гостевых процессоров, чем хост CPUS, и у меня нет проблем с первыми, но это из-за изменчивого использования в наших QA-средах.

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