Виртуальная и хост машина - Новости с мира ПК
Vvmebel.com

Новости с мира ПК
2 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Виртуальная и хост машина

Издержки виртуализации, часть 1: виртуальная машина Oracle VM VirtualBox на базе хост-ОС Windows

Сегодня виртуализация широко используется практически в любой части ИТ-индустрии — от личных мобильных устройств до мощных вычислительных центров, позволяя решать самые разные задачи. Виртуализация может выступать в разных формах — начиная от виртуализации и эмуляции платформ, заканчивая виртуализацией ресурсов. Но сегодня речь пойдет о нативной аппаратной виртуализации — современные процессоры поддерживают ее с помощью наборов инструкций, таких как Intel VT-x или AMD-V.

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

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

Как уже говорилось выше, один из ключевых факторов для нормальной работы нативной аппаратной виртуализации — поддержка процессором специфических наборов инструкций. Intel представила свой набор инструкций VT-x в 2005 году, еще в рамках архитектуры Netburst, применявшейся в процессорах Pentium 4. AMD разработала свой набор инструкций, AMD-V, и первые процессоры с его поддержкой вышли на рынок в 2006 году. Некоторое время спустя обе компании предложили новые наборы инструкций: Intel EPT (Extended Page Tables) и AMD RVI (Rapid Virtualization Indexing) соответственно. Суть обоих наборов в том, что гостевая ОС получает контроль над виртуализованными страницами памяти напрямую, минуя гипервизор — это снижает нагрузку на него и несколько поднимает скорость виртуальной системы. Для проброса напрямую устройств в гостевую ОС компания Intel разработала набор инструкций Intel VT-d. В арсенале Intel имеются и другие наборы инструкций для виртуализации: Intel VT FlexMigration, Intel VT FlexPriority, VPID, VT Real Mode, VMFUNC.

В новых поколениях процессоров производители не только предлагают новые возможности наборов инструкций виртуализации, но и сокращают тайминги выполнения конкретных инструкций, что позволяет повысить производительность виртуальной системы в целом. Для примера, в процессорах Pentium 4 задержка на выполнение инструкций VMCALL и VMRESUME приближалась к 1500 наносекундам, а в Core 2 Duo (Penryn) она составляла уже менее 500 наносекунд.

Сокращение разрыва в производительности между реальной и виртуальной системой сделало виртуальные машины (ВМ) гораздо более выгодными в использовании, в том числе для решения задач корпоративного уровня. Наиболее очевидными достоинствами являются повышение средней загрузки оборудования (несколько ВМ равномерно используют ресурсы аппаратной платформы, сокращая время простоя), а также запуск устаревшей ОС, которая не удовлетворяет современным требованиям (например, по безопасности), но при этом необходима для запуска и работы уникального ПО (или в силу иных причин). Кстати говоря, столь популярные на сегодня облачные сервисы также имеют в своей основе технологии виртуализации. Суммируем основные преимущества, которые предприятие получает от применения виртуализации. Это:

  • увеличение средней загрузки физического сервера, а, следовательно, и коэффициента использования аппаратуры, что, в свою очередь снижает общую стоимость АО;
  • простота миграции виртуальных серверов с одного физического на другой при апгрейде аппаратного обеспечения;
  • простота восстановления работоспособности виртуального сервера при аппаратном сбое оборудования: виртуальную машину значительно проще перенести на другой физический сервер, чем переносить конфигурацию и ПО с одной физической машины на другую;
  • существенное упрощение перевода пользователей или бизнес-процессов на новые ОС и новое ПО: использование ВМ позволяет делать это по частям и не трогая аппаратные ресурсы; кроме того, в процессе можно легко анализировать и исправлять ошибки, а также оценивать целесообразность внедрения «на лету»;
  • поддержка в бизнес-процессах работы устаревшей ОС, от которой по каким-либо причинам в данный момент времени невозможно отказаться;
  • возможность тестирования тех или иных приложений на ВМ, не требуя дополнительного физического сервера и т. д.
  • другие сферы применения.

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

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

