Başlangıç > VMware > 149: vCenter veritabanı büyümesi ve sonuçları

149: vCenter veritabanı büyümesi ve sonuçları

VMware ortamınızda, en hassasiyetle üzerinde durulması gereken bileşen vCenter veritabanıdır. Eğer aşağıdaki semptomlardan yaşamaya başladıklarınız varsa,  veritabanında bazı kontrolleri yapmaya başlamanızın vakti gelmiş demektir. Bu semptomlar;

  • vSphere Client’ların yavaşlaması,
  • vCenter servisinin zaman zaman sebepsiz kendini kapatması,
  • Update Manager eklentisinin “EventHistoryCollector.SetLatestPageSize” ile başlayan hatalar vermesi,
  • Update Notifications” task’lerinin tamamlanamaması,
  • SRM kullanıyorsanız, “Auto-Modify Virtual Machine Device Protection” tasklerinin oluşmaması,
  • vCenter ile entegre çalışan 3rd party uygulamaların timeout hataları almaya başlamaları,
  • vCenter vpxd loglarında “SQL Execution took too long” uyarılarının sıklıkla görülmesi

olabileceği gibi fazlası da olabilir. Kontrollere başlamak adına VMware tarafından yazılmış ilgili makaleyi inceleyebilirsiniz. Benim bahsedeceğim durum ise, sıkça yaşanabileceğini düşündüğüm bir durum, veritabanı içerisinde bazı tabloların kontrolsüz büyümeleri. Bu tablolar;

  • VPX_TASK: Tüm task bilgilerini barındırır.
  • VPX_EVENT: Tüm event bilgilerini barındırır.
  • VPX_EVENT_ARG: Event’lerle ilgili ekstra bilgileri barındırır.

Eğer vCenter uzun süredir hizmet veriyor, obje sayısı fazla ve 3rd party entegrasyonlar yoğun olarak kullanılıyorsa, özellikle VPX_EVENT ve VPX_EVENT_ARG tablolarının satır sayısı on hatta yüz milyonlara ulaşabilir ve bu kesinlikle istenmeyen bir durumdur.

Peki bu durumda VMware’ın ürettiği çözüm nedir? Cevap; Database Retention Policy. Kurulumda bu tanım etkin değildir, vCenter ile ilgili tanımlamaları yapabileceğimiz ekrandan etkinleştirilmesi gerekir.

Bu tanımdan sonra arka planda ne olduğundan da bahsedelim. Bu tanımlar aslında sadece VPX_PARAMETER tablosu içerisinde yer alan dört adet değeri adresler. Bunlar;

  • event.maxAge
  • event.maxAgeEnabled
  • task.maxAge
  • task.maxAgeEnabled

Diğer taraftan vCenter kurulumu ile birlikte SQL sunucusu üzerinde tanımlanan job’lar ve stored procedure (sp)’ler vardır. İşte parametre tablosundan okuduğu değerler ile birlikte tüm işi bu sp yapar. Belirlediğiniz gün sayısı kadar bilgiye dokunmadan, ondan öncekileri siler, böylelikle veritabanının kontrolsüz büyümesinin önüne geçilir.

  • JOB: Event Task Cleanup DBName (job_cleanup_events_DBName.sql)
  • SP: cleanup_events_tasks_proc (cleanup_events_DBName.sql)

Bir önemli uyarı; eğer SQL veritabanını taşıdıysanız, bu job ve sp’lerin de taşındıklarından emin olun. Aksi taktirde, database retention tanımını yapacak, arkada eski kayıtların silindiğini düşüneceksiniz ama aslında veritabanı her geçen gün büyüyor olacaktır. Linkte yer alan makale, vCenter 5 veritabanı üzerinde tanımlı olması gereken bileşenleri listelemektedir.

Eğer yukarıdaki gibi bir durumda kalırsanız, job’ları ve sp’leri yeniden yarattıktan sonra bile artık bu prosedür işinize yaramayabilir. Çünkü tablo içerisinde o kadar fazla kayıt olacaktır ki, sp’nin tüm bu satırları listelemesi, tarihe göre sıralaması ve silmeyi gerçekleştirmesi çok uzun zaman alacak ve muhtemelen yetiştiremeyecktir. Bu durumda kalan son çare, servisler offline durumda iken, tabloların tüm içeriğini silmek.

  • vCenter servisi durdurulur.
  • Veritabanının güvenli bir yedeği alınır.
  • Aşağıdaki sql scripti ile tablolar silinir.
  • vCenter servisi yeniden başlatılır.

use vcdb --Veritabanı ismi
truncate table VPX_EVENT_ARG
delete from VPX_EVENT

Not: VPX_EVENT tablosu diğer tablolardan foreign_key içerdiği için truncate edemiyoruz.

Bu noktadan sonra başta bahsettiğimiz bir çok sıkıntının giderilmiş olduğunu göreceğiz.

Kategoriler:VMware Etiketler:,
  1. Henüz yorum yapılmamış.
  1. 12.07.2012, 23:13

Bir Cevap Yazın

Aşağıya bilgilerinizi girin veya oturum açmak için bir simgeye tıklayın:

WordPress.com Logosu

WordPress.com hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Google+ fotoğrafı

Google+ hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Twitter resmi

Twitter hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Facebook fotoğrafı

Facebook hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

w

Connecting to %s

%d blogcu bunu beğendi: