Aracılığıyla paylaş


Ağ Yalıtımı İle Sanal Makineleri Kopyalama

Sanal laboratuvar yönetimi, yazılım geliştirme yaşam döngülerinde yeni bir alandır.Visual Studio Laboratuvar Yönetimi, Visual Studio'da, geliştiricilere ve test edenlere sanal laboratuvar yönetimi getiren bir üründür.Visual Studio Laboratuvar Yönetimi'ni kullanarak, geliştirme takımları, sanal makinelerden karmaşık çok katmanlı ortamlar oluşturmak için geliştirme ve test laboratuvarlarında sanallaştırma teknolojisini kullanabilirler.Ardından bu ortamlarda uygulama yapıları dağıtabilir ve testler çalıştırabilirler.

Geliştirme ve test laboratuvarlarında sanallaştırma kullanmanın yararlarından biri, sadece birkaç dosya kopyalayarak, dağıtılmış sanal makinelerin özdeş kopyalarını, ya da klonlarını oluşturabilmenizdir.Klonlama pek çok senaryoda kullanışlıdır.Örneğin, bir sorunu yeniden oluşturmak için test edenin ortamının bir kopyasına ihtiyaç duyan bir geliştirici, o ortamın bir klonunu oluşturabilir.Bir test takımında, her test eden bir ortamın kopyasını klonlayıp ardından kendi test çalışmalarını takımın geri kalanı ile koordine edebilir.Klonlama hem geliştiriciler hem de test edenler için zaman kazandırır, çünkü oluşturdukları her ortamda işletim sistemleri ve diğer yazılımları tekrar tekrar yüklemek zorunda kalmazlar.

Gereksinimler

  • Visual Studio Ultimate, Visual Studio Premium, Visual Studio Test Uzmanı

Bir sanal ortamı klonlamak kolay olsa da, klonlamanın dikkate almanız gereken sonuçları vardır.Klonlanan bir ortamdaki makineler, orijinal ortamdaki makinelerle aynı bilgisayar adlarına sahiptir.Bazı durumlarda, aynı IP adreslerine veya MAC adreslerine bile sahip olabilirler.Bu, klonlardan birinin ağ bağlantısını kaybetmesine veya bir klon için hedeflenen ağ trafiğinin başka bir klona ulaşmasına neden olabilir.Sonuç olarak, belirli bir klona bir uygulama dağıtıp başka bir klonda test yapmak istenmeyen bir sonuç olabilir.

[!NOT]

SCVMM ortamlarınyla yalnızca ağ yalıtımı kullanabilirsiniz.Bu özellik standart ortamlar için kullanılamaz.

Visual Studio Laboratuvar Yönetimi, ağ yalıtımı adı verilen bir teknoloji kullanarak bu sorunları çözer ve sanal ortamların güvenli klonlanmasını kolaylaştırır.Bu konuda, ağ yalıtımının nasıl çalıştığı açıklanır ve ağ yalıtımlı ve ağ yalıtımsız klonlama karşılaştırılır.İlk örnekte, klonlar arasında ağ yalıtımı olmadığında gerçekleşebilecek çeşitli çakışma biçimleri açıklanır.Sonraki örneklerde, Visual Studio Laboratuvar Yönetimini kullanılarak çakışmaları önlemek için birden çok çözüm incelenir.

Ağ Çakışmaları

Şekil 1'de, Laboratuvar Yönetimi'ni kullanarak oluşturabileceğiniz tipik bir sanal ortam gösterilmektedir.Orijinal ortam adı verilen bu ortamda, iki sanal makine vardır: web-server ve db-server.Bu makineler, 3 katmanlı bir web uygulamasında sırasıyla web ve veritabanı sunucusu işlevi görür.Bu örnekte, geliştirme takımının bir üyesinin bu ortamı oluşturduğunu ve web uygulamalarının en son yapısını ona dağıttığını varsayalım.Ayrıca, yapı dağıtıldıktan sonra bu ortamda en son yapı adında bir anlık görüntünün alındığını varsayalım.Anlık görüntü, ortamın o anki durumudur.İstediğiniz zaman bu kaydedilen durumu geri yükleyebilir veya yürütmeye buradan devam edebilirsiniz.Şekilde, orijinal ortamdaki iki sanal makinenin bilgisayar adları, IP adresleri ve MAC adresleri gösterilmektedir.

Orijinal ortam

VMler 'web sunucusu' ve 'db-Server'da' özgün ana bilgisayar.

Şekil 2'de, orijinal ortama ek olarak klonlanmış bir ortam gösterilir.Klonlama sonrasında, iki ortam da başlatıldığında, aşağıdaki türde ağ çakışmaları oluşabilir:

  1. Bilgisayar adı çakışmaları

  2. IP adresi çakışmaları

  3. MAC adresi çakışmaları

