VirtualBox ile Sanal Makine Kurulumu ve Yönetimi

VirtualBox'ta sanal makine oluşturma, misafir eklentileri, anlık görüntüler ve ağ modlarını komut satırı örnekleriyle adım adım anlatan pratik rehber.

Programlar
VirtualBox ile Sanal Makine Kurulumu ve Yönetimi

Tek bir bilgisayarda Windows, Linux ve macOS'u aynı anda çalıştırmak artık neredeyse hiçbir ek maliyet gerektirmiyor; VirtualBox bunu ücretsiz sağlıyor. Oracle'ın geliştirdiği bu sanallaştırma yazılımı, ana sisteminize dokunmadan yeni bir işletim sistemi denemenize, yazılım test etmenize veya izole bir geliştirme ortamı kurmanıza imkân veriyor. Bu yazıda sanal makine kurulumundan anlık görüntülere, ağ ayarlarından performans ayarlarına kadar pratik adımları sırayla ele alıyorum.

VirtualBox Ne Yapar, Nasıl Çalışır

VirtualBox, fiziksel bilgisayarınızın işlemci, bellek ve depolama kaynaklarını bölüştürüp bunları izole "sanal makineler" hâlinde sunan bir hipervizördür. Her sanal makinenin kendi işletim sistemi, kendi sanal diski ve kendi ağ arayüzü vardır; ana sistemden ve diğer sanal makinelerden tamamen ayrı çalışır. Bir sanal makinede bir şey bozulduğunda ana sisteminiz bundan etkilenmez.

Bu izolasyon, VirtualBox'ı sadece bir deneme alanı olmaktan çıkarıp gerçek iş akışlarının parçası hâline getiriyor. Bir geliştirici, üretim sunucusuyla aynı Linux dağıtımını ve sürümünü kendi bilgisayarında çalıştırıp orada test edebilir. Bir güvenlik uzmanı, şüpheli bir dosyayı ana sistemine hiç dokundurmadan izole bir ortamda açabilir. İki senaryoda da asıl kazanç aynı: bir şey ters giderse ana sistem etkilenmez.

VirtualBox Windows, macOS ve Linux üzerinde çalışıyor. Kurulum, resmi indirme sayfasından işletim sisteminize uygun paketi indirip standart bir kurulum sihirbazını takip etmek kadar basit. Linux'ta çoğu dağıtımda paket yöneticisi üzerinden doğrudan kurabilirsiniz:

sudo apt update
sudo apt install virtualbox

VirtualBox'ın resmi dokümantasyonuna virtualbox.org üzerinden ulaşabilirsiniz; kurulum adımları, kullanıcı kılavuzu ve sürüm notları burada güncel tutuluyor.

Sanal Makine Oluşturma

Yeni bir sanal makine oluştururken üç temel karar vermeniz gerekiyor: işletim sistemi türü, bellek miktarı ve disk boyutu. VirtualBox arayüzünde "Yeni" düğmesine tıkladığınızda sihirbaz sizi bu adımlardan sırayla geçiriyor. Aynı işlemi komut satırından VBoxManage aracıyla da yapabilirsiniz:

Yeni sanal makine oluşturma sihirbazının arayüz görünümü
VBoxManage createvm --name "Ubuntu-Test" --ostype Ubuntu_64 --register
VBoxManage modifyvm "Ubuntu-Test" --memory 4096 --cpus 2
VBoxManage createhd --filename Ubuntu-Test.vdi --size 25000

Bellek tahsisi hem sanal makinenin hem ana sisteminizin performansını doğrudan etkiliyor. Genel kural şu: ana sisteminizin toplam RAM'inin yarısından fazlasını tek bir sanal makineye ayırmayın; bu, ana sistemin yavaşlamasını önler. 16 GB RAM'li bir bilgisayarda sanal makineye 4-6 GB ayırmak çoğu kullanım için yeterlidir. Sanal makineyi kapattıktan sonra ana sisteminizin belleğinin yavaş yavaş toparlandığını da fark edebilirsiniz; bu normaldir, VirtualBox ayrılan belleği anında değil kademeli olarak serbest bırakır.

Disk türü seçimi de önemli bir fark yaratır. Dinamik olarak ayrılan disk, fiziksel diskinizde yalnızca gerçekten kullanılan alanı kaplar; sabit boyutlu disk ise başta belirlediğiniz alanın tamamını hemen ayırır ama biraz daha hızlı çalışır. Test amaçlı kullanımlarda dinamik disk, gereksiz alan israfını önlediği için genelde daha pratik bir seçim.

Sanal makine adını ve dosya konumunu baştan düşünmek küçük ama işe yarayan bir alışkanlık. Birden fazla sanal makineyle çalışacaksanız hepsini tek bir üst klasörde (örneğin "VMs") tutmak, yedekleme ve taşıma işlemlerini büyük ölçüde kolaylaştırır. Dosyalar dağınık klasörlere yayıldığında, hangi .vdi dosyasının hangi makineye ait olduğunu takip etmek zorlaşır.

İşletim Sistemi Kurulumu ve Misafir Eklentileri

Sanal makineyi oluşturduktan sonra bir ISO dosyasını sanal CD sürücüsüne bağlayıp kurulumu başlatıyorsunuz; bu süreç fiziksel bir bilgisayara işletim sistemi kurmaktan farksız. VirtualBox ayarlarında "Depolama" sekmesinden ISO dosyasını seçip sanal makineyi başlatmanız yeterli.

Kurulum bittikten sonra atlanmaması gereken bir adım var: misafir eklentileri (Guest Additions). Bu paket, sanal makine içine ek sürücüler ve araçlar kuruyor; ekran çözünürlüğünün otomatik ayarlanması, fare imlecinin sanal makine ile ana sistem arasında sorunsuz geçişi ve klasör paylaşımı bu eklentiler sayesinde çalışıyor. Linux misafir sistemlerde kurulum genelde şöyle işliyor:

sudo apt install build-essential dkms linux-headers-$(uname -r)
sudo mount /dev/cdrom /mnt
sudo /mnt/VBoxLinuxAdditions.run

Misafir eklentileri kurulmadan çalışan bir sanal makine düşük çözünürlükte ve fare entegrasyonu olmadan çalışır; bu adımı atlamak deneyimi gereksiz yere zorlaştırır.

Windows misafir sistemlerde süreç daha basit: VirtualBox menüsünden "Misafir Eklentileri CD Görüntüsünü Ekle" seçeneğine tıklamak, kurulum dosyasını sanal CD sürücüsüne otomatik olarak yükler ve kurulum sihirbazı standart bir Windows programı gibi ilerler. Kurulum bittikten sonra sanal makineyi yeniden başlatmanız gerekir; tüm entegrasyon özellikleri ancak bundan sonra devreye girer.

Anlık Görüntülerle Güvenli Deneme

Anlık görüntü (snapshot) özelliği VirtualBox'ın en pratik yeteneklerinden biri. Bir anlık görüntü aldığınızda sanal makinenin o andaki tam durumu kaydedilir; sonrasında riskli bir değişiklik yaparsanız tek bir tıkla o ana geri dönebilirsiniz.

Anlık görüntülerin dallanma ağacı şeklinde ilerleyişini gösteren şema
VBoxManage snapshot "Ubuntu-Test" take "temiz-kurulum" --description "Kurulum sonrası ilk durum"
VBoxManage snapshot "Ubuntu-Test" restore "temiz-kurulum"

Anlık görüntü almak saniyeler sürer ve sanal makine üzerinde neredeyse hiç fark edilir bir kesinti yaratmaz. Riskli her adımdan önce görüntü almayı alışkanlık hâline getirmek, neredeyse maliyetsiz bir güvenlik ağı sağlar.

Bu özellik özellikle şu senaryolarda değerli:

  • Şüpheli bir yazılımı test etmeden önce anlık görüntü almak, sorun çıkarsa saniyeler içinde geri dönmenizi sağlar.
  • Bir sistem güncellemesi öncesinde görüntü almak, güncelleme bozarsa geri dönüş garantisi verir.
  • Farklı yapılandırmaları denerken her denemeden önce ayrı görüntü almak, hangi değişikliğin soruna yol açtığını izole etmeyi kolaylaştırır.

Anlık görüntüler disk alanı tüketir; uzun süre kullanılmayan eski görüntüleri düzenli olarak silmek disk alanının gereksiz yere dolmasını engeller. Bir anlık görüntü zinciri çok uzadığında, yani onlarca görüntü üst üste biriktiğinde, sanal makinenin performansı da düşebilir; çünkü her yazma işlemi zincirdeki tüm katmanları takip etmek zorunda kalır. Gereksiz görüntüleri belirli aralıklarla birleştirmek veya silmek hem disk alanını hem performansı korur.

Klonlama ve Sanal Makine Yönetimi

Mevcut bir sanal makineyi klonlamak, aynı yapılandırmayı sıfırdan kurmak yerine mevcut kurulumu çoğaltmanın en hızlı yolu. Bir "temel imaj" hazırlayıp ondan klonlar üretmek, örneğin her yeni test senaryosu için ayrı bir Ubuntu kurulumu yapmak yerine kurulu ve yapılandırılmış bir kopyadan başlamak anlamına gelir:

NAT, köprü ve host-only ağ modlarını karşılaştıran şema
VBoxManage clonevm "Ubuntu-Test" --name "Ubuntu-Test-Klon" --register

Birden fazla sanal makineyle çalışırken VBoxManage list vms komutu kayıtlı tüm makineleri, VBoxManage list runningvms komutu ise şu anda çalışanları listeler. Bu komutlar arayüzü açmadan hızlıca durum kontrolü yapmak istediğinizde işe yarar; özellikle arayüzsüz (headless) çalışan sunucu ortamlarında vazgeçilmezdir.

Bir sanal makineyi arayüz açmadan arka planda çalıştırmak için --type headless parametresini kullanabilirsiniz:

VBoxManage startvm "Ubuntu-Test" --type headless
VBoxManage controlvm "Ubuntu-Test" poweroff

