Freigeben über


Klonen von virtuellen Computern über die Netzwerkisolation

Virtuelles Lab-Management ist ein auftauchender Bereich in Softwareentwicklungslebenszyklen.Visual Studio Lab Management ist ein Produkt in Visual Studio, das Entwicklern und Testern virtuelles Lab-Management führt.Mithilfe von Visual Studio Lab Management verwenden, können Entwicklungsteams Virtualisierungstechnologie in der Entwicklungs- und Testumgebung in nutzen, um komplexe Umgebungen mit mehreren Ebenen von virtuellen Computern zu zusammensetzt.Sie können Anwendungsbuilds und Tests in dieser Umgebung auf bereitstellen.

Eine der Motivation für die Anwendung von Virtualisierung in der Entwicklung und in der Testumgebung ist, dass Sie Duplikate erstellen können, oder Klone, von bereitgestellten virtuellen Computern, indem nur einige Dateien kopiert.Klonen kann in vielen Szenarien nützlich.Beispielsweise kann ein Entwickler, der eine Kopie der Umgebung eines Testers erforderlich, um ein Problem zu reproduzieren, einen Klon dieser Umgebung erstellen.In einem Testteam kann jeder einzelne Tester eine Kopie einer Umgebung klonen und seine oder Testaktivitäten mit dem Rest des Teams dann koordinieren.Klonen spart Zeit für beide Entwickler und Tester, da es wiederholt die Betriebssysteme und andere Software in jeder Umgebung nicht installieren müssen, die sie erstellen.

Anforderungen

  • Visual Studio Ultimate, Visual Studio Premium, Visual Studio Test Professional

Obwohl es einfach, eine virtuelle Umgebung zu klonen, gibt es Folgen des Klonens, die Sie sein müssen.Computer in einer Umgebung geklonten haben die gleichen Computernamen wie die Computer in der ursprünglichen Umgebung.In einigen Fällen können sie die gleichen IP-Adressen und MAC-Adressen sogar haben.Dies kann entweder einen der Klone, die Netzwerkkonnektivität verlieren, oder Netzwerkverkehr führen, der für einen Klon abzielt, anstatt den anderen erreicht.Schließlich kann eine unbeabsichtigte Folgen sein, dass Sie eine Anwendung in einem bestimmten Klon bereitstellen und Tests auf einem anderen Klon durchführen.

HinweisHinweis

Sie können die Netzwerkisolation mit SCVMM-Umgebung nur verwenden.Diese Funktion ist nicht in die Standardumgebung verfügbar.

Visual Studio Lab Management löst diese Probleme und erleichtert sicheres Klonen der virtuellen Umgebung durch eine Technologie, die Netzwerkisolation aufgerufen wird.In diesem Thema wird erläutert, wie Netzwerkisolation Klonen mit und ohne Netzwerkisolation funktioniert und verglichen.Das erste Beispiel beschreibt die verschiedenen Formen von Konflikten, die zwischen Klonen in der keine Netzwerkisolation auftreten können.Nachfolgende Beispiele überprüfen mehrere Projektmappen, um Konflikte zu verhindern, wenn Visual Studio Lab Management verwenden.

Netzwerk-Konflikte

Das Abbildung 1 zeigt eine typische virtuelle Umgebung an, die Sie mit Lab Management erstellen können.Diese Umgebung, aufgerufen ursprüngliche Umgebung, hat zwei virtuelle Computer: Webserver und DBServer.Diese Computer dienen die Rolle des Internet- und der Datenbankserver bzw. in einer Webanwendung mit 3 Ebenen.In diesem Beispiel nehmen wir an, dass ein Member eines Entwicklungsteams diese Umgebung erstellt wurde und den letzten Build ihrer Webanwendung darauf bereitgestellt hat.Es wird außerdem vorausgesetzt, dass eine Momentaufnahme, die neuesten Build aufgerufen wird, in dieser Umgebung erstellt wurde, nachdem der Build bereitgestellt wurde.Eine Momentaufnahme ist ein Zeitpunktzustand der Umgebung.Sie können zu wiederherstellen und von diesem gespeicherten Zustand jederzeit fortsetzen.Die Abbildung zeigt die Computernamen, die IP-Adressen und ID MAC-Adressen der beiden virtuellen Computer in der ursprünglichen Umgebung an.

Ursprüngliche Umgebung

VMs 'web-server' und 'db-server' in Originalhost.

Das Abbildung 2 zeigt eine geklonte Umgebung zusätzlich zur Vorlage an.Nachdem sie, wenn beide Umgebung gestartet wird, die folgenden Typen von Netzwerkkonflikten auftreten könnte geklont haben:

  1. Computernamenskonflikte

  2. Namens-

  3. MAC- addresskonflikte

Ursprüngliche und geklonte Umgebung in einem Netzwerk

Zwei Hosts mit geklonten VMs mit Namenkonflikt

