Sanal Makine Nedir? (Neden ve Ne Zaman Kullanılmalı)

  • Bunu Paylaş
Cathy Daniels

Yazılım sektöründe veya çevresinde çalışıyorsanız, muhtemelen sanal makineleri duymuşsunuzdur. Duymadıysanız, ne olduklarını ve ne için kullanıldıklarını merak ediyor olabilirsiniz.

Bir yazılım mühendisi olarak her gün sanal makineler kullanıyorum. Bunlar yazılım geliştirmede güçlü araçlardır, ancak başka kullanım alanları da vardır. Sanal makineler olarak da bilinen bu araçları birçok işletme esneklik, güvenilirlik ve maliyet etkinliği nedeniyle kullanır; ayrıca kaçak yazılım testlerinden kaynaklanan felaketleri de önlerler.

Sanal makinelerin ne olduğuna ve neden kullanıldıklarına bir göz atalım.

Sanal Makine Nedir?

Sanal makine, bir bilgisayarın ana işletim sistemi içinde çalışan Windows, Mac OS veya Linux gibi bir işletim sisteminin (OS) bir örneğidir.

Genellikle masaüstünüzdeki bir uygulama penceresinde çalışır. Bir sanal makine tam işlevselliğe sahiptir ve ayrı bir bilgisayar veya makine gibi davranır. Özünde, bir sanal makine, ana makine olarak bilinen başka bir bilgisayarın içinde çalışan sanal bir bilgisayardır.

Resim 1: Bir dizüstü bilgisayarda çalışan Sanal Makine.

Bir sanal makinenin donanımı (bellek, sabit disk, klavye veya monitör) yoktur. Ana makinenin simüle edilmiş donanımını kullanır. Bu nedenle, "konuk" olarak da adlandırılan birden fazla VM tek bir ana makinede çalıştırılabilir.

Resim 2: Birden fazla VM çalıştıran ana makine.

Ana bilgisayar ayrıca Linux, Mac OS ve Windows gibi farklı işletim sistemlerine sahip birden fazla sanal makine çalıştırabilir. Bu özellik hipervizör adı verilen bir yazılıma bağlıdır (bkz. yukarıdaki Resim 1). Hipervizör ana makinede çalışır ve sanal makineler oluşturmanıza, yapılandırmanıza, çalıştırmanıza ve yönetmenize olanak tanır.

Hipervizör her sanal makine için disk alanı tahsis eder, işlem süresini planlar ve bellek kullanımını yönetir. Oracle VirtualBox, VMware, Parallels, Xen, Microsoft Hyper-V ve diğerleri gibi uygulamaların yaptığı şey budur: bunlar hipervizördür.

Bir hipervizör bir dizüstü bilgisayar, PC veya sunucu üzerinde çalışabilir. Sanal makineleri yerel bilgisayar veya bir ağ üzerinden dağıtılan kullanıcılar için kullanılabilir hale getirir.

Farklı sanal makine ve ortam türleri farklı hipervizör türleri gerektirir. Şimdi bunlardan bazılarına bir göz atalım.

Sanal Makine Türleri

Sistem Sanal Makineleri

Bazen tam sanallaştırma olarak da adlandırılan sistem VM'leri, bir hipervizör tarafından çalıştırılır ve gerçek bir bilgisayar sisteminin işlevselliğini sağlar. Sistem kaynaklarını yönetmek ve paylaşmak için ana bilgisayarın yerel işletim sistemini kullanırlar.

Sistem sanal makineleri genellikle hızlı veya çoklu CPU'lara, büyük miktarda belleğe ve tonlarca disk alanına sahip güçlü bir ana bilgisayar gerektirir. Kişisel veya dizüstü bilgisayarlarda çalışan bazıları, büyük kurumsal sanal sunucuların ihtiyaç duyduğu bilgi işlem gücünü gerektirmeyebilir; ancak ana bilgisayar sistemi yeterli değilse yavaş çalışırlar.

Sanal Makineleri İşleyin

İşlem Sanal Makineleri SVM'lerden oldukça farklıdır - makinenizde çalışıyor olabilirler ve bundan haberiniz bile olmayabilir. Uygulama sanal makineleri veya yönetilen çalışma zamanı ortamları (MRE'ler) olarak da bilinirler. Bu sanal makineler bir ana bilgisayar işletim sisteminin içinde çalışır ve uygulamaları veya sistem işlemlerini destekler.

