Bende baştan sona okudum ancak yazılan her kelimenin yanlışlığı ile dehşete düştüm. Özür dilerim böyle lakkadanak söylemek istemezdim ama popodan başka hiç bir dayanağı olmayan önermeler ve açıklamalar var hadi önemli değil-de- başka insanlarında yanlış öğrenmesine yol açıyorlar.
Maalesef sanal makine (virtualization) dünyasında vps, vds gibi ayrımlar yoktur, bu tanımlar bu işi ticari olarak yapan insanların uydurduğu kısaltmalar ya da marka isimleridir. Normal şartlar altında 4 çeşit makine sanallaştırma türü var;
1) Tam Sanallaştırma (full virtualization): Çalışan işletim sistemlerinin tüm donanımlarının kesin ve net bir biçimde birbirinden ayrılması demektir. Bu iş için özel donanımlar gerekir ve çok şanslı değilseniz hayatınızda asla rastlayamayacaksınız demektir.
2) Sahte Sanallaştırma (para-virtualization): İşletim sistemlerinin özel olarak düzenlenerek bir aracı ile kaynakların paylaştırılmadan ayrılarak kullandırılması demektir, bunun da örneğini görmeniz çok kolay değildir.
3) Donanımla Sanallaştırma (Hardware level virtualization ): Donanım yardımı ile sanallaştırma yapılması demektir. AMD-V ve INTEL VT gibi işaretçileri içeren bir işlemciniz varsa (ki artık yeni cpuların hepsinde bu işaretçiler var) yapılabilir. Mesela Linux KVM, Xen, Parallels, Vmware bunu CPU yardımı ile yaparlar.
4) İşletim Sistemi Düzeyinde Sanallaştırma (Operating system level virtualization): Yazılım yardımı ile fiziksel bir makinenin kaynaklarının paylaştırılması demektir. Burada sanallaştırma yazılım aracılığı ile yapıldığından, ana makine ile diğer makineler aynı yazılım çekirdeğini kullanırlar. Mesela linux v-server, virtuozzo, bsd jail bunu çekirdek yardımı ile yaparlar.
Bu farkları anladıktan sonra, şunu da belirtmeliyim ki, 3. ve 4. sanallaştırma türlerinin her ikisinde de, ana makinede var olandan daha çok kaynak paylaştırılabilir. Yani her ikisinde de 4GB ramlı makineye 10 tane 1GB ramlı sanal makine kurulabilir burada bir fark kesinlikle yoktur. Arada sadece iki fark vardır, ve bu farkları duyunca "VDS"çiler baya bir üzülecek;
İşletim sistemi düzeyli
-----------------------------------------
1.(-) Sanal makineler ana makine ile aynı yazılım çekirdeğini kullanmak zorundadırlar. (ana makine linux çekirdekli ise sanal makinelerde linux çekirdekli
olmalıdır.)
2.(+) Sanal makinelerin hızları (her türlü hızları) ana makine ile, kaynaklar doğrultusunda bire bir aynıdır.
Donanım düzeyli
------------------------------------------
1.(+) Sanal makineler değişik çekirdekli olabilir. (ana makine linux, sanal makine window ya da solaris olabilir.)
2.(-) Sanal makinelerin hızları (her türlü hızları) ana makineden kesinlikle ve kesinlikle daha düşük olmak zorundadır.
"VDS"çi arkadaşlar burada patladılar. Nedenini bir örnekle açıklayayım; Elimizde iki makine olsun birisi Virtuozzo diğeri ise Vmware. Her ikisinede ana makine ile aynı özelliklerine sahip birer adet sanal makine yaratalım.Teoride, Virtuozzo-VPS kendine ayrılan kaynakların 100%ünü kullanıyor olduğunda herhangi bir sorun oluşmayacaktır çünkü ana makine ile aynı donanım seviyesindedir ve kaynakları ortak kullanır ancak Vmware-VDS kaynaklarının 100%'ünü kullandığında ana makineye kaynak kalmaz ve teoride bile asla kaynağın 100% ünü kullanamaz.
Elbette kimse bir ana makineye 100% kaynak ayırılan bir sanal makine kurmaz. Öyleyse bir de çoklu sanal makine içeren bir senaryo yapalım; 100 tane Virtuozzo-VPS, 100 tanede Vmware-VDS kuralım. Virtuozzo-VPS ler ethernet kartını kullanırken kabaca, ana-çekirdek -> cpu -> ethernet yolunu kullanırlar, aynı şekilde diski kullanırken ana-çekirdek-> cpu -> disk yolunu kullanırlar. Böylece her istek ana-çekirdeğe gider ve cpu tek çekirdekten istek alır sıraya koyar ve ethernete/diske gönderir ve aynı yoldan yanıt geri gelir . Fakat Vmware-VDS te ise her makinenin kendi çekirdeği bulunur ve istek vds-çekirdeği -> cpu -> ethernet/disk yolundan gider. 100 tane çekirdeğin cpu ya istek iletmesinde herhangi bir sorun yoktur, cpununda ethernete/diske iletmesinde gene bir sorun oluşmaz. Ancak ethernet/disk bu isteklere yanıt verirken işler karışır istekler düşer yanıtlanmaz, ethernet sürekli hata vermeye başlar (i/o error bir yerden tanıdık gelir belki vdsçilere) belkide erir/yanar. Aynı şekilde diskte bu kadar çok isteğe ayrı ayrı yanıt veremez ve aynı şeyler yaşanır.
Sonuçta, eğer her Vmware-VDS için ayrı bir ethernet ve ayrı bir disk ayırmıyorsanız zaten donanımla sanallaştırmanın ana fikrine karşı duruyorsunuz demektir. Üstelik her şartta ana makine için ayrılan kaynağı kullanamayarak çöpe atıyorsunuz demektir. Bunun yerine, vmware için bir tane sağlam ana-makine alacağınıza onun parasını ikiye bölüp iki tane virtuozzo veya muadili çalıştıran ana-makine almanız ve bu şekilde çalıştırmanız hem müşterileriniz hem sizin açınızdan çok daha yararlı olacaktır.
Artık insanlar, paketlerine gururla virtozzo-vps yazabilirler zannediyorum