Ortak bir ağdaki orijinal ve klonlanmış ortamlar

İki ana bilgisayar adı çakışması ile kopya VM'ler içeren

Bu çakışmaların tam sonucu çeşitli etkenlere bağlıdır: sanal makinelerdeki işletim sistemi, laboratuvardaki ağ altyapısı ve benzeri.Şekil 2'de, orijinal ortamdaki her sanal makinede statik bir IP adresi ve statik bir MAC adresi yapılandırıldığını varsaydık.Bu nedenle, ortam klonlandığında, klonlanan sanal makineler aynı IP ve MAC adreslerine sahip oldu.

Bilgisayar adı çakışmaları

Bilgisayar adı, bir makineyi ağda tanımlamak için bir kullanıcı tarafından atanmış kolay bir addır.Bir bilgisayar adını IP adresine çözümlemek için genellikle iki protokol kullanılır: NetBIOS ve Domain Name Server (DNS).Aynı bilgisayar adına sahip olan iki makine aynı ağ kesiminde başlatıldığında, NetBIOS, ad çakışmasını algılar ve kullanıcıyı uyarır.Normalde, NetBIOS çakışmaları yalnızca makineler aynı ağ kesimindeyse algılayabilir.Makineler aynı ağ kesiminde değilse veya uyarılar yok sayılırsa, DNS'de sonraki düzey çakışmalar gerçekleşir.DNS, makinelerin adlarını kaydetmeleri için merkezi bir depodur.Aynı bilgisayar adına sahip iki makine DNS'de kaydolmaya çalıştığında, ikinci makine, ilk bilgisayar tarafından oluşturulan girişi geçersiz kılabilir.Bu durumda, başlayan ilk makineye ad çözümlemesi ile erişilemez.

Bilgisayar adı çakışmalarını önlemek veya gidermek için basit yollar vardır.Ortamların eşdeğer kopyalarını oluşturmak yerine, sysprep adlı bir mekanizmayı kullanarak her klonu oluştururken özelleştirebilirsiniz.Sysprep, Windows işletim sistemlerinin bir parçasıdır.Ortamları klonlamak için sysprep'i kullandığınızda, ortamın her bir sanal makinesi orijinal ortamdakinden farklı bir benzersiz bilgisayar adı, IP adresi ve MAC adresi alır.Ancak, klonlar artık eşdeğer değildir.

Sysrep aracılığıyla veya kullanıcının çakışmaları önlemek için el ile değiştirmesi sonucu olarak yapıldığında, her klonda benzersiz bir bilgisayar adına sahip olmanın etkisi, her sanal makinede yüklü olan yazılıma bağlıdır.Bunu anlamak için, örneğe bakın.Uygulama ortama dağıtıldığında, web sunucusunda bir web.config dosyası oluşturulur.Bu dosyada, db-server bilgisayar adını, bağlantı dizesinin parçası olarak yapılandırdık.O dosyanın bir parçacığı aşağıda gösterilmiştir:

<?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>

Klonlanan ortamda veritabanı sunucusunun bilgisayar adını değiştirdiğimizde, web.config dosyasını yeni adı kullanacak şekilde aşağıdaki gibi el ile değiştirmemiz de gerekir (db-server2, klonlanan ortamda sanal makineye verilen yeni bilgisayar adıdır).

<?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>

Ek olarak, SQL Server, bilgisayar adı değiştiğinde ek adımlar gerektirir.Bunu gerçekleştirecek betiklerinin bir parçacığı burada gösterilmiştir:

sp_dropserver db-server
sp_addserver db-server2, local
GO

Önceki örnekte, bilgisayar adları değiştirildiğinde bir uygulamanın nasıl yeniden yapılandırılması gerektiği gösterilir.Anlaşılır şekilde, bu yordam uygulamaya bağlıdır.Bir uygulama bir veritabanında girişlere bilgisayar adını yazarsa, o girişlerin benzer şekilde değiştirilmesi gerekir.Bazı durumlarda, bilgisayar adı değiştiğinde bir uygulamayı yeniden yüklemeniz gerekebilir.Bu tür yeniden yapılandırmalar ve yeniden yüklemeler yapılması, ilkin klonlama kullanarak önlemek istediğimiz durumlardı.Bu durum, birden çok klonun bilgisayar adı çakışması yaşanmadan bir arada var olmasını güvenli şekilde sağlayacak daha sağlam bir uygulamadan bağımsız çözüm gerektirir.

IP adresi çakışmaları