Neden PVM kullanmalı? Belirli işletim sistemlerine veya donanımlara bağımlı olmadan hizmet verirler. Sadece ihtiyaç duydukları kaynaklarla kendi küçük işletim sistemlerine sahiptirler. MRE ayrı bir ortamdadır; Windows, Mac OS, Linux veya başka bir ana makinede çalışması önemli değildir.

En yaygın İşlem Sanal Makinelerinden biri, muhtemelen duymuş olduğunuz ve bilgisayarınızda çalışırken görmüş olabileceğiniz bir makinedir. Java uygulamalarını çalıştırmak için kullanılır ve Java Sanal Makinesi veya kısaca JVM olarak adlandırılır.

Hipervizör Türleri

İlgilendiğimiz sanal makinelerin çoğu, tüm bir bilgisayar sistemini taklit ettikleri için bir hipervizör kullanır. İki farklı hipervizör türü vardır: Çıplak Metal Hipervizörler ve Barındırılan Hipervizörler. Her ikisine de hızlıca bir göz atalım.

Çıplak Metal Hipervizörü

BMH'ler yerel hipervizörler olarak da adlandırılabilir ve ana bilgisayarın işletim sistemi içinde çalışmak yerine doğrudan ana bilgisayarın donanımı üzerinde çalışırlar. Aslında, ana bilgisayarın işletim sisteminin yerini alırlar, her sanal makine tarafından donanım kullanımını planlar ve yönetirler, böylece süreçteki "aracı adamı" (ana bilgisayarın işletim sistemi) ortadan kaldırırlar.

Yerel hipervizörler normalde şirketlerin çalışanlarına sunucu kaynakları sağlamak için kullandığı büyük ölçekli kurumsal VM'ler için kullanılır. Microsoft Azure veya Amazon Web Services bu tür bir mimari üzerinde barındırılan VM'lerdir. Diğer örnekler KVM, Microsoft Hyper-V ve VMware vSphere'dir.

Barındırılan Hipervizör

Barındırılan hipervizörler, makinelerimizde çalıştırdığımız diğer uygulamalar gibi standart işletim sistemleri üzerinde çalışır. Kaynakları yönetmek ve dağıtmak için ana bilgisayarın işletim sistemini kullanırlar. Bu tür hipervizörler, makinelerinde birden fazla işletim sistemi çalıştırması gereken bireysel kullanıcılar için daha uygundur.

Bunlar arasında Oracle VirtualBox, VMware Workstations, VMware Fusion, Parallels Desktop ve diğerleri gibi uygulamalar bulunur. Barındırılan hipervizörler hakkında daha detaylı bilgiye En İyi Sanal Makine Yazılımları yazımızdan ulaşabilirsiniz.

Neden Sanal Makineler Kullanılmalı?

Artık sanal makinenin ne olduğu hakkında temel bir anlayışa sahip olduğunuza göre, muhtemelen bazı mükemmel uygulamalar düşünebilirsiniz. İşte insanların sanal makineleri kullanmasının en önemli nedenlerinden bazıları.

1. Uygun Maliyetli

Sanal makineler birçok durumda uygun maliyetlidir. Bunların en önemlilerinden biri kurumsal dünyadadır. Çalışanlara kaynak sağlamak için fiziksel sunucuları kullanmak çok pahalı olabilir. Donanım ucuz değildir ve bakımı daha da maliyetlidir.

Sanal makinelerin kurumsal sunucular olarak kullanılması artık bir norm haline gelmiştir. MS Azure gibi bir sağlayıcıdan alınan VM'lerle, ilk donanım satın alımları ve bakım ücretleri yoktur. Bu VM'ler saatte sadece birkaç kuruşa kurulabilir, yapılandırılabilir ve kullanılabilir. Ayrıca kullanılmadıklarında kapatılabilirler ve hiçbir maliyete neden olmazlar.

Makinenizde bir sanal makine kullanmak da büyük bir para tasarrufu sağlayabilir. Birden fazla işletim sisteminde veya farklı donanım yapılandırmalarında çalışmanız gerekiyorsa, şunları yapabilirsiniz

tek bir ana bilgisayarda birden fazla sanal makine kullanın; her görev için ayrı bir bilgisayar satın almanıza gerek yok.

2. Ölçeklenebilir ve Esnek

