Hyper-V: Virtual Network Yapısı

17.04.2009 | 12:35 Dokümanlar , Hyper-V 7 Yorum

Geçtiğimiz günlerde teknik topluluklardan birinde gelen soru üzerine yazdığım cevabı düzenleyerek burada da paylaşmak istedim.

Soruda merak edilen şuydu: Sunucu sanallaştırma ortamlarında örneğin 3 Guest sistemin tek bir fiziksel NIC ‘i kullanması bir sorun teşkil eder mi?

Öncelikle bu durum bir sorun teşkil etmez. Zaten sunucu sanallaştırma teknolojilerinin temel amacı olan konsolidasyon işleminin zemininde, fiziksel kaynakların birden fazla sanal işletim sistemine kullandırılması yatar. Tek bir fiziksel NIC üzerinden 3 Guest OS ‘in send/receive yapabilmesi gibi… Tabi 3 Guset OS external network ‘e normal üstü send/receive yapıyorsa, fiziksel NIC ‘in sahip olduğu bandwidth ‘e göre dar boğaz yaşanabilir ancak bu özel bir durumdur, bu gibi durumlarda zaten ayrı fiziksel NIC ‘ler kullanarak yükü bölmek gerekir.

Sanal ağlar hakkında daha güncel bilgiler için Hyper-V Sanal Ağ Türleri‘ni okuyabilirsiniz.

Konu açılmışken Virtual Network işlerinin Hyper-V tarafında nasıl gerçekleştiğinden bahsetmek istiyorum. Bu mantık bir çok sunucu sanallaştırma ürünü için de geçerlidir.

Hyper-V sunucularında VM ‘lerin ve Parent OS ‘in fiziksel network iletişimi için kullanılan Microsoft Virtual Network Switch Protocol çalışır.  VM ‘lerde ise Virtual Network Interface Card ‘lar vardır.

Örneğin tek fiziksel NIC ‘e sahip sunucuda Hyper-V enable edip yeni bir external virtual network yaratırsanız, Parent OS ‘e ait fiziksel NIC üzerinde çalışan (TCP/IP dahil) tüm protokoller devre dışı kalır ve o fiziksel NIC üzerinde sadece Microsoft Virtual Network Switch Protocol çalışmaya başlar.

Aşağıda da görebileceğiniz gibi “Broadcom NetXtreme Gigabit Ethernet” üzerinde sadece Virtual Network Switch Protocol çalışıyor.

Virtual Network Switch Protocol

Bu fiziksel NIC bir noktada Hyper-V Serverın dış dünya ile görüşen sanal switch ‘i durumundadır. Bu NIC’ in herhangi bir IP adresi de yoktur.

Peki bu durumda Parent OS network iletişimini nasıl gerçekleştirecek?

Senaryonun devamı olarak sistem tarafından Parent OS ‘e yeni bir Virtual NIC eklenir ve fiziksel NIC ile ilişkili sanal switch ‘e bağlanır .(otomatik olarak)

Virtual Network

Parent OS artık bu Virtual NIC üzerinde çalışan protokoller yani fiziksel NIC üzerinden transfer edilen protokoller ile network iletişimini sürdürür. Parent OS için aksiyon budur.

Ayrıca şunu da belirtmek isterim: Parent OS üzerindeki Virtua NIC’i kaldırıp (veya hiç eklemeyip) Microsoft Virtual Network Switch Protocol ve Parent OS ‘in iletişimi için gerekli protokollerin hepsini aynı fiziksel NIC üzerinde çalıştırmak mümkün. Bu durumda Parent OS için Virtual NIC olmaz, sadece VM ‘lerde Virtua NICs olur. Bu durumda mimaride herhangi bir değişiklik olmaz, mantık yine aynı.

Eğer yeterli fiziksel NIC yoksa ve Host ile paylaştırmanız gerekiyorsa, fiziksel NIC üzerinde sadece Microsoft Virtual Network Switch Protocol çalıştırın. Parent OS ise Virtual NIC kullansın.

Hyper-V tarafında Virtual Network mimarisi kabaca böyle. Ancak bu konuda yanlış bilinen bir nokta var.

VM ‘lerin external network iletişimini sağlayan Parent OS üzerindeki Virtual NIC değil, yukarıda da bahsettiğim gibi fiziksel NIC üzerinde çalışan Microsoft Virtual Network Switch Protocol ‘dür. Nasıl ki Parent OS üzerine eklenen Virtual NIC, external network send/receive için fiziksel NIC üzerinde çalışan Microsoft Virtual Network Switch Protocol ‘e bağlı ise, VM ‘ler üzerinde yer alan Virtual NIC‘ler de aynı şekilde bu protokol ile external network ‘e send/receive yaparlar. Bu protokole veriyi gönderen ise external virtual switch ‘tir.

Toparlarsak; Sunucu üzerindeki fiziksel NIC sanal bir switch görevi üstleniyor, Parent OS ve VM ‘ler ise üzerlerindeki Virtual NIC ‘ler ile bu switch ‘e bağlı şekilde external network ‘e send/receive yapıyor. (yani fiziksel NIC ‘in fiziksel olarak erişebildiği networke)

Hyper-V Virtual Network Mimarisi

 Yukarıdaki diyagram bu yapıyı temsil ediyor.

Yazı Etiketleri: ,

Sayfa Başı ▲

Yorumlar (7)

  1. Nazım AKIN

    cok aciklayici bir yazi olmus ;)

  2. Özgür GÖKGÖZ

    Peki Server da iki ve daha fazla ethernet olduğunda WM deki sanal ağ kartını direkt olarak nasıl WM ye tahsis edebiliyoruz.yani ağda hem fiziksel server var hemde sanal ama ikiside farklı ethernetlerden çalışıyor ama DNS kayıtlarında fiziksel server iki ip aldığı gözleniyor.Ben fizikselin tek ip ile çalışmasını istemekteyim nasıl yapabilirim. Bilgi verirseniz sevinirim…

  3. Serhat AKINCI

    Merhaba,

    External Virtual Network yarattığınız physical network adapter için; yaratma işlemi sırasında “Allow management operating system to share this network adapter” kutucuğunu boş bırakırsanız, Host üzerine yeni virtual network adapter eklenmez, böylece Host’un ekstra TCP/IP alacağı bir network connection olmaz. Bu özellikle Hyper-V v2 yani Windows Server 2008 R2 temelli dağıtımlar ile kullanılan Hyper-V ler için geçerlidir. Eğer Hyper-V v1 kullanıyorsanız, Host üzerinde IP alan ve istemediğiniz network connection’ları disable edebilirsiniz.

    Her iki senaryo da VM’lerin network’e erişimlerine engel olmaz.

  4. vasvi uysal

    su son trick cok işime yaradi gercekten , vmware tarafindaki gibi neden degil hyperv network olayi diye arastirirken buldum

  5. Deniz ASLAN

    Hocam öncelikle HyperV konusundaki tüm emekleriniz için çok teşekkür ediyorum, HP 350 G7 sunucum üzerinde 4 adet network kartı var yine sanal switch yaratmak zorundayım.
    Birden fazla network kartı olduğunda sunucuda nasıl bir yapılandırmaya gidiyoruz.

  6. Serhat AKINCI

    Merhaba,

    Yapıya göre farklılık gösterir. Hangi Hyper-V sürümünü kullanıyorsunuz ve nasıl bir yapıda çalışıyorsunuz? (Örneğin Failover Cluster, Live Migration gibi özellikler devrede mi? olacak mı?)

  7. Ramazan Ozkaynak

    Merhaba Serhat Bey;

    Benimde şöyle bir problemim oluştu. VM üzerinde 2008 standart bir sunucum var terminal ve print server olarak çalışan. bu sunucunun aynısını Hyper-V üzerine de kurdum ve tüm ayarlar birebir aynı fakat networkde print server olayı hyper-v de çok yavaş çalışıyor. Bunun nedeni virtual switch olabilir mi?

Yorum Ekle