Das genaue Ergebnis jedes dieser Konflikte hängt von mehreren Faktoren ab: das Betriebssystem auf virtuellen Computern, die Netzwerkfunktionsinfrastruktur im Lab, u. a.Im Abbildung 2 haben wir an, dass eine statische IP-Adresse und ein statisches MAC-Adresse in jedem virtuellen Computer der ursprünglichen Umgebung konfiguriert wurden.Daher als die Umgebung geklont wurde, hatten die geklonten virtuellen Computer die gleichen IP- und MAC-Adressen.

Hh329474.collapse_all(de-de,VS.110).gifComputernamenskonflikte

Eine Computernamen ist ein Anzeigename, der von einem Benutzer zugewiesen wird, um einen Computer in einem Netzwerk zu identifizieren.Zwei Protokolle werden in der Regel verwendet, um einen Computernamen auf die IP-Adresse aufzulösen: NetBIOS und domain name server DNS ().Wenn zwei Computer, die denselben Computernamen verfügen, auf dem gleichen Netzwerksegment gestartet werden, erkennt NetBIOS den Namenskonflikt und warnt den Benutzer.Normalerweise kann NetBIOS Konflikte erkennen, wenn die Computer im gleichen Netzwerksegment sind.Wenn die Computer nicht auf dem gleichen Netzwerksegment sind, oder wenn die Warnungen ignoriert werden, wird das nächste Ebene von Konflikten in DNS auf.DNS ist ein zentrales Repository, sodass ihre Namen Computer anmelden.Wenn zwei Computer möglicherweise, die denselben Rechenanlagenbezeichnungsversuch haben, in DNS zu registrieren, der zweite Computer den Eintrag überschrieben, der vom ersten Computer erstellt wird.In diesem Fall ist der erste Computer, die beginnt, nicht erreichbare über Namensauflösung.

Es gibt einfache Möglichkeiten, Computernamenskonflikte zu vermeiden oder zu beheben.Anstatt, Duplikate der Umgebung zu erstellen, können Sie jeden Klon anpassen, wie er erstellen, indem Sie einen Mechanismus verwenden, der sysprep aufgerufen wird.Sysprep ist Teil der Windows-Betriebssysteme.Wenn Sie sysprep verwenden, um Umgebung zu klonen, erhält jeder virtuellen Computer der Umgebung ein eindeutiger Computername, MAC-Adresse und IP-Adresse ab, die auf die in der ursprünglichen Umgebung unterschiedlich sind.Allerdings sind die Klone nicht mehr identisch.

Die Auswirkungen des Darin einer eindeutigen Computernamen in jedem Klon, ob die durch sysprep oder durch manuelle Intervention des Benutzers durchgeführt wird, um Konflikte zu vermeiden, sind von der Software ab, die im virtuellen Computer installiert ist.Um dies zu verstehen, stellen Sie das Beispiel.Wenn die Anwendung in der Umgebung bereitgestellt wurde, wird eine web.config Datei auf dem Webserver erstellt worden sein.In dieser Datei haben wir den Computernamen db-server als Teil der Verbindungszeichenfolge konfiguriert.Ein Ausschnitt dieser Datei wird hier angezeigt:

<?xml version="1.0"?>
<configuration>
  <appSettings>
    <add key="ConnectionString" 
      value="Persist Security Info=True;User ID=dbuser;  
        Password=password;Initial Catalog=Store;Data Source=db-server"/>
  </appSettings>
</configuration>

Wenn wir den Computernamen des Datenbankservers in der geklonten Umgebung ändern, müssen Sie die web.config Datei auch manuell wie folgt ändern, um den neuen Namen zu verwenden (db-server2 ist die neue Computernamen, die dem virtuellen Computer in der Umgebung geklonten angegeben ist).

<?xml version="1.0"?>
<configuration>
  <appSettings>
    <add key="ConnectionString" 
      value="Persist Security Info=True;User ID=dbuser;  
        Password=password;Initial Catalog=Store;Data Source=db-server2"/>
  </appSettings>
</configuration>

Außerdem muss SQL Server zusätzliche Schritte, wenn dessen Computername geändert wird.Ein Ausschnitt für eine bestimmte, um zu diesem Zweck wird hier angezeigt:

sp_dropserver db-server
sp_addserver db-server2, local
GO

Im vorhergehenden Beispiel wurde gezeigt, wie eine Anwendung neu konfiguriert werden muss, wenn Computernamen geändert werden.Verständlich ist diese Prozedur aus der Anwendung abhängig.Wenn eine Anwendung die Computernamen in Einträge in eine Datenbank geschrieben, müssen diese Einträge auf ähnliche Weise geändert werden.In einigen Fällen müssen Sie möglicherweise eine Anwendung neu installieren, wenn die Computername geändert hat.Solche Rekonfigurationen und Wiedereinsetzungen auszuführen ist eindeutig, was wird durch die Verwendung von Klonen an erster Stelle vermeiden möchten.Dies erfordert eine robustere anwendungsunabhängige Projektmappe, mehrere Klonen sicher zulassen kann, um ohne Computernamenskonflikte vorhanden sein.

Hh329474.collapse_all(de-de,VS.110).gifNamens-