Методика тестирования

Для тестирования использовался набор тестовых приложений из обычной методики исследования производительности платформ IXBT.com от 2011 года, с некоторыми оговорками. Во-первых, из набора были убраны все игры, т. к. виртуальный графический адаптер с драйвером Oracle обладает слишком слабой производительностью: в большинстве случаев игры даже не запускались. Во-вторых, убраны приложения, которые стабильно не могли завершить тестовый сценарий на одной из конфигураций — это Maya, Paintshop Pro, CorelDraw. По этой причине нельзя сравнивать итоговые рейтинги и суммарный балл производительности нашего тестового стенда с базой протестированных процессоров. Однако сравнение результатов отдельных тестов вполне корректно.

Также нужно учитывать, что в методике используются версии приложений от 2011 года. Они могут не поддерживать новые технологии, оптимизации и наборы инструкций, внедренные после этого времени. При этом наличие такой поддержки в более новых версиях приложений может существенно влиять на производительность этих приложений — и в реальной, и в виртуальной системе.

Тестовый стенд

Для тестирования мы взяли систему с конфигурацией, подходящей на роль как сервера, так и высокопроизводительной рабочей станции. В будущих материалах мы проверим на ней возможности виртуализации с разными хост-системами. Сегодня в качестве хоста используется Windows 7.

  • Процессор: Intel Xeon E3-1245 v3
  • Материнская плата: SuperMicro X10SAE
  • Оперативная память: 4 × Kingston DDR3 ECC PC3-12800 CL11 8 ГБ (KVR16LE11/8)
  • Жесткий диск: Seagate Constellation ES.3 1 ТБ (ST1000NM0033)
  • Операционная система: Windows 7 x64

ПО для виртуализации

В этом материале тестирование проводится с использованием Oracle VM VirtualBox.

Oracle VM VirtualBox — это бесплатная виртуальная машина (ВМ), распространяющаяся по лицензии GNU GPL 2. Она поддерживает обширный список операционных систем: Windows, OS X, Solaris и большое количество Linux-дистрибутивов (Ubuntu, Debian, openSUSE, SUSE Linux Enterprise Server, Fedora, Mandriva, Oracle Linux, Red Hat Enterprise Linux, CentOS). Изначально ВМ разрабатывалась Innotek, которая впоследствии была куплена Sun Microsystems, а в 2010 году — Oracle. ВМ поддерживает проброс USB-устройств в гостевую ОС, обеспечивает доступ в интернет и подключение удаленного рабочего стола. Гостевые ОС могут быть как 32-битными, так и 64-битными. Система поддерживает аппаратное ускорение 2D и 3D, а также PAE/NX, VT-x, AMD-V, Nested Paging. Эмулирует широкий спектр распространенных устройств: чипсет PIIX3 или ICH9, контроллеры IDE PIIX3,PIIX4, ICH6, аудиокарт Sound Blaster 16, AC97 или Intel HD, а также сетевых карт PCnet PCI II (Am 79 C 970 A), PCnet — Fast III (Am 79 C 973), Intel PRO /1000 MT Desktop (82540 EM), Intel PRO /1000 T Server (82543 GC), Intel PRO /1000 MT Server (82545 EM). Поддерживает образы жестких дисков VDI, VMDK, VHD, позволяет создавать общие папки для гостевой и хост-ОС, а также сохранять состояния ВМ.

Читать еще:  Activex hosting plugin for chrome

У Oracle существует более серьезный аналог VM VirtualBox, Oracle VM Server для процессоров х86 и SPARC , базирующийся на гипервизоре Xen. Т. е., это совершенно другой продукт для другого сегмента рынка. Oracle VM Server поддерживает до 160 потоков на физическом сервере и до 128 виртуальных CPU в гостевых ОС, а максимальный объем ОЗУ — 4 ТБ, в то время как VM VirtualBox поддерживает лишь 32 виртуальных CPU для гостевой ОС и 1 ТБ ОЗУ.

