Есть несколько вопросов, которые я нашел на ServerFault, которые намекают на эту тему, и, хотя они могут быть в некоторой степени основаны на мнении, я думаю, что они могут попасть в эту категорию «хороших субъективных» на основании следующего:
Конструктивные субъективные вопросы:
* tend to have long, not short, answers
* have a constructive, fair, and impartial tone
* invite sharing experiences over opinions
* insist that opinion be backed up with facts and references
* are more than just mindless social fun
Так что с дороги.
Я помогаю другому системному администратору, который заменяет старый физический сервер под управлением Windows 2003, и он хочет не только заменить оборудование, но и в процессе «обновить» до 2012 R2.
В наших обсуждениях о замене ему оборудования мы обсуждали возможность установки ESXi, а затем превращения «сервера» 2012 года в виртуальную машину и переноса старых приложений / файлов / ролей с сервера 2003 на виртуальную машину вместо установки без виртуальной машины. на новом оборудовании.
Он не видит в ближайшие несколько лет необходимости переносить что-либо еще на виртуальную машину или создавать дополнительные виртуальные машины, поэтому в конечном итоге это будет либо новое оборудование, выполняющее обычную установку, либо новое оборудование, работающее на одной виртуальной машине на ESXi.
Мой собственный опыт все же склоняется к виртуальной машине, для этого нет действительно веских причин, кроме возможностей, которые могут возникнуть для создания дополнительных виртуальных машин. Но теперь у гипервизора есть дополнительные накладные расходы и аспект управления, хотя я испытал лучшие возможности управления и отчетности с помощью виртуальной машины.
Итак, надеясь на то, что это может остаться в категории "субъективно хорошо", чтобы помочь другим в будущем, какой опыт / факты / ссылки / конструктивные ответы у вас есть, чтобы поддержать любой результат (виртуализация или отсутствие единого «сервера»)?
В общем случае преимущество размещения автономного сервера на гипервизоре ориентировано на будущее. Это делает будущее расширение или обновление намного проще, быстрее и, как следствие, дешевле. Основным недостатком является дополнительная сложность и стоимость (не обязательно с финансовой точки зрения, но с точки зрения человеко-часов и времени).
Итак, чтобы принять решение, я задаю себе три вопроса (и обычно предпочитаю ставить сервер на гипервизор, чего бы он ни стоил).
Я думаю, что виртуализируемая операционная система является важным фактором, наряду с требованиями к производительности и потенциалом для расширения / роста. Сегодняшние серверы часто являются чрезмерно мощными для приложений и операционных систем, которые мы используем. По моему опыту, большинство стандартных систем Windows не могут эффективно использовать ресурсы, доступные в современный двухпроцессорный сервер. В Linux я использовал некоторые инструменты детального управления ресурсами (cgroups) и контейнеры (LXC), чтобы лучше использовать физические системы. Но рынок определенно ориентирован на оборудование, оптимизированное для виртуализации.
Тем не менее, в некоторых случаях я виртуализировал одиночные системы, а не установку с нуля. Общие причины:
Лицензирование - Сокращающееся количество приложений, которые лицензируются на основе жестких ограничений ядра, сокета или памяти (без учета тенденций в современных вычислениях). Видеть: Отключить ядра процессора в биосе?
Портативность - Виртуализация сервера отделяет виртуальную машину от оборудования. Это делает изменения платформы менее разрушительными и позволяет виртуальной машине ссылаться на стандартные виртуализированные устройства / компоненты. Я смог сохранить дряхлый (но критический) Системы Windows 2000 по жизнеобеспечению с использованием этого подхода.
Будущее расширение - Сейчас у меня есть клиент, у которого есть контроллер домена Windows 2003, работающий на оборудовании эпохи 2001 года. Я создаю для них новую систему ESXi с одним хостом, в которой временно будет находиться новый контроллер домена 2012 R2. Но появятся и другие виртуальные машины. В этой конфигурации я могу предложить надежное расширение ресурсов без дополнительных затрат на оборудование.
Недостатком этого с одним хостом / одной виртуальной машиной является управление. Я исхожу с точки зрения VMware, но в прошлом ESXi немного более дружелюбно относился к этой схеме. Сегодня требования к веб-клиенту vSphere и ограниченный доступ к основным функциям, делает запуск одного хоста (и одиночная ВМ) решение менее привлекательное.
Другие соображения - это ограниченный мониторинг оборудования и более сложная работа с обычными внешними периферийными устройствами (USB-устройства / ленточные накопители / резервные копии /Решения ИБП). Сегодняшние гипервизоры действительно хотят быть частью более крупного пакета управления.
Это не длинный ответ, но в любом случае:
Наиболее веская причина использовать гипервизор для одного сервера, особенно с чем-то вроде Windows Server, заключается в том, что у вас есть полная абстракция оборудования для производственной ОС, и вы можете просто перенести ее на совершенно новое серверное оборудование без каких-либо проблем, если возникнет такая необходимость. Я считаю, что это действительно ценная функция, которая намного перевешивает недостатки практической ненужной работы гипервизора в фоновом режиме.
У виртуализации одного сервера есть несколько преимуществ. Первое, что приходит на ум:
Я думаю, что наиболее важными из них будут возможности создания снимков. Мы используем VMWare повсюду в нашей компании, поэтому для нас имеет смысл подготовить сервер к тому времени, когда возникнет потребность в большем количестве виртуальных машин.
Я не собираюсь давать здесь столь подробный ответ, как другие, поэтому я просто скажу, что в наши дни мне все труднее и труднее оправдывать установку серверной ОС на голом железе, а не установку гипервизора (вашего выбор) и виртуализации рабочих нагрузок. На мой взгляд, преимущества этого:
Затрат и выгод. В конечном итоге, если мне нужно развернуть дополнительные рабочие нагрузки, мне не нужно выкладывать дополнительное оборудование для этих дополнительных рабочих нагрузок. В некоторых случаях при использовании Hyper-V я могу даже сэкономить на затратах на лицензирование.
Легкость развертывания и повторного развертывания.
Простота реализации высокой доступности и аварийного переключения.
Портативность. Скорее всего, я могу переместить виртуальную машину куда угодно, если мне понадобится списать текущий хост или передать его на аутсорсинг.
Перспективы. Ваш коллега-системный администратор, возможно, в настоящее время не видит какой-либо будущей потребности в инфраструктуре на основе гипервизора, но я предполагаю, что в течение 12-24 месяцев он будет, и он будет рад, что выбрал путь виртуализации, если он действительно выберет этот путь .
Аварийное восстановление. Я могу создать резервную копию всей виртуальной машины и восстановить ее или реплицировать на другой хост за считанные минуты.
И так далее, и так далее...
Вот несколько причин, по которым я бы сказал, что виртуальная машина лучше:
Встроенный «KVM over IP» (своего рода) - вы можете получить доступ к своему серверу удаленно с консоли без необходимости использования KVM over IP. Иногда вы просто не хотите что-то делать по RDP и вам нужен консольный доступ. Используя виртуальную машину, вы запускаете выбранный инструмент управления (XenCenter, vSphere Client и т. Д.) И находитесь на консоли своей виртуальной машины.
С виртуальными машинами (и для серверов, не являющихся виртуальными машинами, с моим KVM over IP) мне больше не нужно часами оставаться в своей холодной серверной комнате.
Миграция на новое оборудование - помимо обновления ОС, чтобы установить новое оборудование, вам нужно перенести систему, перемещать вещи и т. Д. С виртуальной машиной вам (обычно) не нужно ничего делать. Вы обновляете свое оборудование, помещаете файлы виртуальной машины на новое оборудование и запускаете.
Хотя никто не предвидит будущее ВМ ",если вы его построите, они придут". Вы захотите запустить новую виртуальную машину, чтобы что-то протестировать, попробовать что-то новое и т. Д. Возможностей гораздо больше.
Виртуальные машины дают вам возможность вернуться к моменту с помощью снимка, сделать его копию, сделать клон виртуальной машины (во время выполнения), а затем развернуть ее - нужно ли протестировать что-то перед запуском, или просто получить второй первый. Есть много вещей, которые вы можете делать со снимками состояния виртуальных машин и т.п.
Избыточность - если вы добавите второй сервер виртуальной машины, у вас может быть избыточное оборудование, и хотя я не знаю о текущих схемах лицензирования VMWare, XenServer теперь имеет XenMotion, по-видимому, как часть бесплатного пакета, поэтому накладные расходы могут не применяться.
Причины, по которым я бы не стал использовать виртуальную машину:
Накладные расходы - вряд ли, но накладные расходы явно есть.
Сложнее в управлении - немного сложнее, но этому легко научиться. Если вы не собираетесь использовать огромную виртуализованную среду, обучение будет тривиальным.
Я прихожу поздно и чувствую, что люди уже высказали некоторые моменты, о которых я хотел бы сказать, но я кратко резюмирую:
Однако то, что еще никто не упомянул и, вероятно, следует упомянуть: если вы находитесь в магазине, где людям может понадобиться тестовый сервер, и они, вероятно, решат эту потребность, взяв запасной рабочий стол и установив серверную ОС на нем возможность предложить им виртуальную машину, вероятно, будет намного лучше соответствовать вашим и их потребностям. Виртуализация нового сервера может быть «причиной» будущего виртуального расширения. (И, честно говоря, если вы не в таком магазине, вероятно, у вас уже есть виртуализация.)
Конечно, не все виртуализируется. Я оценил физическое оборудование для программного обеспечения управления, включающего PXE, описав им, что им нужно сделать, чтобы отключить разгрузку сегмента TCP (PXE бежал как одноногая собака с TSO на, но им пришлось бы отключить его для всей виртуальной VLAN, а они не были склонны это делать). Итак, если новый сервер является чем-то достаточно специализированным, чтобы быть непригодным, ну, не беда.
Но, исключая такой тип специализации, мне стоило бы избавиться от кучи (потенциально неуправляемых) компьютеров класса ПК, на которых работают серверные ОС, лежащие сейчас или в будущем.
Безусловно, я виртуализирую, когда могу. Это позволяет мне подготовиться к следующим действиям в будущем:
Короче говоря, если на сервере не будет запущено определенное программное обеспечение, которое имеет ограничения, запрещающие его виртуализацию (обычно требуется строгая задержка ввода-вывода в сети или на диске, и с правильным оборудованием, даже если это достижимо с виртуализацией), я стараюсь сохранить вещи как можно более виртуальный.
Одна из причин, по которой я могу думать в пользу виртуализации отдельного сервера в виртуальную машину на единственном хосте, - это возможность затем возиться с тестовой средой для этого «сервера».
Если аппаратное обеспечение более чем способно, вы можете клонировать виртуальную машину сервера и удалить ее сетевые / сетевые возможности и изолировать этот клон в качестве «тестовой платформы», с которой можно возиться, прежде чем пробовать то же самое на «рабочем» сервере. Примером может служить сервер, на котором запущено программное обеспечение ERP, и вы хотите проверить, что произойдет, если вы запустите определенный сценарий для программного обеспечения / базы данных ERP. Вы можете сначала сделать это на клонированной виртуальной машине в качестве теста. Затем это можно было бы сделать вместе со снимком действующей виртуальной машины перед развертыванием на ней, с дополнительным преимуществом, зная, что она должна работать нормально.
Создание такой же клонированной «тестовой» среды может быть выполнено с помощью P2V существующего физического сервера, но тогда вам потребуется дополнительный физический хост для размещения вашей новой тестовой виртуальной машины ... в приведенном выше примере все может находиться на том же физическом сервере. оборудование (которое в настоящее время почти всегда является излишним для одной виртуальной машины)
Если ваш вариант использования не требует 100% мощности от выделенного оборудования, я бы каждый раз переходил на виртуальный. Он обеспечивает гибкость, возможность создания моментальных снимков и встроенный доступ к консоли (хотя вам также следует использовать внешнее управление)
Единственный момент, который не имеет прямого отношения к основному вопросу:
Недавно у меня была виртуальная машина, диск которой был недостаточно большим. Он запускал что-то, что генерировало большие объемы данных в реляционной базе данных, которая по соображениям производительности должна была находиться на одном компьютере.
После двукратного расширения образа диска я дошел до стадии, когда на хосте не хватало места для безопасного копирования и повторного расширения образа. Я бы сэкономил пару дней работы, чтобы сделать это с самого начала на выделенной машине, даже если бы это был дешевый ПК, а не высокопроизводительный сервер.
С выделенной машиной вы можете просто выключить ее и добавить больше дисков. Если это сервер, на котором запущены другие виртуальные машины, если у вас нет запасных отсеков для горячей замены, у вас могут возникнуть проблемы с его выключением для этого.