İster kurumsal sunucular ister dizüstü bilgisayarınızda çalışan VM'ler olsun, sanal makineler ölçeklenebilir. Kaynakları ihtiyaçlarınıza göre ayarlamak kolaydır. Daha fazla belleğe veya sabit disk alanına ihtiyacınız varsa, hipervizöre gidin ve VM'yi daha fazlasına sahip olacak şekilde yeniden yapılandırın. Yeni donanım satın almanıza gerek yoktur ve işlem hızla tamamlanabilir.

3. Hızlı kurulum

Yeni bir sanal makinenin hızlı bir şekilde kurulabildiği durumlar yaşadım, bunları yöneten iş arkadaşımı aradım ve bir saatten kısa bir sürede kullanıma hazır hale getirdim.

4. Felaket Kurtarma

Veri kaybını önlemeye ve felaket kurtarma için hazırlık yapmaya çalışıyorsanız, sanal makineler müthiş bir araç olabilir. Yedeklemeleri kolaydır ve gerektiğinde farklı konumlara dağıtılabilirler. Sanal makineleri Microsoft veya Amazon gibi bir üçüncü taraf barındırıyorsa, bunlar tesis dışında olacaktır; bu da ofisiniz yanarsa verilerinizin güvende olacağı anlamına gelir.

5. Yeniden Üretilmesi Kolay

Çoğu hipervizör, bir sanal makinenin kopyasını veya görüntüsünü oluşturmanıza izin verir. Görüntüleme, herhangi bir durum için aynı temel sanal makinenin tam kopyalarını kolayca oluşturmanıza olanak tanır.

Çalıştığım ortamda, her geliştiriciye geliştirme ve test için kullanması için bir sanal makine veriyoruz. Bu süreç, gerekli tüm araçlar ve yazılımlarla yapılandırılmış bir görüntüye sahip olmamızı sağlıyor. Yeni bir geliştirici işe başladığında, tek yapmamız gereken bu görüntünün bir kopyasını oluşturmak ve çalışmaya başlamak için ihtiyaç duydukları her şeye sahip olmak.

6. Geliştirme/Test için mükemmel

Sanal makineleri kullanmanın en iyi avantajlarından biri, yazılım geliştirme ve test için mükemmel bir araç olmalarıdır. Sanal makineler, geliştiricilerin tek bir makinede birden fazla platform ve ortamda geliştirme yapmasına olanak tanır. Sanal makine bozulur veya yok olursa, hızlı bir şekilde yenisi oluşturulabilir.

Test uzmanının her test döngüsü için temiz ve yeni bir ortama sahip olmasını sağlarlar. Yeni bir sanal makine oluşturan, en son yazılım sürümünü yükleyen, gerekli tüm testleri çalıştıran ve testler tamamlandıktan sonra sanal makineyi silen otomatik test komut dosyaları kurduğumuz projelerde çalıştım.

Sanal makineler, SoftwareHow.com'da yaptığımız gibi ürün testleri ve incelemeleri için harika çalışıyor. Uygulamaları makinemde çalışan bir sanal makineye yükleyebilir ve birincil ortamımı karıştırmadan test edebilirim.

Testlerimi tamamladığımda sanal makineyi her zaman silebiliyor ve ihtiyacım olduğunda yeni bir tane oluşturabiliyorum. Bu işlem aynı zamanda sadece bir Windows makinem olmasına rağmen birden fazla platformda test yapabilmemi sağlıyor.

Son Sözler

Gördüğünüz gibi, sanal makineler birçok uygulama için kullanılabilen uygun maliyetli ve çok yönlü bir araçtır. Artık test uzmanlarına, geliştiricilere ve diğerlerine sunucu erişimi sağlamak için pahalı donanımlar satın almamız, kurmamız ve bakımını yapmamız gerekmiyor. Sanal makineler bize ihtiyaç duyduğumuz işletim sistemlerini, donanımları ve ortamları istediğimiz zaman kolayca ve hızlı bir şekilde oluşturma esnekliği sağlar.

Ben Cathy Daniels, Adobe Illustrator uzmanıyım. Yazılımı 2.0 sürümünden beri kullanıyorum ve 2003'ten beri bunun için öğreticiler oluşturuyorum. Blogum, Illustrator'ı öğrenmek isteyenler için web'deki en popüler yerlerden biridir. Blogger olarak çalışmalarıma ek olarak, aynı zamanda bir yazar ve grafik tasarımcıyım.