
VMware vSphere ortamlarında sanal makinelerin disk performansı, kararlılığı ve işletim sistemi uyumluluğu büyük ölçüde kullanılan storage controller (depolama denetleyicisi) türüne bağlıdır. Yanlış seçilmiş bir denetleyici, düşük performansa, sürücü uyumsuzluklarına veya hatta sanal makinenin açılmamasına neden olabilirken; doğru yapılandırma, özellikle disk I/O yoğun iş yüklerinde ciddi performans kazanımları sağlayabilir.
Bu yazıda, mevcut bir sanal makinede storage controller türünün güvenli şekilde nasıl değiştirileceğini adım adım ele alacağız.
Edit Settings (Ayarları Düzenle) penceresinde, sanal makinenin SCSI Controller 0 kullandığını ve bu denetleyicinin türünün LSI Logic Parallel olarak ayarlandığını görebilirsin. Bunun altında ise sanal makineye bağlı CD/DVD sürücüsü için kullanılan SATA Controller 0 yer alır.
SCSI denetleyicisine tıklayarak menüyü genişletiyoruz. Ardından Change Type (Tür Değiştir) satırındaki açılır menüyü kullanarak mevcut depolama denetleyicisinin türünü değiştirebilirsiniz. istenilen seçimi yaptıktan sonra OK butonuna basarak ayarları kaydediyoruz.
Bu işlem sırasında, seçilen denetleyici türünün hem sanal makine hem de misafir işletim sistemi (Guest OS) tarafından desteklendiğinden emin olunmalıdır. Bu konu özellikle önyükleme diski (boot disk) bu denetleyiciye bağlıysa kritik öneme sahiptir; desteklenmeyen bir denetleyici, sanal makinenin açılmamasına neden olabilir.

Yeni Bir Depolama Denetleyicisi Ekleme
Bir sanal makineye yeni bir depolama denetleyicisi eklemek için Edit Settings (Ayarları Düzenle) penceresini aç. Ardından Add New Device (Yeni Aygıt Ekle) seçeneğine tıkla ve açılan listede Controllers (Denetleyiciler) bölümünden gerekli denetleyici türü seçilir.
Bu örnekte eklenebilecek seçenekler arasında NVMe Controller, SATA Controller ve SCSI Controller yer almaktadır. Senaryo gereği sanal makineye bir SATA denetleyicisi ekleyeceğiz.
Not: Eğer bir sanal makineye fiziksel bir USB aygıtını (örneğin USB harici disk veya USB bellek) doğrudan bağlamak istiyorsan, USB Controller eklenmelidir. Bu işlem USB pass-through yöntemiyle yapılır ve kullanılacak USB aygıtının ESXi host üzerindeki fiziksel bir USB portuna takılı olması gerekir.
SATA denetleyicisi eklendikten sonra, başlangıçta New SATA Controller adıyla görünür. Ayarları OK butonuna basarak kaydettiğinde, denetleyici adı otomatik olarak SATA Controller 1 şeklinde güncellenir.

Sanal Diski Depolama Denetleyicisine Bağlama
Yeni bir sanal sabit disk ekleyerek bu diski SATA depolama denetleyicisine bağlayalım. Bunun için Edit Settings (Ayarları Düzenle) penceresinde Add New Device (Yeni Aygıt Ekle) > Hard Disk (Sabit Disk) seçeneğine tıklıyoruz.

Yeni eklenen sanal disk artık sanal makine yapılandırmasında görünür; ancak diskin kullanılabilmesi için bazı ayarların yapılması gerekir. Bu aşamada disk boyutu, Thin veya Thick provisioning seçimi ve diskin hangi datastore üzerinde tutulacağı belirlenmelidir. Ayrıca Virtual Device Node bölümünden, diskin bağlanacağı uygun depolama denetleyicisi seçilmelidir.
İhtiyaca bağlı olarak disk için paylaşım seçenekleri, disk modu ve IOPS sınırları da yapılandırılabilir. Tüm ayarlar tamamlandıktan sonra OK butonuna tıklandığında, başlangıçta New Hard Disk olarak görünen disk adı otomatik olarak Hard Disk 2 şeklinde kaydedilir.
Mevcut bir sanal diski farklı bir depolama denetleyicisine bağlamak istiyorsan, aynı yöntem izlenir: VM ayarlarını açıp disk ayarlarını genişletiyoruz ve Virtual Device Node seçeneklerinden gerekli değişikliği yapıyoruz.

Yeni eklenen sanal sabit diski, CD/DVD sürücüsünün bağlı olduğu SATA Controller 0 üzerine bağlarsam; SATA (0:1), SATA (0:2) veya (0:x) şeklindeki diğer boş düğümler seçilebilir. Ancak SATA (0:0) seçeneği kullanılamaz; çünkü bu bağlantı noktası sanal DVD-ROM aygıtı tarafından zaten kullanılmaktadır.
Eğer yeni sanal disk, sonradan eklenen SATA Controller 1 üzerine bağlanırsa, bu durumda SATA (1:0), SATA (1:1) ya da bu denetleyici üzerindeki diğer müsait bağlantı noktalarını seçebiliriz.