Подводя итог, можно охарактеризовать VM VirtualBox как ВМ для домашнего использования и для использования в маленьких фирмах, а простота настройки (по сути установил и всё работает) не требует высокой квалификации у системного администратора (или вообще не требует выделенного системного администратора по причине простоты использования). Продукт же Oracle VM Server предназначен для более крупного бизнеса — он предоставляет и бо́льшую функциональность, и поддержку более мощных серверов, но требует и более высокой квалификации от системного администратора.

Настройки ПО

Для этого тестирования на тестовый стенд с ОС Windows 7 x64 была установлена ВМ Oracle VM VirtualBox, на которую был развернут образ Windows 7 x64 с тестовым пакетом приложений. В следующих материалах мы попробуем, как работают другие хост-ОС и ПО для виртуализации.

Сама виртуальная машина сконфигурирована следующим образом: включена поддержка Nested Paging, VT-x, PAE/NX, 3D- и 2D-ускорение. Для нужд ВМ выделено 24 Гб ОЗУ и 256 Мб под видеопамять.

Используем KVM для создания виртуальных машин на сервере

Эту заметку я пишу для того, чтобы продемонстрировать пошаговую установку и настройку виртуальной машины в Linux на базе KVM. Ранее я уже писал про виртуализацию, где использовал замечательный инструмент Vagrant.

Сейчас передо мной встал вопрос аренды хорошего сервера с большим объёмом оперативной памяти и объёмным жестким диском. Но запускать проекты прямо на хост-машине не хочется, поэтому буду разграничивать их по отдельным небольшим виртуальным серверам с ОС Linux или docker-контейнерам (о них расскажу в другой статье).

Все современные облачные хостинги работают по такому же принципу, т.е. хостер на хорошем железе поднимает кучу виртуальных серверов, которые мы привыкли называть VPS/VDS, и раздаёт их пользователям, либо автоматизирует этот процесс (привет, DigitalOcean).

KVM (kernel-based virtual machine) это программное обеспечения для Linux, использующее аппаратные средства x86-совместимых процессоров для работы с технологией виртуализации Intel VT/AMD SVM.

Установка KVM

Все махинации по созданию виртуальной машины я буду проводить на ОС Ubuntu 16.04.1 LTS. Чтобы проверить поддерживает ли ваш процессов аппаратную виртуализацию на базе Intel VT/AMD SVM, выполняем:

Если терминал непустой, то значит всё в порядке и KVM можно устанавливать. Ubuntu официально поддерживает только гипервизор KVM (входит в состав ядра Linux) и советует использовать библиотеку libvirt в качестве инструмента по управлению им, что мы и будем делать дальше.

Проверить поддержку аппаратной виртуализации в Ubuntu также можно через команду:

В случае успеха, вы увидите что-то вроде этого:

Устанавливаем пакеты для работы с KVM:

Если у вас есть доступ к графической оболочке системы, то можно установить GUI менеджер libvirt:

Пользоваться virt-manager достаточно просто (не сложнее VirtualBox), поэтому в этой заметке речь пойдёт про консольный вариант установки и настройки виртуального сервера.

Установка и настройка виртуального сервера

В консольном варианте установки, настройки и управлением системой, незаменимым инструментом является утилита virsh (надстройка над библиотекой libvirt). У неё большое количество опций и параметров, подробное описание можно получить так:

или вызвать стандартный «help»:

Я всегда придерживаюсь следующих правил при работе с виртуальными серверами:

  1. Храню iso образы ОС в каталоге /var/lib/libvirt/boot
  2. Храню образы виртуальных машин в каталоге /var/lib/libvirt/images
  3. Явно задаю каждой новой виртуальной машине свой статичный IP адрес через DHCP сервер гипервизора.

Приступим к установке первой виртуалки (64-битной серверной убунте 16.04 LTS):

