vSAN kümesine dahil olan her ESXi sunucusu, silinen nesnelerin sistemde kalmaması için EPD (Entry Persistence Daemon) adlı servisi kullanır. Bu servis, atıkları düzenli olarak temizleyerek sistemin sağlıklı çalışmasını destekler. Ancak bazı durumlarda, EPD servisi kendiliğinden başlatılamaz ve bu durum çeşitli sorunlara yol açabilir. İşte bu noktada devreye bu rehber giriyor: ESXi üzerinde “EPD Servisi Başlamıyor” sorunuyla karşılaştığınızda hangi adımları izlemeniz gerektiğini açık ve anlaşılır şekilde aktarıyoruz.
Sorunun Belirtileri
- EPD servisi şu anda aktif şekilde çalışmıyor.
- Manuel olarak başlatmayı denediğinizde, aşağıdaki hatalarla karşılaşabilirsiniz:
/etc/init.d/epd start
epd is not running
/etc/init.d/epd status
epd is not running
epd.log
dosyasında, aşağıda örneği verilen SQL veritabanı hatalarına rastlanabilir:
EntryDB_EnableCksumExtension: Failed to run VACUUM : database disk image is malformed
EntryDB_Open: Failed to enable libcksumvfs db '/scratch/epd-storeV2.db'
EPDStoreOpen: Failed to open db (/scratch/epd-storeV2.db): Failure
Sorunun Kaynağı
EPD servisi, işlemlerini yürütmek için /scratch
bölümünde bulunan epd-storeV2.db adlı veritabanı dosyasını kullanır. Ancak, bu bölüm herhangi bir nedenle erişilemez hale gelirse, servis çalışmayı durdurur ve başlatılamaz. Genellikle bu sorunun temelinde üç neden yatar:
- /scratch dizini hiç oluşturulmamış olabilir
- Mevcut dizin bozulmuş olabilir ya da alan tamamen dolmuş olabilir.
Adım Adım Çözüm
- Servisi durduralım:
/etc/init.d/epd stop
- Servisin durduğunu kontrol edelim:
/etc/init.d/epd status
- Veritabanı dosyasını yedekleyelim:
cp /scratch/epd-storeV2.db /scratch/epd-storeV2-copy.db
- Eski veritabanını silelim:
rm -f /scratch/epd-storeV2.db
- Servisi yeniden başlatalım:
/etc/init.d/epd start
/etc/init.d/epd status
Servis “running” durumuna geçtiyse, sorun büyük ölçüde çözülmüş demektir. Ancak servis çalışmazsa veya running durumuna geçmezse, Broadcom destek ekibiyle iletişime geçmenizi tavsiye ederiz.
Alternatif Senaryolar
- Eğer
/scratch
bölümü temel olarak yoksa ya da bozulmuşsa, öncelikle kalıcı bir scratch dizini oluşturmanız gerekir. Çünkü bu adım, ESXi konfigürasyonunda sık karşılaşılan ve servislerin sağlıklı çalışması için önemli bir gerekliliktir.
Sorun | Çözüm |
epd servisi başlamıyor | /scratch bölümünü kontrol & erişilebilirliği sağla |
Veritabanı bozuk | Eski dosyayı sil + servis restart |
/scratch yok veya hatalı | Kalıcı scratch bölümü oluştur |
Kalıcı /scratch
Dizini Nasıl Oluşturulur?
- ESXi host üzerinde uygun bir datastore seçelim.
- İlk olarak, vSphere Client’a bağlanalım.
- Sonrasında, ilgili ESXi host’u seçelim.
- Ardından, Configure > System > Advanced System Settings bölümüne gidelim.
- Sonraki adım olarak, ScratchLocation ayarını yapalım.
- Öncelikle, ScratchConfig.ConfiguredScratchLocation anahtarını bulalım.
- Ardından, Edit seçeneğine tıklayarak değerini aşağıdaki formatta bir yol olarak belirtelim.
/vmfs/volumes//scratch
- Örnek:
/vmfs/volumes/datastore1/scratch
Not olarak belirtmek gerekir ki, bu klasör datastore üzerinde daha önce oluşturulmamışsa, SSH üzerindenmkdir
komutuyla manuel olarak oluşturabilirsiniz.
- Son olarak, ESXi Host’u yeniden başlatalım.
- Ayarın devreye girmesi için öncelikle ESXi host’u yeniden başlatmanız gerekir.
- Yeniden başlatmanın ardından,
/scratch
dizini artık seçtiğiniz datastore üzerindeki belirtilen yoldan çalışacaktır.
SSH Üzerinden Alternatif Yöntem
- 1. ESXi Shell veya SSH oturumu açalım.
- 2. Mevcut scratch dizinini kontrol edelim:
echo $TMPDIR
- 3. Scratch klasörünü datastore üzerinde oluşturalım:
mkdir /vmfs/volumes/datastore1/scratch
- 4. Ayarı kalıcı olarak tanımlayalım:
esxcli system settings advanced set -o /ScratchConfig/ConfiguredScratchLocation -s "/vmfs/volumes/datastore1/scratch"
Uyarılar!
- SD karttan boot eden sunucularda, scratch dizini genellikle RAM üzerinde geçici olarak çalışır; bu durum ise reboot sonrası logların silinmesine yol açar. Bu nedenle, scratch dizininin kalıcı bir datastore üzerinde tanımlanması gerekir. USB veya SD kart kullanımı ise önerilmez.
Sonuç
Kalıcı bir /scratch
dizini tanımlamak, ESXi sistemlerinizin kararlı ve kolayca izlenebilir şekilde çalışması açısından kritik bir adımdır. Ayrıca, vSAN ve EPD gibi servislerin sorunsuz çalışmasını sağlamak için bu ayarı mutlaka yapılandırmanız gerekir.
Umarım bu rehber, ESXi Üzerinde “EPD Servisi Başlamıyor” Problemini Çözme konusunda sizlere yol gösterici olmuştur. Bir sonraki makalede tekrar buluşmak ve faydalı olması dileğiyle!
Kaynaklar
- Broadcom Knowledge Base: EPD Service not starting on ESXi
- VMware Documentation: Configuring a Persistent Scratch Location for ESXi
- VMware Community Discussions: vSAN EPD Service Abnormal Status