vSphere Replication und Traffic Separation

Reading Time 4 Minutes

Kürzlich hatte ich mal wieder mehr mit vSphere Replication und Site Recovery Manager zu tun (genauer gesagt mit den Versionen 8.6) und möchte hier meine Erfahrungen mit der Traffic Separation für vSphere Replication wiedergeben.

Was ist Traffic Separation?

Traffic Separation ist die Möglichkeit, den Netzwerkverkehr auf verschiedene Netze/Portgruppen/VLANs aufzuteilen und somit ggf. eine Erhöhung der Sicherheit und der Performance zu erzielen.

Und warum jetzt separieren?

Eine vSphere Replication Appliance kommt standardmäßig mit einem (virtuellen) Netzwerkadapter, und dieser wird für alle Netzwerk-Kommunikationsarten verwendet.
Diese sind:

  • Management Traffic zwischen vSphere Replication Management Server und vSphere Replication Server, zwischen vCenter und vSphere Replication Management Server
  • Replication Traffic von Quell-ESXi Hosts zum Ziel-vSphere Replication Server.
  • NFC (Network File Copy) Replication Traffic vom Ziel-vSphere Replication Server zu den Ziel-ESXi Datastores.

Dieser VMware KB Artikel beschreibt den Prozess auch sehr gut.

Traffic Flow vSphere Replication, Blau = Management Traffic, Orange = Replication Traffic, Grün = Replication NFC Traffic

Zum besseren Verständnis folgt man dem Netzwerkverkehr in der Grafik.
Man sieht, wie die Daten von den Quell ESXI Hosts auf der linken Seite zur Ziel Replication Appliance (vRMS, orange Linie) fließen und dann vom Ziel-vRMS zu den Ziel ESXi Hosts (grüne Linie). Die blauen Linien sind der Management Traffic.
Hinweis: Der Einfachheit halber ist in der Grafik wird nur der Weg in eine Richtung dargestellt. Für einen Failback und Replikation in die entgegengesetzte Richtung würde es genau umgekehrt der Fall sein.

Wie bereits erwähnt, nutzen alle dieser Traffic Arten in der Standardkonfiguration den gleichen virtuellen Netzwerkadapter der Appliance, dementsprechend die gleiche Portgruppe und das gleiche VLAN.
Nun kann es gut möglich sein, dass man darauf keinen Bock hat, dementsprechend: Traffic Separation!

Traffic Separation – so geht’s

Voraussetzung für die nachfolgenden Schritte sind:

  • die bereits ausgerollten vSphere Replication Appliances in Quell- und Ziel-vCenter
  • Portgruppen auf den virtuellen Switches sind vorbereitet

Bzgl. der Traffic Separation habe ich es mir einfach gemacht, da ich lediglich den Management Traffic vom gesamten Replication Traffic trennen möchte.
Dementsprechend benötige ich neben der Management Portgroup (bei mir alex-srm) nur eine Replication Portgroup (hier alex-replication).
Für den Fall, dass man den NFC Replication Traffic auch noch trennen möchte, noch eine weitere Portgroup bereitstellen und beim Teil mit der Netzwerkkarte noch eine Netzwerkkarte hinzufügen. #easy!

So schaut’s dann aus, wenn die Appliance fertig installiert ist und bevor wir mit den Anpassungen losgelegt haben:

vSphere Replication VAMI Networking after Installation

Die VM wieder ausschalten und in den Settings einen Network Adapter hinzufügen:

Add new Network Adapter

Den neuen Adapter in die separate Replikations Portgruppe connecten:

Connect new Network Adapter to the Replication Portgroup

Dann die VM wieder einschalten, danach sieht es im VAMI so aus, ein neues Interface „eth1“ ist aufgetaucht:

Check if eth1 shows up in vReplication VAMI

„Edit“ klicken und danach die Einstellungen für eth1 vornehmen.

Configure eth1, but with the Gateway of eth0!