Eine Adresse des Internetprotokolls (IP) wird verwendet, damit Computer miteinander zu einem TCP-Netzwerk verbunden sind.IP-Adressen werden entweder statisch oder dynamisch durch einen DHCP-Server im Netzwerk zugewiesen.Jede Schnittstelle des in einem Netzwerk verbundenen Computer verfügt über eine IP-Adresse.Wenn ein virtueller Computer, der mit einer statischen IP-Adresse konfiguriert ist und auf demselben Netzwerk wie der ursprüngliche virtuelle Computer dann geklont platziert wird, gibt es einen IP-Adressen-Konflikt, zusätzlich zu einem Rechenanlagenbezeichnungskonflikt.Sie können diesen Konflikt manuell korrigieren, indem Sie die IP-Adresse eines der Klone ändern.Auch einmal hängen die Auswirkungen der Änderung der IP-Adresse davon ab, wie die statische IP-Adresse durch die Anwendungen verwendet werden, die auf virtuellen Computern installiert sind.

Wenn Sie starten, um einen virtuellen Computer zu klonen, der mit einer dynamischen IP-Adresse konfiguriert ist, gibt es einen Netzwerkkonflikt für einen kurzen Zeitraum.Bald, nachdem der erste virtuelle Computer geklont ist, erkennt der zweite virtuelle Computer, den an das Netzwerk herzustellen und sich diesen Konflikt behoben, indem er die IP-Adresse erneuert.Ein kurzer ähnliche Punkt des Konflikts vorhanden ist, wenn die geklonte Umgebung in einer Momentaufnahme wiederhergestellt wird, der die ursprüngliche Umgebung durchgeführt wurde.Diese Punkte des Konflikts sind normalerweise nicht lang genug, um die Anwendung zu beeinflussen.

Hh329474.collapse_all(de-de,VS.110).gifMAC- addresskonflikte

Eine Adresse des Media Access Control (MAC) ist eine Adresse, die jeder Netzwerkschnittstelle in einem Computer zugewiesen wird.Bei der physischen Computer wird sie für jede Netzwerkschnittstelle durch den Hersteller der Karte zugewiesen.Bei der virtuellen Computer gibt es zwei Möglichkeiten, MAC-Adressen zuzuweisen: statischen oder dynamischen MAC.Sie können ein bestimmtes MAC-Adresse angeben, um eine Netzwerkschnittstelle eines virtuellen Computers zu verwenden.Dies wird statisches MAC aufgerufen.Oder, Sie können den Hypervisor ein MAC-Adresse dynamisch zugewiesen werden.Dies wird dynamisches MAC aufgerufen.Dynamische MAC-Adressen werden von Hyper-V aus einem Pool von MAC-Adressen zugewiesen, wenn ein virtueller Computer gestartet wird.Jeder Host verfügt über ein Schema, MAC-Adressen zu generieren, damit sie nicht mit den virtuellen Computern auf einem anderen Host verursachen.

Wenn statische MAC-Adressen für virtuelle Computer in der ursprünglichen Umgebung verwendet werden, haben virtuelle Computer in der Umgebung geklonten dieselben MAC-Adressen.Dies führt sofort MAC-Konflikte.Doppelte MAC-Adressen sind schwerer zu erkennen, da sie nicht immer nach Computer gemeldet werden.Auch wenn sie gemeldet werden, sind solche Nachrichten angemeldete Windows-Ereignisanzeige.So fügen Sie einem Endbenutzer gibt es zwei mögliche Folgen von Adressen des Duplikats MAC.Aufgrund ist Verlust der Netzwerkkonnektivität auf einem oder beiden Klonen.Eine weitere Ursache ist, dass die Netzwerkpakete, die einem Computer korrigiert werden, dem anderen Computer stattdessen erreichen können.Wenn ein ursprünglicher Computer und sein Klon dieselben MAC-Adressen haben, sind ihre IP-Adressen auch identisch.Auch wenn DHCP verwendet wird, erhält dynamische IP-Adressen, weist der DHCP-Server ihnen die gleichen IP-Adressen zu, die ihre MAC-Adressen identisch sind.

So fügen Sie einem gewissen können Sie MAC-Konflikte vermeiden, indem Sie dynamische MAC-Adressen verwenden.Wenn die geklonte Umgebung in einer Momentaufnahme wiederhergestellt wird, der die ursprüngliche Umgebung durchgeführt wurde, wird der gesamte Zustand dieser virtuellen Computer einschließlich der MAC-Adressen zurück.Dies führt erneut MAC-Konflikte und die gleichen Probleme, die zuvor beschriebenen, bestehen, bis der geklonte virtuelle Computer neu gestartet wird.Der Neustart der geklonten Umgebung wird der Hypervisor, die MAC-Adressen mit Werten aus eigenen Gültigkeitsbereich freizugeben und zu erneuern.

Erkennung und Auflösung der Formen von Konflikten, die soeben beschrieben, und das OS/application dann manuell, korrigierend, um fortzufahren, um nach der Lösung zu arbeiten fehleranfällig, ist wichtig, zeitaufwendig, und für häufige virtuellen Benutzer des Lab-Managements.In vielen Fällen ändert das Ändern aller Parameter die virtuelle Umgebung genug, um den Verlust einer Fehlerreproduktion oder ähnlichen des Problems mit der Produktionsumgebung verursachen.Im Prinzip der Einrichtung der Anwendung eine Zeit in eine virtuelle Umgebung und das SorgeFREE-Klonens dieser Umgebung, mehrere Duplikate zu erstellen erfordert einen anspruchsvolleren Ansatz, als normale Benutzer erwartet werden können durchzuführen.