Internet Protokolü (IP) adresi, makinelerin bir TCP ağı üzerinde birbirleriyle iletişim kurması için kullanılır.IP adresleri, ağdaki bir DHCP sunucusu tarafından statik olarak veya dinamik olarak atanır.Bir makinedeki bağlı her ağ arabirimi bir IP adresine sahiptir.Statik IP adresi ile yapılandırılmış bir sanal makine klonlanırsa ve orijinal sanal makine ile aynı ağa yerleştirilirse, bilgisayar adı çakışmasına ek olarak bir IP adresi çakışması da olur.Bu çakışmayı klonlardan birinin IP adresini değiştirerek el ile düzeltebilirsiniz.Ancak yine, IP adresini değiştirmenin etkisi statik IP'nin sanal makinelerde yüklü olan uygulamalar tarafından nasıl kullanıldığına bağlıdır.

Dinamik bir IP adresiyle yapılandırılmış bir sanal makineyi klonlamaya başladığınızda, kısa süreliğine bir ağ çakışması oluşur.İlk sanal makine klonlandıktan kısa süre sonra, ağa bağlanacak ikinci sanal makine bu çakışmayı algılar ve IP adresini yenileyerek kendini düzeltir.Klonlanan ortam orijinal ortamda alınmış bir anlık görüntüye her geri döndürüldüğünde benzer bir kısa süreli çakışma olur+.Bu çakışma süreleri genellikle uygulamayı etkileyecek kadar uzun değildir.

MAC adresi çakışmaları

Ortam Erişim Denetimi (MAC) adresi, bir makinedeki her ağ arabirimine atanan bir adrestir.Fiziksel makineler söz konusu olduğunda, her ağ arabirimine kartın üreticisi tarafından atanır.Sanal makineler söz konusu olduğunda, MAC adreslerini atamanın iki yolu vardır: statik veya dinamik MAC.Bir sanal makinenin ağ arabirimi için kullanılmak üzere belirli bir MAC adresi belirtebilirsiniz.Bu, statik MAC olarak adlandırılır.Veya, hiper yöneticinin dinamik olarak bir MAC adresi atamasını sağlayabilirsiniz.Bu, dinamik MAC olarak adlandırılır.Dinamik MAC adresleri, bir sanal makine her başlatıldığında Hyper-V tarafından bir MAC adresi havuzundan atanır.Her ana bilgisayar, başka bir ana bilgisayardaki sanal makinelerle çakışmamaları adına, MAC adresi üretmek için bir düzene sahiptir.

Orijinal ortamda sanal makineler için statik MAC adresleri kullanılırsa, klonlanan ortamda sanal makineler aynı MAC adreslerine sahip olur.Bu, hemen MAC çakışmalarına sebep olur.Yinelenen MAC adreslerini algılamak daha zordur, çünkü makineler tarafından her zaman bildirilmezler.Bildirildiklerinde bile bu gibi iletiler Windows Olay Görüntüleyicisi içine kaydedilir.Bir son kullanıcı için, yinelenen MAC adreslerinin iki olası sonucu vardır.Sonuçlardan biri, klonlardan birinde veya her ikisinde ağ bağlantısı kesintisidir.Başka bir sonuç ise, bir makineye yöneltilen ağ paketlerinin başka bir makineye ulaşabilmesidir.Orijinal bir makine ve klonu aynı MAC adresine sahip olduğunda, IP adresleri de aynı olur.Dinamik IP adresleri almak için DHCP kullanıldığında bile, MAC adresleri özdeş olduğu için, DHCP sunucusu onlara aynı IP adreslerini atar.

Bir dereceye kadar, dinamik MAC adresleri kullanarak MAC çakışmalarını önleyebilirsiniz.Ancak, klonlanan ortam orijinal ortamda alınmış bir anlık görüntüye geri yüklendiğinde, o sanal makinelerin tüm durumu MAC adresleri de dahil olmak üzere geri alınır.Bu yeniden, klonlanan makine yeniden başlatılana kadar MAC çakışmalarına ve daha önce açıklanan aynı sorunlara neden olur.Klonlanan ortamın yeniden başlatılması, hiper yöneticinin MAC adreslerini serbest bırakmasına ve kendi aralığından değerlerle yenilemesine yol açar.

Açıkladığımız çakışma biçimlerinin algılanması ve çözümü ile ardından çözüm sonrasında çalışmaya devam etmek için işletim sistemini/uygulamayı el ile düzeltmek; önemli, zaman alıcı ve sanal lab yönetiminin sık kullanıcıları için hata yapılmaya yatkın bir işlemdir.Çoğu durumda bu parametrelerden herhangi birini değiştirmek, bir hatanın yeniden oluştuğu durumu kaybetmeye veya üretim ortamındaki benzer bir soruna neden olacak şekilde sanal ortamın yeteri derecede değişmesine yol açar.Uygulamanın sanal bir ortama bir kez yüklenip ardından birden çok eşdeğer kopya oluşturmak için ortamın sorunsuzca klonlanması, sıradan kullanıcıların yapması beklenilenden daha karmaşık bir yaklaşım gerektirir.