Скачав образ запускаем установку:

Переводя все эти параметры на «человеческий язык», то получается, что мы создаём виртуальную машину с ОС Ubuntu 16.04, 1024 МБ ОЗУ, 1 процессором, стандартной сетевой картой (виртуальная машина будет ходить в интернет как-будто из-за NAT), 20 ГБ HDD.

Стоит обратить внимание на параметр —os-variant, он указывает гипервизору под какую именно ОС следует адаптировать настройки.
Список доступных вариантов ОС можно получить, выполнив команду:

Если такой утилиты нет в вашей системе, то устанавливаем:

После запуска установки, в консоли появится вот такая надпись:

Это нормальная ситуация, продолжать установку мы будем через VNC.
Смотрим на каком порту он был поднят у нашей виртуалки (в соседнем терминале, например):

Порт 5900, на локальном адресе 127.0.0.1. Чтобы подключиться к VNC, необходимо использовать Port Forwarding через ssh. Перед тем как это сделать, убедитесь, что tcp forwarding разрешён у демона ssh. Для этого идём в настройки sshd:

Если ничего не нашлось или вы видите:

То правим конфиг на

и перезагружаем sshd.

Настройка Port forwarding

Выполняем команду на локальной машине:

Здесь мы настроили ssh port forwarding с локального порта 5900 на серверный порт 5900. Теперь уже можно подключиться к VNC, используя любой VNC-клиент. Я предпочитаю UltraVNC из-за простоты и удобства.

После успешного подключения, на экране отобразится стандартное окно приветствия начала установки Ubuntu:

После завершения установки и привычной перезагрузки, появится окно входа в систему. Авторизовавшись, определяем IP адрес новоиспечённой виртуалки, чтобы позже сделать его статичным:

Запоминаем и идём на хост машину. Вытаскиваем mac-адрес «сетевой» карты виртуалки:

Запоминаем наш mac адрес:

Редактируем сетевые настройки гипервизора:

Ищем DHCP, и добавляем вот это:

Должно получиться что-то вроде этого:

Для того, чтобы настройки вступили в силу, необходимо перезагрузить DHCP сервер гипервизора:

После этого перегружаем виртуальную машину, теперь она всегда будет иметь заданный ей IP адрес — 192.168.122.131.

Есть и другие способы задать виртуалке статичный IP, например, напрямую редактируя сетевые настройки внутри гостевой системы, но тут уже как душе вашей будет угодно. Я лишь показал вариант, который сам предпочитаю использовать.

Читать еще:  Как скачать сайт с хостинга

Чтобы подключиться к терминалу виртуальной машины, выполняем:

Машина готова к бою.

Virsh: список команд

Чтобы посмотреть запущенные виртуальные хосты (все доступные можно получить добавив —all):

Перезагрузить хост можно:

Остановить виртуальную машину:

Добавить в автозапуск:

Очень часто требуется склонировать систему, чтобы в будущем использовать её как каркас для других виртуальных ОС, для этого используют утилиту virt-clone.

Она клонирует существующую виртуалку и изменяет host-sensitive данные, например, mac address. Пароли, файлы и прочая user-specific информация в клоне остаётся прежней. Если на клонируемой виртуалке IP адрес был прописан вручную, то могут возникнуть проблемы с доступом по SSH на клон из-за конфликта (2 хоста с одинаковым IP).

Помимо установки виртуалки через VNC, также возможен вариант с X11Forwarding через утилиту virt-manager. В Windows, например, для этого можно использовать Xming и PuTTY.

Виртуальная сеть в виртуальных машинах. Как быть?

За время использования виртуальных машин приходилось много раз использовать их связку по сети. Например, соединить две виртуалки. Соединить виртуалку с реальной. Пустить виртуальную в инет, да хоть даже выходить на веб-сайт играть онлайн в экономические стратегии. И тому подобные задачи. Ну и возможностей для подключения сети в самих виртуальных средах несколько. Попробую расписать для чего нужна та или иная, на примере VirtualBox и VMWare.

