Выбираем гипервизор VMware, Hyper-V или KVM

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

Виды гипервизоров

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

Гипервизор 1-го вида

Гипервизор 2-го вида

К гипервизорам первого вида относятся решения Hyper-V, KVM, ESXi, в качестве примеров решений второго вида можно привести VMware Workstation, Oracle Virtual Box, OpenVZ. Мы сосредоточимся на решениях первого вида, поскольку второй вид ориентирован на индивидуальное использование, в масштабах предприятия обычно используют решения первого вида.

Мы остановимся подробнее на проприетарных решениях Hyper-V и VMware, а также затронем решение с открытым кодом KVM. Несмотря на то, что эксперты считают его «сыроватым», многие предприятия выбирают именно его. Так, согласно отчету IT Central Station за январь 2018 года четверть операторов связи и около 11% финансовых компаний выбирают именно его.

Подготовка к установке KVM

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

grep -Eoc ‘(vmx|svm)’ /proc/cpuinfo

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

Так же возможно, вам необходимо включить аппаратную виртуализацию в BIOS. Для проверки включения опции виртуализации в BIOS давайте установим утилиту ” kvm-ok”:

sudo apt update sudo apt install cpu-checker

После установки необходимо запустить kvm-ok командой:

kvm-ok

В том случае если виртуализация включена в BIOS вы получите примерно следующий вывод:

INFO: /dev/kvm exists KVM acceleration can be used

Читайте также:  Как установить Windows 10 с флешки (USB-диска)

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

Memory

Перед тем как продолжить повествование об оперативной памяти в виртуальных машинах, необходимо сделать отступление и объяснить термин NUMA — Non-Uniform Memory Access. Архитектура современных физических серверов предполагает наличие двух или более процессоров (CPU) и ассоциированной с ней оперативной памятью (RAM). Такая связка процессор + память называется узел или нода (node). Связь между различными NUMA nodes осуществляется посредством специальной шины — QPI (QuickPath Interconnect) Выделяют локальную NUMA node — когда процесс, запущенный в операционной системе, использует процессор и оперативную память, находящуюся в одной NUMA node, и удаленную NUMA node — когда процесс, запущенный в операционной системе, использует процессор и оперативную память, находящиеся в разных NUMA nodes, то есть для взаимодействия процессора и памяти требуется передача данных через QPI шину.HugePagesTranslation Lookaside BufferTLB missStoragepersistent storage

  • Block storage (блоковое хранилище) — блок дискового пространства, который может быть использован для установки файловой системы и создания партиций. Если грубо, то можно воспринимать это как обычный диск.
  • Object storage (объектное хранилище) — информация может быть сохранена только в виде объекта (файла), доступного по HTTP/HTTPS. Типичными примерами объектного хранилища являются AWS S3 или Dropbox.

persistent storageздесьqcow2/dev/vda/dev/vdXblock storageNetworkPCI/PCIe-шинеPCI passthroughSR-IOVVF — Virtual Functionsнаписал JuniperДля уточнения стоит отметить что, PCI passthrough и SR-IOV это дополняющие друг друга технологии. SR-IOV это нарезка физической функции на виртуальные функции. Это выполняется на уровне Host OS. При этом Host OS видит виртуальные функции как еще одно PCI/PCIe устройство. Что он дальше с ними делает — не важно. А PCI-PT это механизм проброса любого Host OS PCI устройства в Guest OS, в том числе виртуальной функции, созданной SR-IOV устройствомВиртуальная коммутацияOpen vSwitch

  • Передача сетевого состояния — при миграции VM между гипервизорами возникает задача передачи ACL, QoSs, L2/L3 forwarding-таблиц и прочего. И OVS умеет это.
  • Реализация механизма передачи пакетов (datapath) как в kernel, так и в user-space
  • CUPS (Control/User-plane separation) архитектура — позволяет перенести функциональность обработки пакетов на специализированный chipset (Broadcom и Marvell chipset, например, могут такое), управляя им через control-plane OVS.
  • Поддержка методов удаленного управления трафиком — протокол OpenFlow (привет, SDN).
  • Datapath — тут обрабатываются пакеты. Аналогия — switch-fabric железного коммутатора. Datapath включает в себя приём пакетов, обработку заголовков, поиск соответствий по таблице flow, который в Datapath уже запрограммирован. Если OVS работает в kernel, то выполнен в виде модуля ядра. Если OVS работает в user-space, то это процесс в user-space Linux.
  • vswitchd и ovsdb — демоны в user-space, то что реализует непосредственно сам функциональность коммутатора, хранит конфигурацию, устанавливает flow в datapath и программирует его.
  • Набор инструментов для настройки и траблшутинга OVS — ovs-vsctl, ovs-dpctl, ovs-ofctl, ovs-appctl. Все то, что нужно, чтобы прописать в ovsdb конфигурацию портов, прописать какой flow куда должен коммутироваться, собрать статистику и прочее. Добрые люди написали статью по этому поводу.