Ağ yalıtımı

Şimdiye kadar iki gereksinim belirlenmiştir.İlk gereksinim, klonlanan bir ortamdaki sanal makinelerin, orijinal ortamdakiyle aynı bilgisayar adları, IP adresleri ve MAC adreslerine sahip olmasıdır.Ancak, aynı zamanda, bu klonların ortam dışından bağımsız olarak erişilebilir olması gerekir.Bu, örneğin, birinin masaüstü bilgisayarlarından klonların her birine bağlanması, bir uygulamanın belirli bir klona dağıtılması veya bir testin belirli bir klonda çalıştırılması için gereklidir.Bu, klonlanan bir ortamdaki sanal makinelerin ayrıca orijinal ortamdakilerden farklı benzersiz bilgisayar adları, IP adresleri ve MAC adreslerine sahip olması şeklindeki ikinci gereksinime yol açar.Bu gereksinimlerin ikisini de yerine getirmenin mantıklı yolu, her sanal makinenin iki arabirime sahip olmasıdır: her klonda bilgisayar adı, IP adresi ve MAC adresinin aynı olduğu genel bir arabirim; ve bu değerlerin her klonda benzersiz olduğu bir ortak arabirim.

Özel arabirimler için ağ çakışmalarını önlemek amacıyla, her klonda özel bir ağa bağlı olmaları gerekir.Bir özel ağ, bir ortam içinde yalnızca sanal makinelere sınırlı olan sanal bir ağdır.Bu ağ bir ortamın sınırları dışında kullanıma sunulmadığından, başka bir klonda aynı bilgisayar adları, IP adresleri veya MAC adresleri kullanıldığında bile çakışma olasılığı yoktur.Ortam dışından erişilebilirlik için, tüm ortak arabirimlerin ortak bir genel ağa bağlı olması gerekir.Ortak ağ veya laboratuvar ağı, ortamların sanal makinelerinin istemciler ve laboratuvardaki diğer makinelerle etkileşime geçebileceği ağdır.

Şekil 3'te özel ve ortak arabirimlerin ağ çakışmalarını nasıl ele aldığı gösterilmektedir.

VMler ile iki ana bilgisayarı özel ve ortak bağlantı noktaları

Visual Studio Laboratuvar Yönetimi içinde ağ yalıtımı

Visual Studio Laboratuvar Yönetimi, her sanal makinede iki ağ arabirimi sunarak SCVMM ortamları için ağ yalıtımı uygular.Bu ağ arabirimlerinden biri, özel bir ağa bağlı özel bir arabirimdir ve diğeri, ortak ağa bağlı bir ortak arabirimdir.

Laboratuvar Yönetimi yazılımı, her sanal makinede yüklenen bir aracı ile birlikte orijinal ortamın ve klonlanan ortamın çakışma olmadan bir arada var olabilmesini sağlar.

Özel ağdaki özel arabirimler

Aşağıdaki açıklama, bilgisayar adlarının, IP adreslerinin ve MAC adreslerinin bir ortamın özel arabirimlerine nasıl atandığının bir özetidir.

Bilgisayar adları: Özel ağdaki bilgisayar adları, NetBIOS aracılığıyla çözümlenir ve Laboratuvar Yönetimi yazılımıyla herhangi bir ek işleme gerektirmez.NetBIOS bilgisayar adları ile çalışmak için yapılandırılmış uygulamalar, her klonda beklendiği şekilde çalışır.Örneğimizde, web-server bilgisayarı db-server bilgisayarına, adını kullanarak başvurur.Bu adlar orijinal ve klonlanan ortamlarda aynıdır.Bu nedenle, web.config dosyasının klonlanan ortamda değiştirilmesine gerek yoktur.

Özel ağda bir DNS sunucusu olmadığı için, sanal makinelerin birbirlerine başvurmak için NetBIOS isimleri yerine tam etki alanı adlarını (FQDN) kullandıklarında oluşan durumu ele almamız gerekir.Örneğin, web.config dosyası db-server bilgisayarına db-server.lab.contoso.com şeklinde başvursaydı, o adın bir IP adresine çözümlenmesi özel ağda DNS olmadan mümkün olmazdı.Bunu çözmek için, sanal makineden çalışan laboratuvar aracısı, hosts dosyasında aynı ortamdaki diğer sanal makinelere karşılık gelen girişler ekler.Hosts dosyası, işletim sistemine, bir adın belirli bir IP adresine çözümlenmesi gerektiğini belirtmenin başka bir yoludur.Örneğimizde, web-server üzerindeki hosts dosyası aşağıdaki girişe sahip olur:

