VMware ESXi altyapısında datastore yönetimi, sanal makinelerin sürekliliğini doğrudan etkileyen kritik işlemlerden biridir. Çünkü tüm sanal makinelerin diskleri (VMDK) konfigürasyon dosyaları ve hatta bazı sistem bileşenleri datastore üzerinde barınır. Bu nedenle datastore’lar üzerinde yapılan her işlem son derece dikkatli yürütülmelidir.
Bir datastore’u ortamdan çıkarmak istediğinizde öncelikle güvenli bir şekilde unmount etmeniz gerekir. Eğer bu işlem atlanır ve datastore doğrudan storage tarafından sunucudan koparılırsa ESXi host üzerinde çeşitli problemlerle karşılaşmanız kaçınılmaz olur.
Bu makalemde unmount edilmeden çıkarılan ve inactive duruma düşen datastore’un tekrar nasıl sağlıklı şekilde ESXi host’a eklenebileceğini adım adım ele alacağız.
Problemin Ortaya Çıkışı
Datastore’un bağlantısı güvenli unmount işlemi yapılmadan kesilirse:
- ESXi, datastore’u inactive (etkisiz) duruma getirir.
- Aynı datastore tekrar storage üzerinden host’a map edilse bile çoğu durumda otomatik olarak aktif hale gelmez.
- Bu durumun en temel sebebi datastore çıkarıldığı sırada üzerinde çalışan sanal makinelerin olmasıdır.
Önemli Uyarı: VMware ortamınızda datastore üzerinde çalışan sanal makineler varsa, datastore kesinlikle host’tan ayrılmamalıdır. Aksi takdirde VM’ler askıda kalır ve datastore sağlıklı şekilde mount edilemez.
Çözüm Yöntemi: İnactive Datastore’u Tekrar Aktif Etme
Datastore’un tekrar kullanılabilir hale gelmesi için yapılması gereken işlemleri sırasıyla inceleyelim.
Adım 1: Askıda Kalan Sanal Makineleri Tespit Etme
Öncelikle datastore’un disk ID’sini (naa. ile başlayan benzersiz kimlik) bulmanız gerekir. Örneğin:
naa.1c9e0a7bd2458f60e3ab9c51d0f27486
Bu ID kullanılarak, ilgili datastore üzerinde hâlâ işlem yapmaya çalışan sanal makineleri listelemek için şu komutu çalıştırın:
esxcli storage core device world list -d naa.1c9e0a7bd2458f60e3ab9c51d0f27486
Komut çıktısı şu şekilde görünebilir:
Device World ID Open Count World Name
naa.1c9e0a7bd2458f60e3ab9c51d0f27486 12532 1 PrintSunucu
naa.1c9e0a7bd2458f60e3ab9c51d0f27486 18555 1 Pdks01
naa.1c9e0a7bd2458f60e3ab9c51d0f27486 19832 1 YonetimSunucu01
Burada dikkat edilmesi gereken alan World ID değerleridir. Her bir World ID datastore’a erişmeye devam eden bir sanal makineyi temsil eder.
Adım 2: Askıda Kalan Sanal Makineleri Sonlandırma
Bu sanal makineler datastore’un tekrar aktif olmasını engellediği için her birini aşağıdaki komut ile zorla sonlandırmanız gerekir:
esxcli vm process kill --type=force --world-id=12532
esxcli vm process kill --type=force --world-id=18555
esxcli vm process kill --type=force --world-id=19832
--type=force
parametresi, işlemi beklemeksizin sonlandırır.- Her bir VM için ilgili World ID girilmelidir.
Bu adım tamamlandıktan sonra artık datastore üzerinde “askıda kalan” VM işlemi kalmaz.
Adım 3: ESXi Yönetim Servislerini Yeniden Başlatma
Sanal makineleri sonlandırdıktan sonra ESXi host’un yönetim servislerini yeniden başlatmanız gerekir.
Bunun için:
/etc/init.d/hostd restart
/etc/init.d/vpxa restart
- hostd → ESXi host üzerindeki yönetim servisidir. Host’un genel yönetimini sağlar.
- vpxa → vCenter ile ESXi host arasındaki bağlantıyı yönetir.
Bu iki servis yeniden başlatıldığında datastore ile ilgili bağlantılar sıfırlanır ve host, storage ile yeniden senkronize olur.
Adım 4: Datastore’u Tekrar Map Etme
Son olarak storage yönetim arayüzünden datastore’u tekrar aynı ESXi host’a map edin. Bu işlem tamamlandığında datastore, artık aktif (mounted) durumda görünecektir.
Böylece datastore ve üzerinde bulunan sanal makineler tekrar kullanılabilir hale gelir.
Bu tür sorunlarla karşılaşmamak için aşağıdaki önlemleri almanız önerilir:
- Datastore üzerinde çalışan sanal makineler varsa kesinlikle unmount veya storage detach işlemi yapmayın.
- Bir datastore’u çıkarmadan önce:
- Storage vMotion ile sanal makinelerin disklerini farklı bir datastore’a taşıyın.
- Host’u Maintenance Mode’a alarak güvenli işlem yapın.
- Kritik operasyonlar öncesinde mutlaka snapshot veya yedekleme alın.