Изначально наша конфигурация выгоядит примерно так:

общий вид виртуальной машины внутри реальной

Стрелками я показал интерфейсы (предположим, что их два). Можно изменять количество и тип интерфейсов.

Сетевой интерфейс виртуальной машины в различных средах может быть представлен различными типами:

Bridge (Мост)

В этом случае интерфейс виртуальной машины отождествляется с интерфейсом из реальной. Есть возможность выбрать реальный интерфейс, с которым будет отождествляться виртуальное сетевое подключение. При этом, если назначить адрес из подсети, в которой болтается реальный, то можно свободно обмениваться пакетами с остальной сетью. Такой способ подходит для того, чтобы выпустить виртуальную машину в Internet или сделать виртуальный сервер внутри реальной сети. Отличительная особенность – мы делаем связь 1 к 1 с реальным физическим интерфейсом.

Bridge

NAT (Network Adress Translation)

Система трансляции адресов, весьма удобный способ раздачи сети между виртуальными машинами. Принцип действия такой, что в реальной системе создается виртуальный интерфейс (NAT), со своим собственным сетевым адресом (IP 1), в своей сети.

Все виртуальные машины, клиенты NAT, берут адреса из этой виртуальной сети с адресом шлюза IP 1. Этот NAT-адрес реальной машины может быть привязан к реальному интерфейсу, и все клиенты могут получить доступ к внешней сети. Их адреса будут подменяться на адрес интерфейса и обратно, таким образом происходит трансляция целой подсети в IP адрес. Для меня этот способ был наиболее удобным в VMWare, чтобы доставить Интернет на виртуальную машину. При этом в сети заводил ещё DHCP сервер и стоило только установить любой виртуальный интерфейс в NAT, как ему тут же назначался адрес и он мог выходить в Internet. Удобно. В чем отличие от Bridge? Виртуальных интерфейсов может быть много, все они привязываются (транслируются) через один реальный. В Bridge происходит привязка 1 к 1, т.е. на каждую виртуальную машину потребовался бы свой физический интерфейс, что весьма накладно.

NAT

Host Only (Внутренняя сеть)

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

В VMWare в реальной среде создавался сетевой интерфейс Host Only, на который можно было назначить адрес. И если в различных виртуальных машинах сделать Host Only адаптеры и дать им адреса из одной подсети, то они будут видимы друг для друга.

Это если виртуальным машинам действительно не нужен выход во внешнюю сеть. Примерно выглядит вот так:

HOST

В VirtualBox кстати есть некоторая разница. “Виртуальный адаптер хост” позволяет замешать в эту сеть ещё и реальную машину. “Внутренняя сеть” же даёт просто возможность обмена между двумя виртуальными машинами без возможности привлечь реальную. Часто это и не к чему.

Создание дополнительного интерфейса

Если вам в виртуальной среде понадобился новый интерфейс (который можно привязать к чему угодно) чаще всего придется выключить машину по питанию и лезть в настройки. Для VirtualBox можно выбрать до 4-х интерфейсов и назначить им тип:

Сеть в ViBox

В VMWare нужно установить дополнительное оборудование, что тоже не так уж и сложно.

А если нужно добавить интерфейс (для связи) в реальную машину? Мы же не можем ограничиваться только физическими сетевыми карточками? Конечно нет, поэтому читаем фрагмент статьи https://litl-admin.ru/cisco/gns3-i-virtualbox.html

то место, где мы добавляли loopback интерфейс замыкания на себя. Тогда в системе появится новое сетевое подключение, на которое можно повесить адрес. И привязать его к виртуальным машинам. Одним словом, немного расширить свои возможности!

Друзья! Вступайте в нашу группу Вконтакте, чтобы не пропустить новые статьи! Хотите сказать спасибо? Ставьте Like, делайте репост! Это лучшая награда для меня от вас! Так я узнаю о том, что статьи подобного рода вам интересны и пишу чаще и с большим энтузиазмом!