192.168.23.2 db-server.lab.contoso.com

IP adresleri: Her sanal makinede, özel ağ arabirimine 192.168.23.1 - 255 aralığında statik bir IP adresi atanır.Örneğin, web-server'ın özel arabirimi 192.168.23.1 alır ve db-server'ın özel arabirimi 192.168.23.2 alır.Laboratuvar Yönetimi, web-server ve db-server'ların her klonda aynı statik IP adresini almasını sağlar.Bu sayede, web-server üzerindeki web.config dosyası db-server'ın IP adresi ile yapılandırılmış olsa bile, klonlanan ortamda yeniden yapılandırılması gerekmez.Ağ yalıtımı ile yapılandırılmış herhangi bir ortamda, özel arabirimler 192.168.23.1 ile başlayarak aynı aralıktan IP adresleri alır.Bu aralıkta bulunması gereken en çok adres sayısı, bir ortamdaki en çok sanal makine sayısıyla aynıdır.Bu IP adresi kümesine özel ağ dışından yönlendirme yapılamadığı için, aynı aralık ortak ağda da kullanılmadığı sürece önceden tanımlı bir aralık kullanmak güvenlidir.

MAC adresleri: Ağ yalıtımlı bir ortamdaki her sanal makinenin özel ağ arabirimine rastgele bir statik MAC adresi atanır.Örneğimizde, orijinal web-server'da özel arabirime 00-15-5D-07-57-01 gibi bir MAC adresi verilir.Laboratuvar Yönetimi bu web-server'ın klonlanan ortamda aynı MAC adresini almasını sağlar.Bu MAC adresleri kümesi özel ağ dışından yönlendirilebilir olmadığı için, hiper yöneticinin o ana bilgisayarda kullandığı aralık dahilinde olmadığı sürece rastgele bir adres kullanmak güvenlidir.

Ortak ağdaki ortak arabirimler

Aşağıdaki açıklama, bilgisayar adlarının, IP adreslerinin ve MAC adreslerinin bir ortamın genel arabirimlerine nasıl atandığının bir özetidir.

Bilgisayar adları: Ortak ağda NetBIOS'un bilgisayar adlarını çözümlemesini istemiyoruz, çünkü bunun yapılması bilgisayar adı çakışmasına neden olur.Bunu önlemek için, Laboratuvar Yönetimi her sanal makinenin ortak arabiriminde NetBIOS yayınlarını devre dışı bırakır.NetBIOS'a benzer şekilde, sanal makinelerin NetBIOS bilgisayar adlarını DNS'te kaydetmelerini istemiyoruz.Laboratuvar Yönetimi, her ortak arabirim için de DNS kaydını devre dışı bırakır.NetBIOS ve varsayılan DNS kaydı olmadığında, sanal makinelerin yine de ortak ağda kullanılabilen benzersiz adlara sahip olmasını istiyoruz.Laboratuvar Yönetimi her sanal makine için benzersiz bir diğer ad oluşturur ve bunu DNS içinde bir 'A' kaydı olarak kaydeder.Örneğimizde, orijinal ortamdaki web-server, VSLM-195ea870-34d87df83883add23-47ab86ff.lab.contoso.com gibi benzersiz bir diğer ad kullanılarak kaydedilebilir.Klonlanan ortamdaki aynı web-server, VSLM-87ead667a-8787adde877919aaa-2001874d0.lab.contoso.com gibi farklı bir ad kullanarak kaydedilir.

IP adresleri: Her sanal makinedeki ortak ağ arabirimi bir DHCP sunucusundan dinamik IP adresi alacak şekilde yapılandırılır.Bu, orijinal ve klonlanan ortamlardaki sanal makinelerin benzersiz IP adreslerine sahip olmasını sağlar.Örneğin, orijinal ortamdaki web-server 172.52.20.140 IP adresini alabilir ve klonlanan ortamdaki aynı web-server 172.52.20.205 IP adresini alabilir.