Netzwerkisolation

Zwei Anforderungen sind bis jetzt identifiziert wurde.Die erste Anforderung ist, dass virtuelle Computer in einer Umgebung geklonten dieselben Computernamen, IP-Adressen und MAC-Adressen wie die in der ursprünglichen Umgebung verfügen müssen.jedoch gleichzeitig müssen diese Klons von außerhalb der Umgebung adressierbar unabhängig sein.Dies ist, beispielsweise erforderlich, damit jemand an jeden der Klons von ihren Desktops herstellt, für eine Anwendung an auf einem bestimmten Klon oder damit ein Test auf einen bestimmten Klon ausgeführt werden kann.Dadurch besteht die zweite Anforderung, die ist, dass die virtuellen Computer in einer Umgebung geklonten eindeutige Computernamen, IP-Adressen und MAC-Adressen verfügen müssen, die auf die in der ursprünglichen Umgebung unterschiedlich sind.Die logische Methode, beide Anforderungen zu erreichen ist, damit jeder virtuelle Computer zwei Schnittstellen verfügt: eine private Schnittstelle, für die die Computernamen, die IP-Adresse und MAC-Adresse gleichen in jedem Klon sind; und eine öffentliche Schnittstelle, für die diese Werte in einem Klon eindeutig sind.

Um Netzwerkkonflikte für die privaten Schnittstellen zu vermeiden, müssen sie an ein privates Netzwerk in jedem Klon verbunden werden.Ein privates Netzwerk ist ein virtuelles Netzwerk, das nur zu den virtuellen Computern in einer Umgebung beschränkt ist.Da dieses Netzwerk nicht über die Grenzen einer Umgebung hinaus verfügbar gemacht wird, gibt es keine Möglichkeit von Konflikten, selbst wenn die gleichen Computernamen, IP-Adressen und MAC-Adressen in einem anderen Klon verwendet werden.Für Barrierefreiheit von außerhalb der Umgebung, müssen alle öffentlichen Schnittstellen an ein gemeinsames öffentliches Netzwerk verbunden werden.Das Netzwerk des öffentlichen Netzwerks oder des Labors ist das Netzwerk, auf dem virtuellen Computer der Umgebung mit Clients und andere Computer im Lab interagieren können.

Die Abbildung 3-Shows, wie privates und öffentliches Schnittstellenadressennetzwerk verursacht.

Zwei Hosts mit VMs mit privaten und öffentlichen Ports

Hh329474.collapse_all(de-de,VS.110).gifNetzwerkisolation in Visual Studio Lab Management

Visual Studio Lab Management implementiert Netzwerkisolation für SCVMM-Umgebung, indem zwei Netzwerkschnittstellen in jedem virtuellen Computer erfordert.Eine dieser Netzwerkschnittstellen ist eine private Schnittstelle, die an ein privates Netzwerk verbunden ist, und die andere ist eine öffentliche Schnittstelle, die das öffentliche Netzwerk verbunden ist.

Die Lab Management-Software, zusammen mit einem Agents, der auf jedem virtuellen Computer installiert ist, wird sichergestellt, dass die ursprüngliche Umgebung und die geklonte Umgebung ohne Konflikte vorhanden sein können.

Hh329474.collapse_all(de-de,VS.110).gifPrivate Schnittstellen auf privates Netzwerk

Die folgende Beschreibung ist eine Zusammenfassung der, wie Computernamen, IP-Adressen und MAC-Adressen auf private Schnittstellen einer Umgebung zugewiesen werden.

Computernamen: Computernamen auf dem privaten Netzwerk werden von NetBIOS aufgelöst und keine zusätzliche Behandlung durch das Management-Software erfordern.Anwendungen, die konfiguriert werden, um mit NetBIOS-Rechenanlagenbezeichnungen zu arbeiten, funktionieren wie erwartet in jedem Klon.In unserem Beispiel verweist auf den Webservercomputer DBServercomputer mit seinem Namen an.Diese Namen sind mit den in der Vorlage und in geklonter Umgebung.Daher muss die Datei web.config wurde nicht in geklonter Umgebung geändert werden.

Da kein DNS-Server im privaten Netzwerk gibt, müssen Sie die Situation verweisen, wenn vollqualifizierte Domänenname (FQDN) von virtuellen Computern verwendet werden, um sich anstelle NetBIOS-Namen zuzugreifen.Wenn die Datei web.config DBServer als db-server.lab.contoso.com entnehmen, dann Auflösung dieses Namens auf eine IP-Adresse sind nicht ohne DNS auf dem privaten Netzwerk möglich.Um dieses Problem zu lösen, fügt der Lab-Agent-Betrieb auf dem virtuellen Computer Einträge hinzu die den anderen virtuellen Computern derselben Umgebung in der Hostdatei entsprechen.Die Hostdatei ist eine weitere Möglichkeit des Betriebssystems, dass ein Name auf eine bestimmte IP-Adresse aufgelöst werden muss.In diesem Beispiel verfügt die Hostdatei auf Webserver den folgenden Eintrag:

192.168.23.2 db-server.lab.contoso.com

Statische IP-Adresse IP-Adressen: A von 192.168.23.1 - Bereich 255 wird auf die - Schnittstelle des privaten Netzwerks jedes virtuellen Computers zugewiesen.Beispielsweise ruft die private Schnittstelle des Webservers 192.168.23.1 ab und die private - Schnittstelle der DBServer ruft 192.168.23.2 ab.Lab-Management stellt sicher, dass der Webserver und die DBServer dieselben statischen IP-Adressen in jedem Klon abrufen.Selbst wenn die Datei web.config auf dem Webserver mit der IP-Adresse der DBServer konfiguriert wird, muss es wurde nicht in der geklonten Umgebung konfiguriert werden.In jeder Umgebung, die mit Netzwerkisolation konfiguriert wird, rufen die privaten Schnittstellen IP-Adressen von diesem gleichen Bereich, beginnend mit 192.168.23.1 ab.Die maximale Anzahl von Adressen, die in diesem Bereich benötigt werden, ist dieselbe wie die maximale Anzahl von virtuellen Computern in einer Umgebung.Da dieser Satz IP-Adressen nicht außerhalb des privaten Netzwerks routingfähig ist, ist es sicher, einen vordefinierten Bereich verwenden, solange der gleiche Bereich nicht im öffentlichen Netzwerk verwendet wird.

Zufälliges statisches MAC-Adresse MAC-Adressen: A wird zur Schnittstelle des privaten Netzwerks jedes virtuellen Computers in einer netzwerkisolierten Umgebung zugewiesen.In diesem Beispiel wird die private Schnittstelle im ursprünglichen Webserver ein MAC-Adresse wie 00-15-5D-07-57-01 zugewiesen.Lab-Management stellt sicher, dass dieser Webserver das gleiche MAC-Adresse in der geklonten Umgebung auch abruft.Da dieser Satz MAC-Adressen nicht außerhalb des privaten Netzwerks routingfähig sind, ist es sicher, eine zufällige Adresse verwenden, solange sie nicht innerhalb des Bereichs von sind, was der Hypervisor auf diesem Host verwendet.

Hh329474.collapse_all(de-de,VS.110).gifÖffentliche Schnittstellen auf öffentlichem Netzwerk

Die folgende Beschreibung ist eine Zusammenfassung der, wie Computernamen, IP-Adressen und MAC-Adressen zu den öffentlichen Schnittstellen einer Umgebung zugewiesen werden.

Computernamen: möchten wir NetBIOS Computernamen auf dem öffentlichen Netzwerk nicht auflösen, da dies einen Rechenanlagenbezeichnungskonflikt führen würde.Um dies zu verhindern, deaktiviert Lab Management NetBIOS-Übertragungen auf die öffentliche Schnittstelle jedes virtuellen Computers.Wie bei NetBIOS, möchten wir die virtuellen Computer ihre NetBIOS-Rechenanlagenbezeichnungen in DNS nicht registrieren.Lab-Management deaktiviert DNS-Registrierung auch für jede öffentliche Schnittstelle.Ist NetBIOSs und standardmäßige DNS-Registrierung möchten wir noch virtuelle Computer eindeutige Namen aufweisen, die in einem Netzwerk verwendet werden können.Lab-Management generiert einen eindeutigen Alias im Namen jedes virtuellen Computers und Register, die als "A" in DNS erfassen Sie.In unserem Beispiel könnte der Webserver in der ursprünglichen Umgebung mit einem eindeutigen Alias registriert werden, das VSLM-195ea870-34d87df83883add23-47ab86ff.lab.contoso.com ähnelt.Der gleiche Webserver in der geklonten Umgebung wird unter einem anderen Namen registriert, der VSLM-87ead667a-8787adde877919aaa-2001874d0.lab.contoso.com aussehen könnte.

IP-Adressen: die Schnittstelle des öffentlichen Netzwerks auf jedem virtuellen Computer ist so konfiguriert, dass dynamische IP-Adresse von einem DHCP-Server zu erhalten.Dadurch wird sichergestellt, dass virtuelle Computer in der Vorlage und geklonte Umgebung eindeutige IP-Adressen verfügt.Beispielsweise kann der Webserver in der ursprünglichen Umgebung eine IP-Adresse von 172.52.20.140 abrufen und der gleiche Webserver in geklonter Umgebung kann eine IP-Adresse von 172.52.20.205 abrufen.

