Hyper-V Integration Services (Tümleştirme Hizmetleri)

Ahmet Doruk
4 min readDec 5, 2020

--

Hyper-V, Tümleştirme, Entegrasyon, Integration
Quick Reference from Microsoft Documents

İngilizcedeki adı Integration Services olan Hyper-V tümleştirme yada entegrasyon servislerinin ana görevini kısaca özetlersek, sanallaştırma katmanının üzerinde çalıştırdığı sanal makineleri kendisi yani Hyper-V Server (host) ile düzgün ve uyumlu bir şekilde haberleştirmek için kullanılan bir dizi servis kümesine verilen genel isimlendirmedir. Tümleştirme yada entegrasyon servisleri (Integration Services) sanal makinelerin stabil ve performanslı çalışması bakımından Hyper-V Server için oldukça önemli bileşenlerdir. Her bir servisin belli önem derecesine göre görevi vardır. Tümleştirme hizmetlerinin Vmware ESX’deki karşılığı Vmware Tools’dur. Vmware’den farklı olarak Microsoft, Windows tabanlı işletim sistemlerinin yüklemesi yapılırken bu hizmetleri otomatik olarak sanal makineye yükler ve tamamına yakınını da etkinleştirir. Vmware’de ise Vmware Tools yüklemesini sanal makineye manuel yapmanız gerekmektedir. Bu durum vmware ile hyper-v arasında bir artı yada eksi değildir. Entegrasyon servisleri Hyper-V Server üzerinde de yüklü gelmektedir çünkü hyper-v iç içe sanallaştırılmış yada test amacı ile bir hyper-v rolü üzerinde aktifleştirilmiş olabilir.

Get-Service, VM, Hypervisor, Hyper-V, Powershel
Hyper-V Server üzerindeki (Integration Services) tümleştirme servisleri

Hyper-V Server entegrasyon servisleri sadece Windows makineleri değil Linux sanal makineleri de desteklemektedir. Linux üzerinde nasıl aktifleştirilip kullanılacağı ayrı bir makalenin konusu. Eğer entegrasyon servislerinin düzgün çalışmamasından yada devre dışı bırakılmış olmasından kaynaklı sorunlar var ise sorunun kaynağına doğru bir şekilde inebilmek için servislerin tam olarak ne işe yaradığını bilmek ve anlamak çözüm için önemlidir. O halde nedir bu tümleştirme hizmetleri diye tek tek kısaca inceleyelim.

Hyper-V Integration Services, Services, Server, Microsoft
Windows tabanlı sanal makine tarafında çalışan hyper-v (Integration Services) tümleştirme servisleri

Hyper-V Heartbeat Service (Sinyal)

Hyper-V tarafından sanal makinenin doğru yüklendiğinden ve açıldığından (boot) haberdar olmak için kullanılan servistir. Hyper-V bu servis ile sanal makinenin durumuna doğrudan erişerek izleyebilir. Windows Server 2012 ile gelen bu servis Windows sanal makinelerde vmicheartbeat adında bir servis olarak çalışmaktadır.

operating, normally, hyper-v, powershell
Windows10 virtual machine ‘Operating Normally’

Powershell ile Get-Vm -VmName VmAdı | Select Name, Status, State yazdığınızda eğer servis düzgün çalışıyor ise ‘status’ sekmesinde ‘’Operating normally’’ sütununda yazan veriyi Hyper-V Heartbeat (sinyal) servisi sağlamaktadır. Yani sinyal çekiyor :)

Servisi kapalı ise başlatmak için Start-Service -Name vmicheartbeat

Hyper-V Guest Shutdown Service (işletim Sistemi Kapanması)

Hyper-v Yöneticisi, failed to stop, guest shutdown, server
Servis çalışmıyor ise önünüze böyle bir hata mesajı gelir.

Hyper-V Server tarafından konuk işletim sisteminin düzgün şekilde kapatılması için kullanılan servistir. Servisi devre dışı bıraktığınızda Hyper-V Manager veya powershell üzerinden sanal makineye verilen kapat komutu hata vererek çalışmaz. Core platformlarda servisleri genelde powershell ile bu tip basit işlemlerin yönetimi daha kolaydır. Denemek için kullanılacak komutlar;

Stop-Service -Name vmicshutdown

Start-Service -Name vmicshutdown

Hyper-V Time Synchronization Service (Zaman Eşitleme)

