Eğitmen: Sanallaştırma
kullanırken sanal makinelerinizi kurma ve
yapılandırma zamanı geldiğinde,
var olan farklı kaynak
gereksinimlerini anlamak önemlidir.
Kaynak gereksinimleri söz konusu
olduğunda, gerçekten dört ana alana odaklanıyoruz.
CPU ve sanallaştırma uzantıları,
sistem belleği, depolama ve ağ iletişimi.
Şimdi bunların her birine bir göz atalım.
İlk olarak, CPU ve onun sanallaştırma uzantılarına sahibiz.
Şimdi, CPU'lar hakkında konuştuğumuzda,
Intel ve AMD gibi her üretici sanallaştırma için
farklı teknoloji kullanıyor.
Intel tabanlı çipler kullanıyorsanız,
sanallaştırma teknolojisi olan ve açılımı
VT olan VT-x'i arıyor olacaksınız.
Eğer bir AMD işlemci kullanıyorsanız,
AMD sanallaştırma için sanallaştırma uzantılarını AMD-V
olarak adlandırıyorlar.
Artık ister barındırılan bir hipervizör ister
çıplak metal hipervizör kullanıyor olun,
sanallaştırmayı destekleyen bir CPU'ya sahipseniz her ikisi
de önemli performans kazanımları elde edecektir.
Şimdi, bazı sanallaştırma yazılımları,
sanallaştırmayı kullanabilmeniz için
bir CPU'nun sanallaştırma desteğinin etkinleştirilmiş
olmasını gerektirmez.
Ancak sanallaştırmayı bir işlemci uzantısı olarak
etkinleştirmediyseniz, performansınızı
önemli ölçüde yavaşlatacaktır.
Ve iş gerçek bir üretim işi yapmaya geldiğinde çok kullanışsız
bir sanal makineye sahip olacaksınız.
Şimdi, eğer işlemciniz sanallaştırmayı destekliyorsa,
ki modern işlemcilerin çoğu desteklemektedir,
bu sanallaştırma uzantılarını etkinleştirebilmek
için BIOS ya da UEFI'ye girmeniz gerekecektir.
Genellikle, VirtualBox veya
VMware gibi bir şeye sanal
makine yüklemeyi denerseniz ve sanallaştırmanın
etkin olduğunu algılamazsa,
size VT-x veya AMD-V'yi etkinleştirmeniz gerektiğini
söyleyen bir hata mesajı verecektir.
Şimdi, bu iki sanallaştırma
teknolojisi uzantısına ek olarak,
ikinci seviye adres çevirileri anlamına gelen
SLAT adında bir tane daha var.
Ve bu, tek bir fiziksel ana bilgisayarda
birden fazla sanal makine çalıştırdığınızda
sanal belleğin performansını
artırmaya yardımcı olacak birçok modern
işlemcide bulunan bir işlemci
özelliğidir.
Şimdi, eğer bir Intel işlemci kullanıyorsanız,
SLAT'ı EPT olarak adlandırırlar, yani genişletilmiş
sayfa tablosu.
Eğer bir AMD işlemci kullanıyorsanız,
SLAT'ı RVI olarak adlandırıyorlar, yani hızlı
sanallaştırma indeksleme.
Her iki durumda da SLAT, EPT veya RVI terimlerini gördüğünüzde, aslında sanal belleğe daha
hızlı bir yöntemle erişebilme
ve CPU'nuzdan daha iyi performans alabilme becerisinden
bahsediyorsunuz demektir.
Ve bu uzantıları kullanabilmeniz
için işlemcinizin desteklemesi
gereken bir şeydir.
Şimdi, işlemcilerimizin
ve CPU'larımızın içindeki sanallaştırma
uzantıları hakkında konuşmanın yanı sıra, CPU'nun
kendisi hakkında da konuşmak istiyoruz.
Sanallaştırma ile uğraşırken çok yüksek performanslı
bir makineye sahip olmak istiyorsanız, sisteminizde
çok çekirdekli hiper iş parçacığını veya birden fazla
fiziksel işlemciyi destekleyen bir işlemci aramak isteyeceksiniz.
Ek çekirdeklerin kullanılabilir olması, ek
işlem kapasitesine sahip olduğunuz anlamına gelir.
Birden fazla işlemciniz varsa,
bu anakart üzerinde iki veya daha fazla fiziksel
işlemciniz olduğu anlamına gelir.
Şimdi, sunucu tabanlı bir
teknoloji kullanmıyorsanız bu oldukça nadirdir, ancak evinizdeki
masaüstünüzde veya dizüstü bilgisayarınızda, size sanal
çekirdekler sağlamak için
işlemcinizde çok çekirdekli veya hiper iş
parçacığı bulma olasılığınız daha yüksektir.
Ve bu şekilde, bu konuk işletim
sistemlerini çalıştıran bireysel sanal makinelerinize işlemci
atama ve performanslarını artıracak
daha fazla özel kaynak sağlama konusunda
size ek yetenek sağlar.
Şimdi, CPU'lar söz konusu
olduğunda bir diğer yan
not, CPU'ların bugünlerde piyasada bulabileceğiniz
üç farklı mekanizmaya sahip olduğunu
unutmayın.
Birincisi eski tip x86.
Şimdi, x86 tabanlı işlemcilerden bahsettiğimizde,
gerçekten 32 bitlik bir işlemciden bahsediyoruz.
Bu da sisteminizin diğer şeyleri kullanma kabiliyetinin
önemli ölçüde kısıtlanacağı anlamına gelir.
Çünkü 32 bit işletim
sistemiyle çalışırken yalnızca dört
gigabayt RAM'e erişebilirsiniz; bu da tek bir fiziksel
sunucuda birden fazla sanal
makine barındırmak istediğinizde çok küçük
bir miktardır.
Bunun yerine, temel ana işletim sisteminizin bunu destekleyip
desteklemediğine bağlı olarak, söz konusu sisteminiz
için 16 exabayta kadar RAM'e erişmenizi
sağlayan x64 tabanlı bir işlemci çalıştırmak
daha iyidir.
Dört gigabayta kıyasla bu 16
eksabayt, x64 tabanlı
bir işlemci kullanıyorsak 4 milyar kat daha fazla RAM'e
sahip olduğumuz anlamına gelir.
Şimdi, 64 bit işlemci kullanıyorsanız, isterseniz
32 bit programları ve 32 bit işletim sistemlerini
bu fiziksel sunucuda konuk işletim
sistemi olarak çalıştırmaya devam edebilirsiniz.
Ancak asıl sınırlama,
32 bit işlemciniz varsa, 64 bit uygulamaları
veya 64 bit işletim sistemlerini bir konuk
işletim sisteminde sanal makine olarak
çalıştıramazsınız.
Bu yüzden yine x64 tabanlı
bir işlemci tercih etmek daha iyi olacaktır.
Karşılaşabileceğiniz üçüncü işlemci
türü ise ARM olarak bilinen işlemcidir.
ARM ise bilgisayar işlemciniz için
azaltılmış komut seti bilgisayar
mimarisidir.
Peki, bugünlerde ARM işlemcilerine
tarlalarda nerede rastlayacaksınız?
Eğer herhangi bir modern Mac kullanıyorsanız,
hepsi ARM işlemci kullanıyor.
Bu önemli çünkü MacBook Pro ya da M1 veya
M2 işlemcilerden birini çalıştıran yeni iMAC'lerden
biri gibi modern sistemlerden
birini kullanıyorsanız, bunların hepsi ARM tabanlıdır.
ARM tabanlı oldukları için de
ARM üzerinde çalışmayan konuk işletim sistemlerini
yerel olarak barındıramazlar.
Çünkü ortaya çıkan bir çeviri olmalı.
Örneğin, M1 veya M1 Pro işlemci kullanan bir
Mac veya MacBook Pro satın alırsanız, bu ARM
tabanlı bir işlemcidir.
Windows 11 veya Windows 10'u bir konuk
işletim sistemine yüklemeye çalışırsanız
ve bunlar x86 veya x64 tabanlı işletim sistemi sürümleriyse, çalışmayacaklar
ve hata alacaksınız.
Dolayısıyla, farklı sanal makinelerinizi
barındıracağınız fiziksel
sisteminizde ARM tabanlı bir
işlemci kullanıyorsanız, bu durum
konuk işletim sistemi seçeneklerinizi
önemli ölçüde sınırlayacaktır çünkü tüm işletim
sistemlerinin ARM tabanlı bir sürümü
yoktur.
Bu çekim sırasında,
Windows 11 şu anda ARM tabanlı işlemciler
için bir sürüm hazırlıyor ve bunlar bu
ARM yongalarında çalışacak.
Ayrıca MacBook veya diğer ARM tabanlı
işlemcilerde çalıştırabileceğiniz
ARM tabanlı Linux sürümleri de bulunmaktadır.
Ancak bunu size belirtmek
istedim çünkü bu karşılaşacağınız
bir sınırlamadır.
Şimdi, kaynaklar açısından
konuşmamız gereken ikinci alan sistem
belleğinizdir.
Sistem belleği hakkında konuştuğumuzda,
aslında fiziksel sunucunuzda
veya ana bilgisayar işletim sistemi olarak
görev yapan iş istasyonunuzda yüklü olan fiziksel
bellek miktarından bahsediyoruz.
Örneğin, sekiz gigabayt ya da 16 gigabayt ya da 32 gigabayt
RAM'im varsa, sanal makineleri barındırmak söz konusu olduğunda
daha fazlası her zaman daha iyidir,
çünkü örneğin dizüstü bilgisayarımda
yalnızca sekiz gigabayt RAM varsa ve dört farklı
konuk işletim sistemi çalıştırmak istiyorsam, her biri iki gigabayt RAM alırsa, fiziksel belleğimin
tamamını zaten kullanmış olurum ve bu da altta yatan ana bilgisayar işletim sistemim için hiçbir şey bırakmaz.
Bunu bir perspektife oturtmak
gerekirse, Mac OS gibi bir işletim sistemi kullanıyorsanız,
Mac'in açılması ve yapması gerekenleri yapabilmesi için
yaklaşık sekiz gigabayt
bellek gerekir.
Bir Windows makine kullanıyorsanız,
Windows'u ana işletim sistemi olarak yeterince çalıştırabilmek
için genellikle yaklaşık dört gigabayt gerekir.
Yani sekiz gigabaytınız varsa ve Windows 11'i
bir Windows 10 ana bilgisayarında
konuk olarak çalıştırmak istiyorsanız, bu dört artı
dört veya sekiz gigabayt belleğinizin
tamamını alacaktır.
Dolayısıyla, kaynaklarınız hakkında konuşurken,
bu konuk işletim sistemlerine
ne kadar bellek ayırabileceğinize gerçekten
bakmak istersiniz ve ne kadar çok fiziksel
belleğiniz varsa, bunu o kadar çok yapabilirsiniz.
Kaynaklar için bir sonraki husus depolamamızdır.
Ve tüm bu sanal makine görüntülerini nerede
saklayacağınızdan bahsediyoruz.
Unutmayın, konuk işletim sistemleriyle
birlikte oluşturduğumuz tüm bu sanal makineler
fiziksel sunucunuzda disk alanı kaplayacaktır.
Dolayısıyla, yalnızca 256 gigabayt
alana sahip bir dizüstü bilgisayarınız varsa ve bu
sisteme bir Windows 10 konuk işletim
sistemi yüklemek istiyorsanız, bu muhtemelen
yaklaşık 50 gigabayt
alanınızı alacaktır.
Yani toplam sabit diskinizin
beşte birini tek bir sanal
makine görüntüsü için kullandınız.
Şimdi, bunun üç ya da dört farklı kopyasına
sahipseniz, şimdi üç ya da dört
kez 50, yani 150 ila 200 gigabayt,
yani neredeyse tüm disk sürücünüzü kaplamış
olursunuz.
Bu yüzden yığın depolama, gerçekten farkında
olmanız gereken bir şey haline geliyor.
Tipik olarak, bir Windows kurulumu yaptığınızda
barebone bir Windows kurulumu yaklaşık
20 gigabayt alan kaplar, ancak muhtemelen 40
veya 50 kullanmak istersiniz çünkü dosyaları orada depolamak,
uygulamaları yüklemek ve bunun gibi şeyler
yapmak istediğinizde ek alana
ihtiyacınız vardır.
Linux kullanıyorsanız, genellikle
çok daha hafiftirler ve çoğu
dağıtımın yaklaşık dört ila sekiz gigabayt
alana kurulacağını görebilirsiniz, bu da Windows'tan
önemli ölçüde daha azdır.
Konuk işletim sistemi olarak bir
Mac ortamıyla uğraşıyorsanız,
bu yine genellikle yaklaşık
20 ila 40 gigabaytlık bir alan kaplar.
Bunu aklınızda bulundurun
ve fiziksel cihazınızda çok sınırlı
miktarda disk alanınız varsa, bunu yükseltmek
ve depolama miktarınızı artırmak
isteyebilirsiniz.
Bu şekilde aynı fiziksel sunucu üzerinde daha fazla
konuk işletim sistemi barındırabilirsiniz.
Göz önünde bulundurmamız gereken son alan ise ağ oluşturma.
Bunun nedeni, ana işletim sisteminde
çalışan hipervizörün, bu sistemde barındırılan
diğer tüm sanal makinelerin iletişim kurması
için sanal bir ağ ortamı oluşturacak olmasıdır.
Ancak hepsi dosya indirmek için internete
veya yerel alan ağınıza çıkmak isterse, bunu
fiziksel cihazdaki
aynı ağ arayüz kartınız aracılığıyla yaparlar.
Yani saniyede yalnızca yüz megabit hızında
çalışan eski bir ağ kartı kullanıyorsanız ve bu
sunucuda beş sanal makine çalıştırıyorsanız, her biri
saniyede yalnızca 20 megabit
hızında çalışıyor demektir.
Bu durumda, bu konukları
barındıran fiziksel sunucudaki ağ
arabirim kartınızı
kesinlikle yükseltmek
ve bir gigabit ağ kartı veya hatta birden
fazla sanal makine barındırıyorsanız 10 gigabit
ağ kartı takmak isteyeceksiniz.
Bu, ağ yavaşlamanıza neden olmadan tüm
bu sanal makineleri barındırabilmeniz
için ek verim ve bant genişliğine
sahip olmanızı sağlayacaktır.
Buna ek olarak, daha sonra ağ çalışmalarınızda
öğreneceğiniz gibi, birden fazla ağ arayüz
kartı takabilir ve bunları ekip yapılandırması olarak bilinen
bir yapılandırmaya yerleştirebilirsiniz.
Bu, size daha yüksek hızlar sağlamak için birden fazla
kartın birlikte çalışmasına olanak tanır.
Yani iki adet bir gigabitlik ağ kartınız varsa ve bunlar
bir ekip halinde çalışıyorsa,
artık ağa bağlanmak için kullanabileceğiniz
iki gigabitlik veriminiz var
demektir.
Genellikle, kurumsal bir ortamda
çok sayıda sanal makineye ev sahipliği yapan
bir sunucu üzerinde çalışıyorsanız, saniyede
dört gigabite, hatta saniyede
40 gigabite kadar hız alabilmeleri için
hepsi bir ekip halinde çalışan
dört adede kadar ağ arabirim kartına sahip olduklarını
görürsünüz.
Eğer söz konusu sunucuda saniyede 10 gigabit
hızında ağ arayüz kartları kullanılıyorsa.
Bu nedenle, kaynak gereksinimleri söz konusu olduğunda,
CPU ve işlemci ve yeteneklerinin yanı sıra ne kadar belleğiniz,
ne kadar depolama alanınız ve ne kadar ağınız olduğunu göz önünde
bulundurmanın önemli olduğunu unutmayın.
Bu dört alan da dikkate almanız gereken alanlardır.
Belirli bir sunucu veya iş istasyonunda kaç
sanal makine barındırabileceğinize karar verirken, aynı zamanda
söz konusu hiper yönetici üzerinde sanal makinelerinizin
içinde çalıştırılan konuk işletim sistemlerinin performansını
nasıl artırabileceğinize de karar verirsiniz.