Bu yaklaşım, test sunucularında veya sürekli entegrasyon (CI) ortamlarında sanal makineleri script'ler üzerinden otomatik başlatıp durdurmak için kullanışlıdır. Grafik arayüze hiç ihtiyaç duymadan tüm yaşam döngüsünü komut satırından yönetebilirsiniz.

Ağ Modları Arasındaki Fark

VirtualBox'ta ağ yapılandırması sanal makinenizin dış dünyayla nasıl konuşacağını belirler ve dört temel mod sunar:

ModDavranışNe zaman kullanılır
NATSanal makine internete çıkar, dışarıdan doğrudan erişilemezGenel internet erişimi gereken çoğu senaryo
Köprü (Bridged)Sanal makine ağda kendi IP'siyle bağımsız bir cihaz gibi görünürAğdaki diğer cihazların sanal makineye erişmesi gerektiğinde
Sadece-Ana-BilgisayarSanal makine yalnızca ana sistemle özel bir ağ üzerinden konuşurİzole test ortamları, dış dünyaya kapalı senaryolar
Dahili AğYalnızca sanal makineler birbiriyle konuşurÇok makineli test senaryoları, örneğin sunucu-istemci simülasyonu

Varsayılan NAT modu çoğu kullanım için yeterli ve güvenli bir başlangıç noktası. Sanal makinede çalışan bir web sunucusuna ağdaki başka bir cihazdan erişmeniz gerekiyorsa köprü moduna geçmeniz gerekir; bu durumda sanal makine ağınızda gerçek bir cihaz gibi kendi IP adresini alır.

NAT modunda dışarıdan sanal makineye erişmek için port yönlendirme (port forwarding) kurmanız gerekir; bu, ana sistemin belirli bir portuna gelen isteği sanal makinenin ilgili portuna yönlendirir:

VBoxManage modifyvm "Ubuntu-Test" --natpf1 "ssh,tcp,,2222,,22"

Bu komuttan sonra ana sistemin 2222 portuna yapılan bir SSH bağlantısı, sanal makinenin 22 portuna, yani SSH servisine yönlendirilir. Köprü moduna geçmeden tek bir servisi dışarı açmak istediğinizde bu yöntem hem daha güvenli hem daha az yapılandırma gerektirir.

Performansı Artıran Ayarlar

VirtualBox'tan iyi performans almak çoğunlukla doğru kaynak dengesini kurmaktan geçer. İşlemcinizde donanım sanallaştırma desteğinin (Intel VT-x veya AMD-V) BIOS/UEFI ayarlarından etkin olduğundan emin olun; bu özellik kapalıyken sanal makineler gözle görülür biçimde yavaş çalışır.

VBoxManage modifyvm "Ubuntu-Test" --hwvirtex on
VBoxManage modifyvm "Ubuntu-Test" --vram 128
VBoxManage modifyvm "Ubuntu-Test" --ioapic on

vram ayarı ekran belleğini artırarak grafik performansını iyileştirir, ioapic ise çok çekirdekli yapılandırmalarda kararlılık sağlar. Sanal makineye ayırdığınız çekirdek sayısını ana sisteminizin fiziksel çekirdek sayısının yarısını geçmeyecek şekilde tutmak, hem sanal makinenin hem ana sistemin aynı anda akıcı çalışmasını sağlar.

Depolama performansı için sanal disk denetleyici türü de fark yaratır; misafir işletim sistemi destekliyorsa SATA yerine NVMe veya VirtIO gibi daha yeni bir denetleyici kullanmak, disk okuma-yazma hızlarını gözle görülür biçimde artırabilir. Ana sisteminizde SSD kullanıyorsanız sanal disk dosyasını da SSD üzerinde tutmak, mekanik disklere kıyasla ciddi bir hız farkı sağlar.

En pratik başlangıç noktası şu: yeni bir sanal makine kurduktan hemen sonra, hiçbir değişiklik yapmadan bir anlık görüntü alın. Bu tek adım ilerideki her denemeyi risksiz hâle getirir ve sorun çıktığında dakikalar içinde temiz bir kuruluma dönmenizi sağlar. VirtualBox'ın gerçek gücü, deneme yapmayı korkusuz hâle getirmesinde ortaya çıkar.

Celil Uyanikoglu

Yazan Celil Uyanikoglu

Bilgisayar mühendisiyim; 25 yılı aşkın süredir bilgi işlem sektörünün içindeyim. Bu blogu 2020'de, işimde her gün karşılaştığım sorunların çözümlerini bir yere yazmak için açtım: Linux, güvenlik, tarayıcılar, yapay zeka araçları. Yazdığım her rehberi önce kendi bilgisayarımda ya da sunucumda deniyorum; çalıştığını görmediğim adımı yayınlamam. Hatalı ya da eskimiş bir şey görürsen iletişim sayfasından yaz — düzeltirim.

Yorum

Henüz yorum yok.

Sohbete katıl. Yorumlar yayınlanmadan önce moderasyondan geçer.

Yorum yap

E-posta adresin yayınlanmaz. Yorumlar moderasyondan sonra yayınlanır.

Sırada

İlgili notlar

jekcms 61602b0e6293b42004a1