Sanal makine ile Hyper-V arasındaki saatin eşitlemesini sağlar. Basit manada kapalı olur ise sanal makine ile host arasında farklar oluşur ve iletişim hatalarına sebep olabilir. Özel durumlarda kapatılması gerekiyor ise aşağıdaki Powershell komutu ile kapatılabilir.

Stop-Service -Name vmictimesync

Hyper-V Data Exchange Service (KVP) (Veri Değişimi)

Veri değişim hizmeti, VMBUS sürücülerini kullanarak sanal makine ile Hyper-V arasında veri bağlantısı olmadan temel metadata alışverişi yapabilmek için kullanılmaktadır. Varsayılanda Windows sanal makinelerde aktif olarak gelmektedir. Aşağıdaki gibi kapatılabilir.

Stop-Service -Name vmickvpexchange

Hyper-V Volume Shadow Copy Requestor (Yedek — Birim Gölge Kopyası)

Bu servis sayesinde sanal makinenin çalışırken ve sanal makine üzerinde dosyaları açık yada kapalı farketmeksizin imaj yedeklerini almanızı sağlayan servistir. Servisin çalışıyor olması sanal makine yedeği açısından oldukça önemlidir. Bu servis aynı zamanda Windows sanal makinelerde çalışan Volume Shadow Copy servisini tetiklemektedir. Bu servisin genelde bilinmeyen ve bence en önemli yanlarından birisi de checkpoint (eski adı snapshoot) teknolojisine yeni gelen bir özellik olan production chekpoint özelliği için gerekli bir servis olmasıdır. Standart checkpoint aldıktan sonra geri dönüşlerde yaşanabilecek hatalar ve kararsızlıklardan dolayı production checkpoint özelliği eklenmiştir.

Production, checkpoint, Hyper-V, cannot, created, hyper, türkçe, source, kaynak
Hyper-V Volume Shadow Copy Requestor yada VSS servisi çalışmaz ise bu hata dönder.

Hyper-V Volume Shadow Copy Requestor servisi ve VSS düzgün çalışmaz ise production chekpoint alınamaz ve hata verir. Yine de kapatmak isterseniz powershell ile aşağıdaki gibi kapatabilirsiniz. Servisin kapalı olması durumunda sadece sanal makine kapalı iken yedek alabilirsiniz.

Stop-Service -Name vmicvss

Hyper-V Guest Service Interface (Konuk Hizmetleri)

Varsayılanda kapalı gelen bu özellik sayesinde Hyper-V ile sanal makine arasında Copy-VMFile komutu ile dosya alış verişi yapmaya yarar. Örnek kullanım için Powershell komutu aşağıdaki gibidir.

Copy-VMFile “VMAdı” -SourcePath “D:\Test.txt” -DestinationPath “C:\Temp\Test.txt” -CreateFullPath -FileSource Host

Komutun işe yaraması için servisi etkinleştirmeniz gerekmektedir.

Hyper-V PowerShell Direct Service

Microsoft’un Hyper-V ile sanal makineler arasındaki yönetimi kolaylaştırmak için eklediği özelliklerden bir tanesidir. Hyper-V Server üzerinde doğrudan administrator yetkisine sahip bir hesap ile oturum açtıysanız, sanal makine ile host arasında network bağlantısına ihtiyaç duymadan powershell ile komut verebilir ve yöntebilirsiniz. Üstelik sanal makinedeki administrator yetkisine veya güvenlik duvarı izinlerine takılmadan bunu yapabilmektesiniz. En az Windows Server 2016 TP3 veya Windows 10 ile çalışmaktadır. Kullanmak için host üzerinde oturum açtıktan sonra aşağıdaki komutu girebilirsiniz.

Enter-PSSession -VMName <Virtual Machine Name>

Bağlantı başarısız olursa Start-Service -Name vmicvmsession yazarak servisi çalıştırmayı deneyin ve çalıştığından emin olun.

Genel olarak bütün servisleri anlaşılır özetiyle belirttim. Tümleştirme / entegrasyon servislerinin Powershell Direct hariç hepsinin Linux tarafında da karşılığı Microsoft tarafından sunulmaktadır.

--

--

Ahmet Doruk
Ahmet Doruk

Written by Ahmet Doruk

IT Manager, Consultant, System Admin | Message for freelance works; www.linkedin.com/in/ahmetdoruk/

No responses yet