MAC-Adressen:, von MAC-Konflikten zu verhindern, die Schnittstelle des öffentlichen Netzwerks auf jedem virtuellen Computer kann so konfiguriert werden, dass dynamische MAC-Adressen vom Hypervisor zu erhalten.Dadurch wird sichergestellt, dass der Webserver in unserem Beispiel ein anderes MAC-Adresse in der Vorlage und in geklonter Umgebungen erhalten.jedoch, wie zuvor beschrieben, wenn eine geklonte Umgebung in einer Momentaufnahme mit der ursprünglichen Umgebung wiederhergestellt wird, nimmt die Konfiguration und die IP-Adresse des geklonten virtuellen Computers die gleichen Werte wie die Vorlage an.Wenn die geklonte Umgebung wiederhergestellt wird, um Momentaufnahme spät zu erstellen, wird die IP-Adresse des Webservers 10.86.51.61 (siehe die Abbildung 3), die der gleiche Wert wie in der ursprünglichen Umgebung ist.Dasselbe geschieht mit MAC-Adresse auch.Während der IP-Adressen-Konflikt temporär ist, bis von DHCP erneuert wird, ist der MAC-Konflikt, bis die virtuellen Computer neu gestartet werden.Aufgrund dieser Einschränkung, mit dynamisch zugewiesenen MAC-Adressen vom Hypervisor für öffentliche Schnittstellen keine gute Lösung.

Um dies zu behandeln, verwendet Lab-Management einen eigenen Pool von MAC-Adressen.Eindeutige MAC-Adressen von diesem Pool werden den öffentlichen Schnittstellen von virtuellen Computern zugewiesen.Sobald die geklonte Umgebung in einer Momentaufnahme wiederhergestellt wird, ändert das Lab-Management die MAC-Adressen automatisch, um Konflikte zu vermeiden.Um zu verstehen wie dies funktioniert, müssen Sie der Ansicht dass MAC-Adresse des Webservers in der ursprünglichen Umgebung 1D-D8-B7-1C-00-05 ist und dass das MAC-Adresse des Webservers in geklonter Umgebung 1D-D8-B7-1C-00-07 ist.Wenn die geklonte Umgebung in einer Momentaufnahme eingelassenen ursprünglichen Umgebung wiederhergestellt wird, wird der MAC-Adresse des Webservers 1D-D8-B7-1C-00-05 kurzzeitig.Lab-Management ändert dieses zurück zu 1D-D8-B7-1C-00-07, um den Netzwerkkonflikt zu verhindern.

Hh329474.collapse_all(de-de,VS.110).gifTypische Interaktionen mit Netzwerkisolation

Als Nächstes erläutert wird, was geschieht, wenn zwei virtuelle Computer in der Umgebung miteinander kommunizieren sind:

  1. Webserver verwendet NetBIOS oder Hostdatei, um den Computernamen "db-server" in die IP-Adresse der privaten Schnittstelle (192.168.23.2) von db-server aufzulösen.

  2. Webserver ist db-server an dieser IP-Adresse kommunizieren.

Wenn ein Client außerhalb der Umgebung mit dem Webserver in einer Umgebung geklonten kommunizieren muss, wird der folgende Prozess gefolgt:

  1. Client fragt die Lab Management-Software ab, erhält das eindeutigen Alias des Webservers in geklonter Umgebung.

  2. Lab Management-Software reagiert mit dem eindeutigen Alias.

  3. DNS-Server löst das eindeutigen Alias zur IP-Adresse der öffentlichen Schnittstelle des Webservers auf (10.86.51.63).

  4. Client kommuniziert mit dem Webserver an dieser IP-Adresse.

Hh329474.collapse_all(de-de,VS.110).gifAlternative Ansätze für die Netzwerkisolation

Verwenden der beiden Schnittstellen ist nicht die einzige Ansatz für die Netzwerkisolation.Ein sehr ähnliche Ansatz ist, eine bidirektionale NAT zu verwenden.NAT ist ein allgemeiner Ansatz zum Erstellen eines privaten Netzwerks der Geräte, die Geräte auf einem öffentlichen Netzwerk sein müssen.Obwohl die Kommunikation in einem typischen NAT des privaten Netzwerk immer stammen muss, macht bidirektionales NAT (oder) 2-weg-NAT diesem einen Schritt in Vorwärts- und ermöglicht die Kommunikation, die vom Computer im privaten Netzwerk oder durch die auf dem öffentlichen Netzwerk initiiert wird.

Um Netzwerkisolation mithilfe dieses Ansatzes auszuschöpfen, muss ein 2-weg-NAT-Server in der Umgebung eingegeben werden.Dies ist normalerweise durchgeführt, indem einen speziellen virtuellen Computer der Umgebung hinzufügen, die nur die Rolle eines bidirektionalen NAT-Servers erfüllt.Wenn eine netzwerkisolierte Umgebung erstellt wird, werden die öffentliche und private IP-Adressen der virtuellen Computer zugewiesen, ebenso wie in den zwei Schnittstellen annähern Sie.Anstatt jedoch, die öffentliche IP-Adresse zu einer Netzwerkschnittstelle im virtuellen Computer zuzuweisen gespeichert, werden die Zuordnungen in einer NAT-Tabelle auf dem 2-weg-NAT-Server.

Öffentlicher Zugriff auf VMs mit 2-Wege-NAT

