Überlegungen zu virtuellen Linux-ComputernLinux Virtual Machine Considerations

Bei virtuellen Linux-und BSD-Computern müssen im Vergleich zu virtuellen Windows-Computern in Hyper-V zusätzliche Aspekte berücksichtigt werden.Linux and BSD virtual machines have additional considerations compared to Windows virtual machines in Hyper-V.

Der erste Aspekt ist, ob Integration Services vorhanden sind oder ob der virtuelle Computer nur auf emulierten Hardware ohne Aufklärung ausgeführt wird.The first consideration is whether Integration Services are present or if the VM is running merely on emulated hardware with no enlightenment. Eine Tabelle mit Linux-und BSD-Releases, die über integrierte oder herunterladbare Integration Services verfügen, ist unter Unterstützte virtuelle Linux-und FreeBSD-Computer für Hyper-V unter Windowsverfügbar.A table of Linux and BSD releases that have built-in or downloadable Integration Services is available in Supported Linux and FreeBSD virtual machines for Hyper-V on Windows. Diese Seiten enthalten Raster verfügbarer Hyper-V-Features, die für Linux-Verteilungs Releases verfügbar sind, sowie Hinweise zu diesen Features, sofern zutreffend.These pages have grids of available Hyper-V features available to Linux distribution releases, and notes on those features where applicable.

Auch wenn der Gast Integration Services ausgeführt wird, kann er mit Legacy Hardware konfiguriert werden, die nicht die beste Leistung aufweist.Even when the guest is running Integration Services, it can be configured with legacy hardware which does not exhibit the best performance. Konfigurieren und verwenden Sie z. b. einen virtuellen Ethernet-Adapter für den Gast, anstatt einen Legacy-Netzwerkadapter zu verwenden.For example, configure and use a virtual ethernet adapter for the guest instead of using a legacy network adapter. Mit Windows Server 2016 sind auch erweiterte Netzwerke wie SR-IOV verfügbar.With Windows Server 2016, advanced networking like SR-IOV are available as well.

Linux-NetzwerkleistungLinux Network Performance

Linux aktiviert standardmäßig Hardwarebeschleunigung und-Abladungen.Linux by default enables hardware acceleration and offloads by default. Wenn vrss in den Eigenschaften einer NIC auf dem Host aktiviert ist und der Linux-Gast die Funktion zur Verwendung von vrss hat, wird die Funktion aktiviert.If vRSS is enabled in the properties of a NIC on the host and the Linux guest has the capability to use vRSS the capability will be enabled. In PowerShell kann derselbe Parameter mit dem Befehl geändert werden EnableNetAdapterRSS .In Powershell this same parameter can be changed with the EnableNetAdapterRSS command.

Ebenso kann die vmmq-Funktion (Virtual Switch RSS) auf der physischen NIC aktiviert werden, die von den Gast Eigenschaften > konfiguriert wird... > Die Registerkarte erweitert > den virtuellen Switch RSS auf aktiviert festlegen oder vmmq in PowerShell aktivieren, indem Sie Folgendes verwenden:Similarly, the VMMQ (Virtual Switch RSS) feature can be enabled on the physical NIC used by the guest Properties > Configure... > Advanced tab > set Virtual Switch RSS to Enabled or enable VMMQ in Powershell using the following:

 Set-VMNetworkAdapter -VMName **$VMName** -VmmqEnabled $True

Im Gast kann zusätzliche TCP-Optimierung durch Erhöhung der Limits durchgeführt werden.In the guest additional TCP tuning can be performed by increasing limits. Um die beste Leistung für die Leistungsverteilung für mehrere CPUs zu erzielen und umfassende Workloads zu erzielen, wird der beste Durchsatz erzielt, da virtualisierte Arbeits Auslastungen eine höhere Latenz als "Bare-Metal" aufweisen.For the best performance spreading workload over multiple CPUs and having deep workloads produces the best throughput, as virtualized workloads will have higher latency than "bare metal" ones.

Beispiele für Optimierungsparameter, die in den Netzwerk Benchmarks nützlich waren:Some example tuning parameters that have been useful in network benchmarks include:

net.core.netdev_max_backlog = 30000
net.core.rmem_max = 67108864
net.core.wmem_max = 67108864
net.ipv4.tcp_wmem = 4096 12582912 33554432
net.ipv4.tcp_rmem = 4096 12582912 33554432
net.ipv4.tcp_max_syn_backlog = 80960
net.ipv4.tcp_slow_start_after_idle = 0
net.ipv4.tcp_tw_reuse = 1
net.ipv4.ip_local_port_range = 10240 65535
net.ipv4.tcp_abort_on_overflow = 1

Ein nützliches Tool für Netzwerk-Mikrobenchmarks ist ntttcp, das unter Linux und Windows verfügbar ist.A useful tool for network microbenchmarks is ntttcp, which is available on both Linux and Windows. Die Linux-Version ist Open Source und ist über ntttcp-for-Linux auf GitHub.comverfügbar.The Linux version is open source and available from ntttcp-for-linux on github.com. Die Windows-Version finden Sie im Download Center.The Windows version can be found in the download center. Beim Optimieren von Arbeits Auslastungen empfiehlt es sich, möglichst viele Streams zu verwenden, um den besten Durchsatz zu erzielen.When tuning workloads it is best to use as many streams as necessary to get the best throughput. Durch die Verwendung von ntttcp zum Modellieren von Datenverkehr legt der- -P Parameter die Anzahl der verwendeten parallelen Verbindungen fest.Using ntttcp to model traffic, the -P parameter sets the number of parallel connections used.

Linux-SpeicherleistungLinux Storage Performance

Einige bewährte Methoden, wie z. b. die folgenden, werden unter Empfohlene Vorgehensweisen für die Ausführung von Linux unter Hyper-Vaufgeführt.Some best practices, like the following, are listed on Best Practices for Running Linux on Hyper-V. Der Linux-Kernel verfügt über unterschiedliche e/a-Planer, um Anforderungen mit unterschiedlichen Algorithmen neu anzuordnen.The Linux kernel has different I/O schedulers to reorder requests with different algorithms. NOOP ist eine First-in-First-Out-Warteschlange, die die vom Hypervisor vorgenommene Zeit Plan Entscheidung übergibt.NOOP is a first-in first-out queue that passes the schedule decision to be made by the hypervisor. Es wird empfohlen, NOOP als Scheduler zu verwenden, wenn Sie virtuelle Linux-Computer unter Hyper-V ausführen.It is recommended to use NOOP as the scheduler when running Linux virtual machine on Hyper-V. Um den Scheduler für ein bestimmtes Gerät zu ändern, fügen Sie in der Konfiguration des Start Laders (z. b./etc/grub.conf) elevator=noop die Kernel Parameter hinzu, und starten Sie dann neu.To change the scheduler for a specific device, in the boot loader's configuration (/etc/grub.conf, for example), add elevator=noop to the kernel parameters, and then restart.

Ähnlich wie bei Netzwerken profitiert die Leistung der Linux-gastleistung mit dem Speicher am meisten von mehreren Warteschlangen mit ausreichender Tiefe, um den Host ausgelastet zu halten.Similar to networking, Linux guest performance with storage benefits the most from multiple queues with enough depth to keep the host busy. Die Speicherleistung von Mikro Benchmarks ist wahrscheinlich am besten mit dem fio-Benchmark-Tool mit der libaio-Engine.Microbenchmarking storage performance is probably best with the fio benchmark tool with the libaio engine.

Weitere VerweiseAdditional References