MAC adresleri: MAC çakışmalarını önlemek için, her sanal makinedeki ortak ağ arabirimi, hiper yöneticiden dinamik MAC adresleri alacak şekilde yapılandırılabilir.Bu, örneğimizdeki web-server makinesinin orijinal ve klonlanan ortamlarda farklı bir MAC adresi almasını sağlar.Ancak daha önce açıklandığı üzere, klonlanan bir ortam orijinal ortamda alınmış bir anlık görüntüye geri yüklendiğinde, klonlanan sanal makinenin MAC ve IP adresi orijinal ile aynı değerleri alır.Örneğin, klonlanan ortam en son yapı anlık görüntüsüne geri yüklendiğinde, web-server'ın IP adresi 10.86.51.61 olur (Şekil 3'e bakın), ki bu da orijinal ortamdakiyle aynı değerdir.Aynısı MAC adresi için de gerçekleşir.IP adresi çakışması DHCP tarafından yenilenene kadar geçici olsa da, MAC çakışması sanal makineler yeniden başlatılana kadar devam eder.Bu sınırlama nedeniyle, ortak arabirimler için hiper yönetici tarafından dinamik olarak atanan MAC adreslerini kullanmak uygun bir çözüm değildir.

Bunu ele almak için, Laboratuvar Yönetimi kendi MAC adresi havuzunu kullanır.Bu havuzdaki benzersiz MAC adresleri sanal makinelerin ortak arabirimlerine atanır.Klonlanan ortam bir anlık görüntüye geri yüklendiğinde, Laboratuvar Yönetimi çakışmaları önlemek için MAC adreslerini otomatik olarak değiştirir.Bunun nasıl çalıştığını anlamak için, orijinal ortamdaki web-server'ın MAC adresinin 1D-D8-B7-1C-00-05 olduğunu ve klonlanan ortamdaki web-server'ın MAC adresinin 1D-D8-B7-1C-00-07 olduğunu düşünün.Klonlanan ortam, orijinal ortamda alınmış bir anlık görüntüye geri yüklendiğinde, web-server'ın MAC adresi anlık olarak 1D-D8-B7-1C-00-05 olur.Laboratuvar Yönetimi ağ çakışmasını önlemek için bunu değiştirerek 1D-D8-B7-1C-00-07 değerine geri döndürür.

Ağ yalıtımı ile tipik etkileşimler

Bundan sonra, ortam içindeki iki sanal makinenin birbiriyle iletişime geçtiğinde ne olduğu açıklanacaktır:

  1. Web-server, "db-server" bilgisayar adını db-server'ın özel arabiriminin IP adresine (192.168.23.2) çözümlemek için NetBIOS veya hosts dosyasını kullanır.

  2. Web-server bu IP adresinde db-server ile iletişim kurar.

Ortam dışındaki bir istemcinin, klonlanmış bir ortamdaki web-server ile iletişime geçmesi gerektiğinde, aşağıdaki işlem izlenir:

  1. İstemci, klonlanan ortamdaki web-server'ın benzersiz diğer adını almak için Laboratuvar Yönetimi yazılımını sorgular.

  2. Laboratuvar Yönetimi yazılımı, benzersiz diğer ad ile yanıt verir.

  3. DNS sunucusu, benzersiz diğer adı web-server'ın ortak arabiriminin IP adresine (10.86.51.63) çözümler.

  4. İstemci web-server ile bu IP adresinden iletişim kurar.

Ağ yalıtımı için alternatif yaklaşımlar

İki arabirim kullanmak, ağ yalıtımı için tek yaklaşım değildir.Buna oldukça benzer bir yaklaşım da çift yönlü bir NAT kullanmaktır.NAT, bir ortak ağ üzerinde aygıtlarla iletişime geçmesi gereken bir özel aygıtlar ağı oluşturmaya yönelik yaygın bir yaklaşımdır.Tipik bir NAT içinde iletişimin her zaman özel ağdan başlaması gerekse de, iki yönlü NAT (veya 2 yönlü NAT) bunu bir adım ileriye götürerek özel ağdaki makineler tarafından veya ortak ağdaki makineler tarafından başlatılan iletişime olanak verir.

Bu yaklaşımı kullanarak ağ yalıtımı gerçekleştirmek için, ortama 2 yönlü NAT sunucusu eklenmelidir.Bu genellikle ortama, iki yönlü bir NAT sunucusunun rolünü yerine getiren özel bir sanal makine eklenerek yapılır.Ağ yalıtımlı bir ortam oluşturulduğunda, sanal makinelerin ortak ve özel IP adresleri, iki arabirimli yaklaşım ile aynı şekilde atanır.Ancak, ortak IP adresini sanal makinedeki bir ağ arabirimine atamak yerine, eşlemeler 2 yönlü NAT sunucusundaki bir NAT tablosunda depolanır.

2 yönlü NAT kullanarak VM'ler ortak erişim

Ortamdaki iki sanal makinenin birbiriyle 2 yönlü NAT yaklaşımı kullanarak iletişim kurması için adımlar, iki arabirimli yaklaşımdakilerle tamamen aynıdır:

  1. Web-server, "db-server" bilgisayar adını db-server'ın özel arabiriminin IP adresine (192.168.23.2) çözümlemek için NetBIOS veya hosts dosyasını kullanır.

  2. Web-server bu IP adresinde db-server ile iletişim kurar.