Die Schritte für zwei virtuelle Computer in der Umgebung, um sich miteinander mithilfe eines 2-weg-NAT-Ansatzes zu kommunizieren sind genau gleich, die sie im Ansatz mit zwei Schnittstellen sind:

  1. Webserver verwendet NetBIOS oder Hostdatei, um den Computernamen db-server in die IP-Adresse der privaten Schnittstelle (192.168.23.2) von db-server aufzulösen.

  2. Webserver ist db-server an dieser IP-Adresse kommunizieren.

Die Schritte, wenn ein Client außerhalb der Umgebung mit dem Webserver in geklonter Umgebung kommunizieren muss, sind einige unterschiedlich und sind, wie folgt:

  1. Durch den NAT-Ansatz implementiert, fragt Client Lab Management-Software ab, erhält das eindeutigen Alias des Webservers in geklonter Umgebung.(Visual Studio Lab Management implementiert nicht den NAT-Ansatz).

  2. Lab Management-Software reagiert mit dem eindeutigen Alias.

  3. DNS-Server löst das eindeutigen Alias an der öffentlichen IP-Adresse des Webservers auf (10.86.51.63).

  4. In der IP-Adresse Zuordnungen tatsächlich zu einer Schnittstelle auf 2-weg-NAT-Server.Client kommuniziert mit dem 2-weg-NAT-Server beim bestätigen, dass der Webserver kommuniziert.

  5. NAT-Server ruft die Zuordnungen ab, die in den Konfigurationstabellen gespeichert und übersetzt die öffentliche IP-Adresse (10.86.51.63) der privaten IP-Adresse (192.168.23.1).

  6. NAT-Server leitet die Nachricht vom Client auf dem privaten Netzwerk auf 192.168.23.1 erhalten, das die IP-Adresse des Webservers ist.

Der Vorteil dieses Ansatzes über dem Ansatz mit zwei Schnittstellen ist, dass die virtuellen Computer in der Umgebung in keiner Weise geändert werden müssen.Es ist nicht erforderlich, eine zusätzliche Netzwerkschnittstelle in jedem virtuellen Computer einzuführen.Das Einführung einer zusätzlichen Netzwerkschnittstelle in einen virtuellen Computer kann mehrere Anwendungen verursachen zu unterbrechen.

Ein weiterer Vorteil dieses Ansatzes besteht darin, dass die gesamte Logik zum Erreichen der Netzwerkisolation in zusätzlichen virtuellen Computer gekapselt wird.Es ist nicht erforderlich, einen Agent in jedem der anderen virtuellen Computer zu haben.Das Weiterleiten aller Pakete durch den zusätzlichen virtuellen Computer stellt auch einen Punkt der zusätzlichen Kontrolle für die Unterstützung von erweiterten Features der Netzwerkisolation wie bereit:

  • Aus nur für Fechten: können nicht die Netzwerkpakete, die von den Clients außerhalb der Umgebung initiiert werden, um virtuelle Computer in der Umgebung zu erreichen.

  • Aus für nur mit bestimmten Portausnahmen: können nicht die Netzwerkpakete, die von den Clients außerhalb der Umgebung initiiert werden, um virtuelle Computer in der Umgebung zu erreichen, es sei denn, sie an einen bestimmten Port verwendet werden.

Diese Funktionen können im 2-weg-NAT-Ansatz leicht implementieren, indem Sie eine Firewall auf dem NAT-Server vorgestellt wird. Der Hauptnachteil bei des 2-weg-NAT-Ansatzes ist, dass einige Anwendungen nicht über NAT arbeiten.Beispielsweise DCOM- und .NET-Remoting-Protokolle, die in Windows-Anwendungen normalerweise verwendet werden, funktionieren nicht, wenn Client und Server durch einen NAT-Server getrennt werden.Aus diesem Grunde verwendet Visual Studio Lab Management den Ansatz der dualen Schnittstellen.Ein weiterer Nachteil des 2-weg-NAT-Ansatzes ist, dass er einen zusätzlichen virtuellen Computer in einer Umgebung erforderlich, die zusätzlichen Aufwand während der Erstellung oder anderer Vorgänge in virtuellen Umgebungen bedingt.

Andere Konflikte

Bisher wurde beschrieben, wie Computername, Kombination aus IP-Adresse und MAC- addresskonflikte von Netzwerkisolation behandelt werden können.Wenn die Umgebung geklont wird, gibt es andere Arten von Konflikten, die auch auftreten können.Sobald die Abhängigkeit von einer externen Komponente gibt, die außerhalb der virtuellen Umgebung ist, gibt es ein Wahrscheinlichkeit für einen Konflikt, wenn diese Umgebung geklont wird.In diesem Abschnitt werden zwei allgemeine Fälle, in denen diese Konflikte auftreten können.

Hh329474.collapse_all(de-de,VS.110).gifActive Directory-Konflikte