Также, подписывайтесь на наш канал в YouTube! Видео выкладываются весьма регулярно и будет здорово увидеть что-то одним из первых!

Настраиваем виртуальные машины правильно

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

Предварительное планирование

Среди подготовительных мер, которые мы рекомендуем выполнить, особое внимание следует уделить сайзингу — размеру будущей инфраструктуры. В облачной инфраструктуре не всегда работает правило «больше, значит лучше», ресурсы необходимо выделять, проанализировав данные мониторинга. Полученные сведения позволят определить объем ресурсов, которые потребуются для будущих виртуальных машин в облаке провайдера.

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

  • Необходимо запустить ВМ на одном из серверов ESXi и зарезервировать на нем ресурсы процессора и памяти.
  • Провести тестирование производительности и стабильности работы приложения.
  • Результаты теста занести в baseline. Результаты должны содержать информацию о работе приложения на архитектуре виртуальной среды в отсутствии рабочей нагрузки на хосте.
  • После сбора статистики хост нагружается — на нем запускаются дополнительные виртуальные машины, за каждой из которых также закреплены выделенные ресурсы процессора и памяти.
  • Запускается новый тест производительности, а результаты сравниваются с записями в baseline.
  • Анализируя полученные данные важно понять, остается ли производительность ВМ на уровне, достаточном для функционирования сервисов. Если это так, то можно добавлять еще нагрузки, отслеживать распределение ресурсов и выяснить предельную нагрузку для данного хоста.
Читать еще:  Хост процесс грузит диск

Данная методика позволит грамотно рассчитать нагрузку на хост арендуемой виртуальной инфраструктур и не допустить падения производительности приложений в рабочем режиме.

Особенности правильной настройки виртуальных машин

Большинство облачных провайдеров используют платформу VMware для предоставления услуги виртуальной инфраструктуры IaaS. Настраивая виртуальные машины в этой среде, важно обратить внимание на число виртуальных процессоров. Рекомендуем не использовать больше 8 vCPU. Ограничения обусловлены использованием архитектуры неравномерного доступа к памяти — NUMA. Если виртуальной машине назначено больше ядер и оперативной памяти, чем физически приходится на один процессор, она начнет обращение к другому процессору, это процесс медленный и снижает производительность ВМ. В NUMA-архитектуре для каждого процессора выделяется собственная локальная память, совокупность CPU и RAM объединяется в NUMA-узел. Если ВМ не хватает ресурсов своего узла, она обращается к памяти другого, скорость такой транзакции медленнее чем при работе с локальной RAM. Идеально, когда виртуальная машина работает с одним физическим NUMA-узлом. Используя параметр cores per socket можно определить варианты отображения нескольких виртуальны процессоров внутри одной ВМ — один CPU с несколькими ядрами, несколько CPU с одним ядром и другие. Если ВМ будет работать на одном физическом NUMA-узле, тогда любой из вариантов cores per socket не скажется на производительности, работа конкретного приложения будет зависеть от его способности работать с многопроцессорной или многоядерной системой.

Для примера возьмем процесс переноса в облако IaaS базы данных SQL Server 2012 версии Standard. Даная база данных не может использовать больше 4 процессорных сокетов. Следовательно, для того чтобы запустить ее на виртуальной машине с 32 виртуальными процессорами или потоками, необходимо в настройках ВМ указать комбинацию 4 сокетов CPU по 8 ядер на каждом.

Как добавлять ресурсы ВМ на лету

Если в процессе работы виртуальной машины ее производительности становится недостаточно, платформа WMware позволяет добавить вычислительные ресурсы без остановки машины — на лету. Для этого необходимо воспользоваться опцией Hot Add, с помощью которой можно увеличить ресурсы процессора и объем назначенной оперативной памяти.

Однако, Hot Add для процессора (в настройках ВМ — Hot Plug) отключает vNUMA.

