Microsoft hyper v and linux

Best Practices for running Linux on Hyper-V

Applies to: Windows Server 2022, Azure Stack HCI, version 20H2; Windows Server 2019, Windows Server 2016, Hyper-V Server 2016, Windows Server 2012 R2, Hyper-V Server 2012 R2, Windows Server 2012, Hyper-V Server 2012, Windows Server 2008 R2, Windows 10, Windows 8.1, Windows 8, Windows 7.1, Windows 7

This topic contains a list of recommendations for running Linux virtual machine on Hyper-V.

Tuning Linux File Systems on Dynamic VHDX Files

Some Linux file systems may consume significant amounts of real disk space even when the file system is mostly empty. To reduce the amount of real disk space usage of dynamic VHDX files, consider the following recommendations:

  • When creating the VHDX, use 1MB BlockSizeBytes (from the default 32MB) in PowerShell, for example:

    The ext4 format is preferred to ext3 because ext4 is more space efficient than ext3 when used with dynamic VHDX files.

    When creating the filesystem specify the number of groups to be 4096, for example:

    Grub Menu Timeout on Generation 2 Virtual Machines

    Because of legacy hardware being removed from emulation in Generation 2 virtual machines, the grub menu countdown timer counts down too quickly for the grub menu to be displayed, immediately loading the default entry. Until grub is fixed to use the EFI-supported timer, modify /boot/grub/grub.conf, /etc/default/grub, or equivalent to have «timeout=100000» instead of the default «timeout=5».

    PxE Boot on Generation 2 Virtual Machines

    Because the PIT timer is not present in Generation 2 Virtual Machines, network connections to the PxE TFTP server can be prematurely terminated and prevent the bootloader from reading Grub configuration and loading a kernel from the server.

    On Linux distributions other than RHEL 6.x, similar steps can be followed to configure grub v0.97 to load Linux kernels from a PxE server.

    Additionally, on RHEL/CentOS 6.6 keyboard and mouse input will not work with the pre-install kernel which prevents specifying installation options in the menu. A serial console must be configured to allow choosing installation options.

    In the efidefault file on the PxE server, add the following kernel parameter «console=ttyS1»

    On the VM in Hyper-V, set up a COM port using this PowerShell cmdlet:

    Specifying a kickstart file to the pre-install kernel would also avoid the need for keyboard and mouse input during installation.

    Use static MAC addresses with failover clustering

    Linux virtual machines that will be deployed using failover clustering should be configured with a static media access control (MAC) address for each virtual network adapter. In some versions of Linux, the networking configuration may be lost after failover because a new MAC address is assigned to the virtual network adapter. To avoid losing the network configuration, ensure that each virtual network adapter has a static MAC address. You can configure the MAC address by editing the settings of the virtual machine in Hyper-V Manager or Failover Cluster Manager.

    Use Hyper-V-specific network adapters, not the legacy network adapter

    Configure and use the virtual Ethernet adapter, which is a Hyper-V-specific network card with enhanced performance. If both legacy and Hyper-V-specific network adapters are attached to a virtual machine, the network names in the output of ifconfig -a might show random values such as _tmp12000801310. To avoid this issue, remove all legacy network adapters when using Hyper-V-specific network adapters in a Linux virtual machine.

    Use I/O scheduler noop/none for better disk I/O performance

    The Linux kernel offers two sets of disk I/O schedulers to reorder requests. One set is for the older ‘blk’ subsystem and one set is for the newer ‘blk-mq’ subsystem. In either case, with today’s solid state disks it is recommended to use a scheduler that passes the scheduling decisions to the underlying Hyper-V hypervisor. For Linux kernels using the ‘blk’ subsystem, this is the “noop” scheduler. For Linux kernels using the ‘blk-mq’ subsystem, this is the “none” scheduler.

    For a particular disk, the available schedulers can be seen at this file system location: /sys/class/block/ /queue/scheduler, with the currently selected scheduler in square brackets. You can change the scheduler by writing to this file system location. The change must be added to an initialization script in order to persist across reboots. Consult your Linux distro documentation for details.

    Linux kernel versions earlier than 2.6.37 don’t support NUMA on Hyper-V with larger VM sizes. This issue primarily impacts older distributions using the upstream Red Hat 2.6.32 kernel, and was fixed in Red Hat Enterprise Linux (RHEL) 6.6 (kernel-2.6.32-504). Systems running custom kernels older than 2.6.37, or RHEL-based kernels older than 2.6.32-504 must set the boot parameter numa=off on the kernel command line in grub.conf. For more information, see Red Hat KB 436883.

    Reserve more memory for kdump

    In case the dump capture kernel ends up with a panic on boot, reserve more memory for the kernel. For example, change the parameter crashkernel=384M-:128M to crashkernel=384M-:256M in the Ubuntu grub configuration file.

    Shrinking VHDX or expanding VHD and VHDX files can result in erroneous GPT partition tables

    Hyper-V allows shrinking virtual disk (VHDX) files without regard for any partition, volume, or file system data structures that may exist on the disk. If the VHDX is shrunk to where the end of the VHDX comes before the end of a partition, data can be lost, that partition can become corrupted, or invalid data can be returned when the partition is read.

    After resizing a VHD or VHDX, administrators should use a utility like fdisk or parted to update the partition, volume, and file system structures to reflect the change in the size of the disk. Shrinking or expanding the size of a VHD or VHDX that has a GUID Partition Table (GPT) will cause a warning when a partition management tool is used to check the partition layout, and the administrator will be warned to fix the first and secondary GPT headers. This manual step is safe to perform without data loss.

    Источник

    Описания функций для виртуальных машин Linux и FreeBSD в Hyper-V

    применимо к: Windows server 2022, Windows server 2019, Azure Stack хЦи, версия 20H2; Windows Server 2016, Hyper-V Server 2016, Windows Server 2012 R2, Hyper-V Server 2012 R2, Windows Server 2012, Hyper-V Server 2012, Windows Server 2008 R2, Windows 10, Windows 8.1, Windows 8, Windows 7,1, Windows 7

    В этой статье описываются функции, доступные в таких компонентах, как ядро, сеть, хранилище и память, при использовании Linux и FreeBSD на виртуальной машине.

    Основные сведения

    Компонент Описание
    Интегрированное завершение работы С помощью этой функции администратор может завершить работу виртуальных машин из диспетчера Hyper-V. Дополнительные сведения см. в разделе Завершение работы операционной системы.
    Синхронизация времени Эта функция гарантирует, что время хранения в виртуальной машине синхронизируется с временем обслуживания на узле. Дополнительные сведения см. в разделе Синхронизация времени.
    Windows Server 2016 Точное время эта функция позволяет гостевой службе использовать функцию точного времени Windows Server 2016, что улучшает синхронизацию времени с узлом, 1 мс точность. дополнительные сведения см. в разделе Windows Server 2016 точное время
    Поддержка многопроцессорной обработки С помощью этой функции виртуальная машина может использовать несколько процессоров на узле, настроив несколько виртуальных ЦП.
    Пульс С помощью этой функции узел может отвести отслеживание состояния виртуальной машины. Дополнительные сведения см. в разделе пульс.
    Встроенная поддержка мыши с помощью этой функции можно использовать мышь на рабочем столе виртуальной машины, а также легко использовать мышь между рабочим столом Windows Server и консолью Hyper-V для виртуальной машины.
    устройство служба хранилища для Hyper-V Эта функция предоставляет высокопроизводительный доступ к устройствам хранения, подключенным к виртуальной машине.
    Сетевое устройство, определенное Hyper-V Эта функция предоставляет высокопроизводительный доступ к сетевым адаптерам, подключенным к виртуальной машине.
    Компонент Описание
    Кадры крупного размера С помощью этой функции администратор может увеличить размер кадров сети за пределами 1500 байт, что приводит к значительному увеличению производительности сети.
    Добавление тегов и магистрали виртуальной ЛС Эта функция позволяет настроить трафик виртуальной локальной сети (VLAN) для виртуальных машин.
    Динамическая миграция С помощью этой функции можно перенести виртуальную машину с одного узла на другой узел. Дополнительные сведения см. в разделе обзор Динамическая миграция виртуальных машин.
    Статическая Вставка IP-адресов С помощью этой функции можно реплицировать статический IP-адрес виртуальной машины после отработки отказа в реплику на другом узле. Такая репликация IP гарантирует, что сетевые рабочие нагрузки продолжают работать без проблем после отработки отказа.
    vRSS (виртуальное масштабирование на стороне приема) Распределяет нагрузку из виртуального сетевого адаптера между несколькими виртуальными процессорами в виртуальной машине. дополнительные сведения см. в статье виртуальное масштабирование на стороне приема в Windows Server 2012 R2.
    Сегментация TCP и разгрузка контрольной суммы Передает сведения о сегментации и контрольной сумме с гостевого ЦП на виртуальный коммутатор узла или сетевой адаптер во время передачи данных в сети.
    Разгрузка крупного приема (ЛРО) Увеличивает пропускную способность подключений с высокой пропускной способностью путем агрегирования нескольких пакетов в буфер большего размера, уменьшая нагрузку на ЦП.
    SR-IOV; Устройства с одним корневым контроллером ввода-вывода используют ДДА, чтобы разрешить гостям доступ к частям конкретных сетевых карт, что позволяет снизить задержку и повысить пропускную способность. Для использования SR-IOV требуются драйверы физической функции (PF) на узле и в драйверах виртуальной функции (VF) на гостевом компьютере.

    Память

    Компонент Описание
    Изменение размера VHDX С помощью этой функции администратор может изменить размер VHDX-файла фиксированного размера, подключенного к виртуальной машине. Дополнительные сведения см. в статье Обзор изменения размера оперативного виртуального жесткого диска.
    Виртуальное подключение Fibre Channel С помощью этой функции виртуальные машины могут распознать волоконно-оптические устройства и подключать его к собственному каналу. Дополнительные сведения см. в статье Обзор виртуального адаптера Fibre Channel для Hyper-V.
    Динамическая Архивация виртуальных машин Эта функция упрощает резервное копирование динамических виртуальных машин в любое время.

    Обратите внимание, что операция резервного копирования не выполняется, если виртуальная машина имеет виртуальные жесткие диски (VHD), размещенные на удаленном хранилище, например в общем ресурсе SMB или на томе iSCSI. Кроме того, убедитесь, что целевой объект резервного копирования находится не на том же томе, что и том, на котором выполняется резервное копирование. Поддержка TRIM Указания TRIM уведомляют диск о том, что определенные ранее выделенные секторы больше не требуются для приложения и могут быть очищены. Этот процесс обычно используется в том случае, если приложение создает большой объем памяти с помощью файла, а затем самостоятельно управляет выделением файлов для файла, например, в файлы виртуального жесткого диска. WWN ДЛЯ SCSI Драйвер storvsc извлекает сведения о WWN-имени из порта и узла устройств, подключенных к виртуальной машине, и создает соответствующие файлы сисфс.

    Память

    Компонент Описание
    Поддержка ядра PAE Технология расширения физических адресов (PAE) позволяет 32-разрядному ядру получать доступ к физическому адресному пространству, превышающему 4 ГБ. Более старые дистрибутивы Linux, такие как RHEL 5. x, используются для поставки отдельного ядра, для которого включена поддержка PAE. Более новые дистрибутивы, такие как RHEL 6. x, имеют предварительно встроенную поддержку PAE.
    Настройка зазора MMIO С помощью этой функции изготовители устройств могут настроить расположение зазора ввода-вывода (MMIO), сопоставленного с памятью. Разрыв MMIO обычно используется для разделения доступной физической памяти между достаточной операционной системой устройства (Жеос) и реальной инфраструктурой программного обеспечения, воздействующей на устройство.
    Динамическая память Hot-Add Узел может динамически увеличивать или уменьшать объем памяти, доступной виртуальной машине, пока она находится в режиме работы. перед подготовкой администратор включит динамическая память на панели Параметры виртуальной машины и указать объем памяти при запуске, минимальный объем памяти и максимальный объем памяти для виртуальной машины. Если виртуальная машина находится в операции динамическая память не может быть отключена и можно изменить только минимальное и максимальное значения. (Рекомендуется указывать эти размеры памяти как кратные 128 МБ.)

    При первом запуске виртуальной машины объем доступной памяти равен объему памяти при запуске. При увеличении спроса на память из-за рабочих нагрузок приложений Hyper-V может динамически выделить дополнительную память виртуальной машине с помощью механизма Hot-Add, если это поддерживается этой версией ядра. Максимальный объем выделенной памяти ограничен значением параметра максимального объема памяти .

    На вкладке «память» диспетчера Hyper-V отображается объем памяти, назначенный виртуальной машине, но в статистике памяти на виртуальной машине будет показан максимальный объем выделенной памяти.

    Дополнительные сведения см. в статье обзор Динамическая память Hyper-V.

    Всплывающие подсказки динамическая память Узел может динамически увеличивать или уменьшать объем памяти, доступной виртуальной машине, пока она находится в режиме работы. перед подготовкой администратор включит динамическая память на панели Параметры виртуальной машины и указать объем памяти при запуске, минимальный объем памяти и максимальный объем памяти для виртуальной машины. Если виртуальная машина находится в операции динамическая память не может быть отключена и можно изменить только минимальное и максимальное значения. (Рекомендуется указывать эти размеры памяти как кратные 128 МБ.)

    При первом запуске виртуальной машины объем доступной памяти равен объему памяти при запуске. При увеличении спроса на память из-за рабочих нагрузок приложений Hyper-V может динамически выделить дополнительную память виртуальной машине с помощью механизма Hot-Add (см. выше). Если потребность в памяти снижается, Hyper-V может автоматически отменить память виртуальной машины с помощью механизма подсказок. Hyper-V не будет отменять инициализацию памяти ниже параметра минимального объема памяти .

    На вкладке «память» диспетчера Hyper-V отображается объем памяти, назначенный виртуальной машине, но в статистике памяти на виртуальной машине будет показан максимальный объем выделенной памяти.

    Дополнительные сведения см. в статье обзор Динамическая память Hyper-V.

    Источник

Читайте также:  Линукс для русских пользователей
Оцените статью