Es ist üblich, dass Windows-Computer und Anwendungen auf Active Directory (AD) erstellen, entweder für Verzeichnisdienste oder für die Benutzerauthentifizierung und Autorisierung.Windows-Computer zu verwalten, zentral AD-Gruppenrichtlinien verwenden, ist ein sehr üblich.Verwenden unserem Beispiel haben wir davon ausgehen, dass der Webserver und der DBServer in der ursprünglichen Umgebung mit einer Domäne verknüpft werden, die von einem AD verwaltet wird.Das AD wird außerhalb der Umgebung gehostet.Wenn wir diese Umgebung klonen, wird jetzt zwei identische Klone Webserver; hingegen gibt es nur einen Eintrag im AD.Dies ist mit unerwünscht und kann auf mehrere Probleme führen.Wenn einer der Webserverklone aus der Domäne durch eine Benutzeraktion geteilt wird, wird der andere Klon auch geteilt.Änderungen vorgenommen versehentlich in einem Auswirkungen der Umgebung die andere Umgebung.

Um Active Directory-Konflikte zu verhindern, muss ein AD-Server auf einem virtuellen Computer in der Umgebung gehostet werden.Der AD-Server sollte keine Vertrauensstellungen mit anderen Verzeichnissen außerhalb der Umgebung verfügen.

Es gibt einige zusätzliche Überlegungen zum Installieren eines AD in einer netzwerkisolierten Umgebung.Zuerst muss der AD-virtuelleComputer nicht an das öffentliche Netzwerk verbunden werden.In den beiden Schnittstellen verwenden, dies bedeutet, dass der AD-virtuelleComputer eine öffentliche Schnittstelle aufweisen soll.Im 2-weg-NAT-Ansatz bedeutet dies, dass die NAT-Tabelle eine Zuordnung für den AD-virtuellenComputer aufweisen soll.

Zweitens da das AD in einer unabhängige Gesamtstruktur ist, es ein DNS-Server in der Umgebung vorhanden sein.Andere virtuelle Computer in der Umgebung müssen diesen DNS-Server im privaten Netzwerk für richtige Kommunikation mit dem AD verwenden.Als Beispiel kann ein virtueller Computer nicht in der Lage, der Domäne beizutreten im privaten AD herzustellen, es sei denn, die DNS-Servereinstellung ordnungsgemäß auf der privaten Schnittstelle konfiguriert ist.

Wenn Sie eine Umgebung konfigurieren, um einen AD-virtuellenComputer einzuschließen, automatisiert Visual Studio Lab Management das Trennen eines AD des öffentlichen Netzwerk und Konfigurieren von privaten Schnittstellen von virtuellen Computern mit DNS-Einstellungen.

Es kann Situationen, in denen es nicht möglich, ein AD innerhalb der Umgebung zu hosten.Beispielsweise wäre dies der Fall, wenn die Anwendung ein Unternehmenses AD für Integration mit anderen vorhandenen Unternehmensnetzwerk Anwendungen in Entwicklung verwenden muss.Es gibt keine bekannte Projektmappe, um den sicheren Klonens der Umgebung zu aktivieren, wenn die Computer einer Domäne außerhalb der Umgebung verknüpft sind.

Hh329474.collapse_all(de-de,VS.110).gifDatenbank-Konflikte

Eine weitere allgemeine Verwendung virtueller Umgebungen umfasst, die Datenbank zur Anwendung außerhalb der Umgebung zu hosten.Dies wird in der Regel durchgeführt, wenn die Datenbank groß genug ist und wenn es nicht möglich ist, die Datenbank mit jeder Umgebung zu klonen.Dies kann auch auftreten, wenn die Anwendung in der Entwicklungsphase ein einfacher Webclient ist, der auf eine Datenbank interagiert, die an anderer Stelle gehostet wird.Wenn dann zwei identische Klone mit der Datenbank interagieren, ist der Datenbankserver nicht möglich, die Identität der zwei Clients zu unterscheiden.

Hh329474.collapse_all(de-de,VS.110).gifZusammenfassung

Die Möglichkeit, identische Klone der virtuellen Umgebung erstellen ist für einige Szenarien im virtuellen Lab-Management abzugleichen.Wenn identische Klone erstellt werden, gibt es Computernamen, Kombination aus IP-Adresse und MAC- addresskonflikte.Einfache Techniken, wie Ändern von Computernamen oder von IP-Adressen, um diese Konflikte zu korrigieren erfordern normalerweise Neukonfiguration oder Wiedereinsetzung der Anwendung und effektiv Überwindung die Absicht des Erstellens von identischen Klonen.Netzwerkisolation verweist auf dieses Problem, indem es Ihnen ermöglicht, zwei Klone gleichzeitig zu erstellen und auszuführen.

Nächste Schritte

Planen Sie SCVMM-Umgebung: erfahren darüber, wann die verschiedenen Optionen für SCVMM-Umgebung, wie Anwendung von ausgeführten virtuellen Computern, von gespeicherten virtuellen Computern, Vorlagen, von gespeicherten Umgebungen und von Netzwerkisolation.Siehe Leitfaden zum Erstellen und Verwalten von SCVMM-Umgebungen.

Erstellen Sie eine netzwerkisolierte Umgebung: Verwendung dieses Thema, wenn Sie bereit sind, eine netzwerkisolierte Umgebung erstellen.Siehe Erstellen und Verwenden einer netzwerkisolierten Umgebung.

Siehe auch

Konzepte

Verwenden einer Lab-Umgebung für den Anwendungslebenszyklus