VMX Yapılandırma Dosyasını Düzenleyerek Depolama Türü Değiştirme
Bir sanal makinede kullanılan SCSI denetleyicisi ve diğer depolama denetleyicisi türleri, doğrudan VMX yapılandırma dosyası düzenlenerek te değiştirilebilir. Bu yöntem, VMware vSphere Client arayüzü üzerinden yapılan ayarların komut satırı tabanlı bir alternatifi olarak düşünülebilir. Genel kullanımda VMware vSphere Client tercih edilmeli, VMX dosyası ise yalnızca istisnai durumlarda manuel olarak düzenlenmelidir.
Öncelikle, herhangi bir ek depolama denetleyicisi veya ek sanal disk eklenmeden önce Ubuntu sanal makinemize ait ilk VMX yapılandırmasını inceleyelim. Aşağıda yalnızca depolama yapılandırmasıyla ilgili satırlar gösterilmektedir.
config.version = "9"
virtualHW.version = "19"
vmci0.present = "TRUE"
scsi0.virtualDev = "lsilogic"
scsi0.present = "TRUE"
sata0.present = "TRUE"
scsi0:0.deviceType = "scsi-hardDisk"
scsi0:0.fileName = "test-Ubuntu.vmdk"
sched.scsi0:0.shares = "normal"
sched.scsi0:0.throughputCap = "off"
scsi0:0.present = "TRUE"
sata0:0.deviceType = "cdrom-raw"
sata0:0.clientDevice = "TRUE"
sata0:0.fileName = "emptyBackingString"
sata0:0.present = "TRUE"
displayName = "blog-Ubuntu1"
guestOS = "ubuntu-64"
Önemli Yapılandırma Satırları
scsi0.virtualDev = "lsilogic"
→ Sanal diskin bağlı olduğu LSI Logic Parallel SCSI denetleyicisini belirtir.scsi0:0.deviceType = "scsi-hardDisk"
→ SCSI (0:0) düğümüne bağlı aygıtın sanal disk olduğunu tanımlar.scsi0:0.fileName = "blog-Ubuntu1.vmdk"
→ SCSI (0:0) düğümüne bağlı olan sanal disk dosyasının adını gösterir.
Yeni Denetleyici ve Disk Eklendikten Sonra VMX Değişiklikleri
İkinci bir SATA denetleyicisi ve bu denetleyiciye bağlı yeni bir sanal disk eklendiğinde, VMX dosyasına aşağıdaki satırlar eklenir:
sata1.present = "TRUE"
sata1:0.fileName = "test-Ubuntu1_1.vmdk"
sched.sata1:0.shares = "normal"
sched.sata1:0.throughputCap = "off"
sata1:0.present = "TRUE"
SCSI Denetleyici Türünü Değiştirme (VMX Üzerinden)
Eğer VM yapılandırmasında kullanılan LSI Logic Parallel SCSI denetleyicisini LSI Logic SAS olarak değiştirmek istersek, aşağıdaki satır:
scsi0.virtualDev = "lsilogic"
şu şekilde güncellenmelidir:
scsi0.virtualDev = "lsisas1068"
Depolama Denetleyicileriyle İlgili Önemli VMX Parametreleri
Aşağıda, depolama ve özellikle SCSI denetleyicileri ile ilgili sık kullanılan VMX parametreleri yer almaktadır. 0, 0:0 gibi değerler, sanal makine yapılandırmana göre değiştirilebilir.
scsi0.present = "TRUE | FALSE"
→ SCSI Controller 0’ın var olup olmadığını belirtir.scsi0:0.deviceType = ""
→ SCSI aygıt türünü tanımlar. Desteklenen değerlerden bazıları:scsi-hardDiskrawDiskPhysicalDrive0scsi-passthruscsi-nonpassThru-rdm
scsi0:0.fileName = "diskname.vmdk"
→ Sanal diskin dosya adını belirtir.
Disk aynı dizindeyse yalnızca dosya adı yeterlidir, farklı bir dizindeyse tam yol yazılmalıdır.sched.scsi0:0.throughputCap = "off"
→ Bant genişliği ve IOPS sınırlarını kapatır.
Örnek sınırlandırmalar:80IOPS10KIOPS4GBps
scsi0:0.present = "TRUE | FALSE"
→ İlgili SCSI aygıtının aktif olup olmadığını belirtir.scsi0.virtualDev = ""
→ Kullanılan SCSI denetleyicisi türünü tanımlar.
Desteklenen SCSI Denetleyici Türleri
buslogic→ BusLogic SCSIlsilogic→ LSI Logic Parallellsisas1068→ LSI Logic SASpvscsi→ VMware Paravirtual SCSI