Читайте также:  Windows 10 как включить обновления: польза и порядок обновлении

Каким же образом сетевое устройство виртуальной машины оказывается в OVS?

  • TUN (tunnel) — устройство, работающее в L3 режиме и позволяющее записывать/считывать только IP пакеты в/из FD.
  • TAP (network tap) — то же самое, что и tun интерфейс + умеет производить операции с Ethernet-фреймами, т.е. работать в режиме L2.

ip linkifconfigovs-vsctlРеальный порядок действий при создании виртуальной машины может быть разным, т.е. сначала можно создать OVS bridge, потом указать виртуальной машине создать интерфейс, соединенный с этим OVS, а можно и наоборот.А если виртуальные машины находятся в разных OVS bridges?veth pairИнструменты виртуализации — libvirt, virsh и прочее

  • libvirt
  • virsh CLI
  • virt-install

Конечно, существует множество других утилит и CLI-команд, которые позволяют управлять гипервизором, например, можно напрямую пользоваться командами qemu_system_x86_64 или графическим интерфейсом virt manager, но это скорее исключение. К тому же существующие сегодня Cloud-платформы, Openstack, например, используют как раз libvirt.

Включаем все процессорные ядра в Windows 10

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

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

Количество работающих ядер по умолчанию в Windows 10

На каждое отдельное ядро может оказываться разная нагрузка, что связано с изменением загруженности ПК. Настройки BIOS позволяют задать отдельную рабочую частоту для ядер. При равномерном распределении нагрузки на ПК пользователь получат высокую производительность.

Читайте также:  Как редактировать групповую политику в Windows 10, 8.1

Способы включения ядер процессора на Windows 10

Чтобы активировать все ядра четырехядерного (пример) процессора при включении ПК, можно использовать:

  1. Перенастройку конфигурации системы.
  2. Настройки BIOS.

Инструкция ниже подойдет как для 32-, так и для 64-битной ОС редакций Windows 10:

  1. Выберите строку «Число процессоров» и в развернутом списке выберите максимальное доступное количество ядер.
  2. Кроме этого следует повысить «Максимум памяти», отключить опцию «Блокировка PCI». В таком случае ОС будет распределять нагрузку на все ядра равномерно. Подтвердите настройки, нажав на OK.

Чтобы не выполнять эти действия каждый раз, в предыдущем окне «Конфигурация системы» установите галочку на пункте «Сделать эти параметры загрузки постоянными». Подтвердите действия на «Применить» и OK.

Настройки процессора в BIOS

Изменять настройки BIOS нужно лишь в том случае, если ПК просто не загружается. Не нужно использовать данный метод, если у вас нет каких-либо начальных знаний по работе в BIOS. Лучше воспользуйтесь предыдущей инструкцией.

Включаем все процессорные ядра в Windows 10

Для активации всех ядер многоядерного процессора через BIOS выполните следующие действия:

  1. Войдите в меню BIOS (перезагрузите компьютер и на начальном экране с информацией о материнской плате нажмите на F3,Del или Esc – зависит от производителя). Обычно на этом экране есть информация с указанием тех клавиш, которые необходимо нажать.
  2. В BIOS найдите раздел Advanced Clock Calibration и выберите параметры All Cores.
  3. Сохраните все настройки, нажав на F10 и Y (или используйте подсказки самого BIOS).

Проверка данных и параметров процессора

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

Стандартные средства ОС Windows 10

  1. Наведите курсор мыши на кнопку «Пуск» в левом нижнем углу экрана, щелкните правой кнопкой мыши и выберите «Параметры».
  2. Зайдите в категорию «Система».
  3. Откройте подкатегорию «О системе». Появится страница с информацией, где также будут указаны названия и частоты каждого из ядер.

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

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

Сторонние программы

Если вам мало «Диспетчера устройств», то можно воспользоваться сразу несколькими программами, предназначенными для проверки информации о системе и аппаратной части:

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