ESXi Üzerinde “EPD Servisi Başlamıyor” Problemini Çözme Rehberi

EPD service does not start

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

  1. Servisi durduralım:
    /etc/init.d/epd stop
  2. Servisin durduğunu kontrol edelim:
    /etc/init.d/epd status
  3. Veritabanı dosyasını yedekleyelim:
    cp /scratch/epd-storeV2.db /scratch/epd-storeV2-copy.db
  4. Eski veritabanını silelim:
    rm -f /scratch/epd-storeV2.db
  5. 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?

  1. 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.
  2. 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 üzerinden mkdir komutuyla manuel olarak oluşturabilirsiniz.
  3. 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