Ortam dışındaki bir istemcinin klonlanmış ortamdaki web-server ile iletişim kurması gerektiği durum için adımlar biraz farklıdır ve aşağıdaki gibidir:

  1. NAT yaklaşımını uygulayarak, istemci klonlanan ortamdaki web-server'ın benzersiz diğer adını almak için Laboratuvar Yönetimi yazılımını sorgular.(Visual Studio Laboratuvar Yönetimi NAT yaklaşımını uygulamaz).

  2. Laboratuvar Yönetimi yazılımı, benzersiz diğer ad ile yanıt verir.

  3. DNS sunucusu benzersiz diğer adı web-server'ın ortak IP adresine (10.86.51.63) çözümler.

  4. Bu IP adresi gerçekte 2 yönlü NAT sunucusunda bir arabirime eşlenir.İstemci, web-server ile iletişime geçtiğini varsayarak 2 yönlü NAT sunucusu ile iletişim kurar.

  5. NAT sunucusu yapılandırma tablolarında depolanan eşlemeleri alır ve ortak IP adresini (10.86.51.63) özel IP adresine (192.168.23.1) çevirir.

  6. NAT sunucusu, özel ağda istemciden gelen iletiyi, web-server'ın IP adresi olan 192.168.23.1 adresine iletir.

Bu yaklaşımın iki arabirim yaklaşımına göre faydası, ortamdaki sanal makinelerin hiçbir şekilde değiştirilmesi gerekmemesidir.Her sanal makineye ek bir ağ arabirimi eklenmesine gerek yoktur.Bir sanal makineye ek bir ağ arabirimi eklemek bazı uygulamaların bozulmasına neden olabilir.

Bu yaklaşımın başka bir faydası da, ağ yalıtımının arşivlenmesine dair tüm mantığın ek sanal makine içine kapsanmasıdır.Diğer sanal makinelerin her biri içinde bir aracı bulunmasına gerek yoktur.Tüm paketleri ek sanal makine aracılığıyla yönlendirmek de, ağ yalıtımının aşağıdaki gibi daha gelişmiş özelliklerini desteklemek için ek bir denetim noktası sağlar:

  • Yalnızca giden sınır: Ortam dışındaki istemciler tarafından başlatılan ağ paketlerinin, ortam içindeki sanal makinelere erişmesine izin vermez.

  • Belirli bağlantı noktası istisnalarıyla yalnızca giden: Ortam dışındaki istemciler tarafından başlatılan ağ paketlerinin, belirli bir bağlantı noktasını hedeflemedikleri sürece ortam içindeki sanal makinelere erişmesine izin vermez.

Bu özellikler, NAT sunucusuna bir güvenlik duvarı eklenerek 2 yönlü NAT yaklaşımına kolayca uygulanabilir. 2 yönlü NAT yaklaşımının birincil dezavantajı, bazı uygulamaların NAT ile çalışmamasıdır.Örneğin, Windows uygulamalarında yaygın olarak kullanılan DCOM ve .NET uzaktan iletişim protokolleri, istemci ve sunucu bir NAT sunucusu ile ayrıldığı zaman çalışmaz.Visual Studio Laboratuvar Yönetiminin çift arabirim yaklaşımını kullanmasının sebebi budur.2 yönlü NAT yaklaşımının başka bir dezavantajı ise, her ortamda ek bir sanal makine gerektirmesidir, ki bu da sanal ortamlarda oluşturma veya diğer işlemler sırasında ek yük getirir.

Diğer Çakışmalar

Şimdiye kadar bilgisayar adı, IP adresi ve MAC adresi çakışmalarının ağ yalıtımı aracılığıyla nasıl ele alındığını açıkladık.Ortamlar klonlandığında, gerçekleşebilecek başka çakışma biçimleri de vardır.Sanal ortamın dışındaki bir dış bileşene bağımlılık olduğu zaman, o ortam klonlandığında bir çakışma olasılığı bulunur.Bu bölümde, bu gibi çakışmaların gerçekleşebileceği iki yaygın duruma bakacağız.

Active Directory Çakışmaları

Windows makineleri ve uygulamalarının, dizin hizmetleri veya kullanıcı kimlik doğrulama ve yetkilendirme işlemleri için Active Directory (AD) kullanmaları yaygındır.AD grup ilkeleri kullanarak Windows makinelerini merkezi şekilde yönetmek çok yaygın bir uygulamadır.Örneğimizi kullanarak, orijinal ortamdaki web-server ve db-server'ın AD tarafından yönetilen bir etki alanına katıldığını varsayalım.AD, ortamın dışında barındırılır.Bu ortamı klonladığımızda, web-server'ın iki eşdeğer klonuna sahip oluruz; ancak AD içinde yalnızca bir giriş vardır.Bu açıkça istenmeyen bir durumdur ve çeşitli sorunlara yol açabilir.Örneğin, web-server klonlarından biri, bir kullanıcı eylemi sonucunda etki alanından çıkarılırsa, diğer klon da çıkarılır.Bir ortamda yapılan değişiklikler, istenmeden diğer ortamı etkiler.