В результате, операционная система ВМ будет расценивать всю свободную память как доступную без разделения по узлам NUMA, что может привести к падению производительности, так как доступ к памяти другого процессора более медленный. Прежде чем включить Hot Add для процессора необходимо проанализировать как это скажется на конкретном приложении.

Разница в подходах масштабирования Scale UP и Scale OUT

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

В свою очередь при использовании горизонтального масштабирования — Scale OUT, мощность локального хоста распределяется между несколькими виртуальными машинам в составе одного кластера. К преимуществам такого похода можно отнести большую гибкость по управлению производительностью каждого из приложений, а также большую отказоустойчивость, так как в случае выхода из строя одной вычислительной единицы (виртуального сервера), остальная инфраструктура продолжает работать.

Настройка использования оперативной памяти

В процессе распределения оперативной памяти между виртуальными машинами следует помнить про обслуживание физического хоста. Для его нормального функционирования требуется зарезервировать несколько гигабайт RAM, который не будет задействован при создании ВМ.

Платформа VMware позволяет выделять виртуальным машинам виртуальной оперативной памяти больше, чем ее есть физической. Например, создав на хосте, оснащенном 140Гб физической оперативной памяти 5 виртуальных машин, каждой из которых назначены по 32Гб виртуальной памяти, конфигурация будет работать. Виртуальные машины будут обращаться к свободной в данный момент RAM и считать, что она доступна в полном объеме, но в случае пиковой нагрузки производительность резко упадёт. Такой сценарий лучше не использовать. Заранее спланируйте как будет распределяться доступная физическая память между созданными виртуальными машинами.

Заключение

Настройка виртуальных машин в облаке провайдера — это один из важных процессов миграции, от которого зависит успех переноса инфраструктуры и ее успешный запуск. Итоговый вариант конфигурации виртуальных машин будет сильно зависеть от компании и выбранной стратегии, однако, выполнение описанных рекомендаций позволит избежать ошибок, а также обеспечит максимальную производительность и эффективность переносимых приложений.

Что такое сервер виртуальных машин?

Виртуальная машина – это изолированный программный блок, работает он со своей собственной операционной системой и приложениями, точно так же, как и физический компьютер. Работает виртуальная машина подобно физическому компьютеру, имеет собственные программные (виртуальные) ОЗУ, сетевой адаптер и жесткий диск.

Операционная система не способна отличить виртуальную машину от физического компьютера. Тоже происходит с другими компьютерами в сети и приложениями. Сама себя виртуальная машина считает себя «полноценным» компьютером, но никакого оборудования она не имеет, а состоит только из программных составляющих. Все это дает виртуальным машинам уникальные преимущества над физическими компьютерами.

Компания Microsoft выпустила в последнее время крупнейшую технологию – server virtualization (виртуализация сервера). Принцип, по которому происходит виртуализация сервера, основывается на том, что один физический компьютер способен работать как несколько независимых машин. Каждая такая виртуальная машина снабжена своим собственным набором системных ресурсов, операционной системой и собственными приложениями.

Применяя такую технологию виртуализации серверов, компании могут значительно экономить свои деньги.

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

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

Vmware Server – платформа виртуализации бесплатная. Преимущества ее в том, что она может поддерживать любую операционную систему и сохранять высокую скорость расположенной на физическом сервере виртуальной машины. Недостатки этой платформы в том, что она может поддерживать небольшое количество операционных систем хост-машины;

VirtualBox. Платформа пользуется сегодня высокой популярностью. Может поддержать большое количество операционных систем хост-машины, таких как: FreeBSD, VacOSX, а также гостевых ОС. К недостаткам можно отнести потребность в расширениях для достижения внушительной производительности;

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

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

Дополнительное серверное оборудование – дорогое удовольствие, не нужно его покупать, всегда существует альтернативное решение.

голоса
Рейтинг статьи
Ссылка на основную публикацию
Adblock
detector