Das Gateway ist erforderlich, aber Achtung: das hier gesetzte Gateway gilt „global“, also für die ganze VM und überschreibt das Gateway von eth0.
Aus diesem Grund habe ich das gleiche Gateway wie für eth0 eingetragen.
Sollten Quell- und Ziel-Netze in abweichenden Netzen liegen, muss ohnehin mit Static Routes gearbeitet werden, diese werden ausschließlich per SSH/CLI gesetzt.

Nach dem „Save“ noch mal kontrollieren, und… äh, „UP“ ist ja schon mal gut, aber was is da los? Wo ist meine Netzwerkkonfig hin?

eth1 up, but where is the rest of the information?

Keine Panik, die neue IP man zum einen im vCenter im VM Summary sehen…

All IP addresses visible in the vCenter VM Summary

…oder sich per CLI anschauen:

Or check the network config via CLI

Egal, davon erstmal nicht abhalten lassen und weitermachen und die Appliance in den jeweiligen vCentern registrieren. Dabei die IP Adresse von eth1 als „Storage Traffic IP“ setzen:

Register the Appliance with the vCenter Part 1
Register the Appliance with the vCenter Part 2

Im Appliance Management Interface behauptet die Appliance im Summary nun, dass die Storage Traffic IP leider mit keiner NIC IP übereinstimmt. 🤔

Storage Traffic IP does not match?

Okay?! Auch hier erstmal nicht verrückt machen lassen. Weiter geht’s!

Für die Quell- und Ziel-ESXi-Hosts habe ich jeweils einen neuen VMkernel angelegt und die Services „vSphere Replication“ und „vSphere Replication NFC“ aktiviert (falls sich schon mal jemand gefragt hat, wofür diese Häkchen gut sind, hier ist die Antwort 😎)

Warum beides aktivieren?
Noch mal kurz zusammengefasst:
„Replication“ ist von Quell-ESXi zu Ziel-Appliance.
„Replication NFC“ ist von Ziel-Appliance zu Ziel-ESXi.
Wenn ich beides auf dem VMkernel aktiviere, kann ich dann auch einfach in die entgegengesetzte Richtung replizieren 👍.

In unserem Lab hatte ich den Luxus, ein NSX Segment nutzen zu können und alle Hosts sich im gleichen Subnet befinden. Dadurch konnte ich mir die Static Routes in den Appliances ersparen.
(Falls doch jemand unterschiedliche Netze hat, hier die Stelle aus VMware’s Doku für Static Routing)

New VMkernel with Replication and Replication NFC enabled

Traffic Separation – the Test

Nachdem ich die beiden Replication Appliances über die vCenter miteinander verknüpft hatte, erstellte ich eine Replication für eine VM, um nachzuprüfen, welches Interface denn nun wirklich genutzt wird.

Mit folgendem Kommando ließ ich mir die Netzwerk-Statistiken der Appliance anzeigen, während die Replikation aktiv war:

watch -n1 --differences ip -s link show up

Es war deutlich zu sehen, dass der Traffic über eth1 läuft:

„ip -s link show up“ Command, clearly to see more throughput on eth1

Zusätzlich prüfte ich das Netzwerk des Ziel-ESXi Hosts per esxtop. Auch hier konnte man sehen, dass der neue VMkernel vmk2 und die dazugehörige vmnic3 ausgelastet waren.

esxtop Command, the Replication VMkernel is pretty busy.

Fazit

Abgesehen von der schlechten Implementierung des Features im Appliance GUI und dem Anschein, dass es sich eher um ein Hidden Feature handelt (zumindest aktuell bei vSphere Replication 8.6) sehe ich Traffic Separation als durchaus sinnvoll an. Verschiedene Netze für verschiedene Anwendungen/Funktionen sind einfach Teil eines sauberen Designs, erweitern die Sicherheit und die Performance. Warum also auch nicht für die Replikations-Daten.

🐵