Active Directory çakışmalarını önlemek için, ortam içinde bir sanal makinede bir AD sunucusunun barındırılması gerekir.AD sunucusunun, ortam dışındaki diğer dizinlerle herhangi bir güven ilişkisi bulunmamalıdır.

Ağ yalıtımlı bir ortam içinde AD kurmak için dikkat edilmesi gereken başka durumlar da vardır.İlk olarak, AD sanal makinesi ortak ağa bağlanmamalıdır.İki arabirimli yaklaşımda bu, AD sanal makinesinin bir ortak arabiriminin olması anlamına gelir.2 yönlü NAT yaklaşımında bu, NAT tablosunun AD sanal makinesi için bir eşleme bulundurmaması anlamına gelir.

İkincisi, AD bağımsız bir ormanda bulunduğu için, ortam içinde bir DNS sunucusu bulunması gerekir.Ortamdaki diğer sanal makinelerin, AD ile doğru iletişim için özel ağda bu DNS sunucusunu kullanması gerekir.Örnek olarak, bir sanal makine, özel arabirimde DNS sunucusu ayarı doğru şekilde yapılandırılmadığı sürece özel AD içindeki etki alanına katılamayabilir.

Bir ortamı, AD sanal makinesi dahil olacak şekilde yapılandırdığınızda, Visual Studio Laboratuvar Yönetimi, bir AD'nin ortak ağdan bağlantısının kesilmesini ve sanal makinelerin özel arabirimlerini DNS ayarlarıyla yapılandırmayı otomatikleştirir.

Ortam içinde bir AD barındırmanın mümkün olmadığı durumlar olabilir.Örneğin bu, geliştirme aşamasındaki uygulamanın varolan başka şirket uygulamalarıyla tümleştirilebilmesi için bir şirket AD'si kullanması gerektiğinde gerçekleşebilir.Makineler ortam dışındaki bir etki alanına katıldığında, ortamların güvenli klonlamasını etkinleştirmek için bilinen bir çözüm yoktur.

Veritabanı Çakışmaları

Sanal ortamların başka bir ortak kullanımı da, uygulamanın veritabanının ortam dışında barındırılmasını içerir.Genellikle bu, veritabanı yeterince büyük olduğunda ve veritabanını her ortamla klonlamanın kullanışlı olmadığı durumlarda yapılır.Bu ayrıca, geliştirme aşamasındaki uygulama, başka bir yerde barındırılan bir veritabanıyla etkileşime geçen basit bir web istemcisi olduğunda da gerçekleşebilir.Bu gibi durumlarda, iki eşdeğer klon, veritabanıyla etkileşime geçtiğinde, veritabanı sunucusu iki istemcinin kimliğini ayırt edemez.

Özet

Sanal ortamların eşdeğer klonlarını oluşturma özelliği, sanal laboratuvar yönetimindeki çeşitli senaryolar için önemlidir.Ancak, eşdeğer klonlar oluşturulduğunda, bilgisayar adı, IP adresi ve MAC adresi çakışmaları olur.Bu çakışmaları düzeltmek için bilgisayar adlarını veya IP adreslerini değiştirmek gibi basit teknikler genellikle uygulamanın yeniden yapılandırılmasını veya yeniden yüklenmesini gerektir ve eşdeğer klonlar oluşturma niyetini etkin şekilde boşa çıkarır.Ağ yalıtımı bu sorunu aynı anda iki klon oluşturmanıza ve çalıştırmanıza izin vererek ele alır.

Sonraki Adımlar

SCVMM ortamınızı planlayın: SCVMM ortamları için, çalışan sanal makineler, depolanan sanal makineler, şablonlar, depolanan ortamlar ve ağ yalıtımı gibi farklı seçeneklerin ne zaman kullanılacağını öğrenin.Bkz. SCVMM Ortamlarını Oluşturmak ve Yönetmek için Kılavuz.

Ağ yalıtımlı bir ortam oluşturun: Ağ yalıtımlı bir ortam oluşturmaya hazırsanız bu konuyu kullanın.Bkz. Ağ yalıtımlı ortam oluşturma ve kullanma.

Ayrıca bkz.

Kavramlar

Sistem testlerini otomatikleştirme