VMware Best Practices for SAP
Merhaba,
Yaklaşık 2 sene önce SAP SAPPHIRE Madrid 2012’de VMware; vSphere üzerinde çalışan ve etkileyici performans verileri sergileyen SAP HANA tanıtımını yaptı. Tabi bu işlem sırasında SAP HANA için non-production bir senaryo çalıştırmak için SAP’den destek aldı.
SAP ile yapılan uzun ve başarılı test’ler sonucunda, vSphere 5.5 ile birlikte SAP HANA support edilmektedir. Ben bu yazımda SAP için oluşturulmuş Best Practices’lerden bahsedeceğim. Burada bahsettiğim best practices’ler SAP dökümanlarından derlenmiştir. Ancak şunu belirtmek istiyorum yinede. SAP’nin ve VMware‘in belirttiği best practices’lerin hepsi aslında bir yapıda olması gereken özelliklerdir. Yani VMware üzerinde çalışan SAP ‘e özel bir vCPU, RAM miktarı net olarak belirtilmiyor -ki belirtilmemeside lazım zaten çünkü değişken değerler çok fazla.. Çünkü bu durum iş yüküne bağlı olarak değişir. Ama mesela VMware üzerinde çalışan bir Exchange Server 2010’un best practices’leri böyle değildir. Belirli kullanıcı sayısına kadar belirli CPU ve RAM miktarları önerilmiştir.
Best practices’lere başlamadan önce ufak bir uyarıda bulunmak istiyorum. Genellikle VMware üzerinde çalışan SAP sistemlerin ilk oluşturulma aşamasında CPU problemi çıkıyor. Yani SAP mühendisleri 16vCPU veya 32 vCPU isteyebiliyor. Ancak burada fiziksel ve sanal kavramlarını iyi anlamak gerekiyor. Sanal olmayan bir sunucu içerisine işletim sistemi kurulduğunda bütün kaynaklar o işletim sistemine dedicated durumda olur. Ancak VMware platform’unda bu işlem bu şekilde işlemiyor. VMware üzerinde arka planda çalışan CPU Scheduler servisi CPU yönetimini yapıyor. Sizin vereceğiniz her fazla CPU, CPU Scheduler servisi’nin o virtual machine üzerinde geç işlem yapmasına sebep olacaktır. 16vCPU verdiğiniz bir SAP virtual machine’i, 4 vCPU ile daha hızlı çalışabilir. Daha detaylı bilgiyi aşağıdaki link’den bulabilirsiniz.
https://www.tayfundeger.com/cpu-ready-time-hakkinda.html
Bu aslında çok derin bir konu ama burada işin özeti gereğinden fazla kaynak vermeniz yarardan çok zarara sebep olacaktır.
SAP CPU:
- Virtual machine’e çoklu CPU ayrıldıysa, eğer SAP üzerinde gerçekten iş yükü artıyorsa atanan tüm CPU’ları verimli bir şekilde kullanır.
- Eğer tam iş yükü bilinmiyor ise; başlangıçta az miktarda verilmiş vCPU miktarı arttırılabilir.
- Kritik SAP sunucularında performans almak için, tüm sanal makinalara atanan vCPU toplam sayısı, ESX Server’in çekirdek sayısına eşit veya daha az olduğundan emin olun.
- Küçük boyutlu virtual machine’lerde gerektiği kadar vCPU ekleyin. Virtual machine’lere atanan fazla vCPU miktarı zamanlama yükünü arttırabilir (ready time). Örneğin 4 vCPU olan bir virtual machine’de içerideki işlem yüküne bağlı olarak 2 vCPU ile daha iyi bir verim alırsınız.
SAP Memory:
- Memory over-commit olmamasına dikkat edilmeli. ESX Server’in karşılayamayacağı miktarda memory rezervasyonu yapılmamalı
- Virtual machine’e verilen memory kadar rezervasyon yapılmalı. Bunun sonucunda swap file 0 byte olacaktır. Ancak virtual machine içerisinde işletim sistemi kendine ayrı bir swap/page file olacaktır.
- Balloon driver disable edilmemeli.
- Production SAP için memory reservation kullanılmalıdır. Memory overcommit olmaması için.
- SAP virtual machine’lerinde Memory limit ayarlanmamalıdır. Unlimited’de durmalıdır.
- SAP virtualmachine’lerin bulunduğu host’lardaki CPU’ların virtualization desteği olmalıdır.
SAP Network:
- Büyük SAP virtual machine’lerini 2 ayrı network’e ayırın;
o Private: SAP virtual machine’leri arasında trafik olmalı.
o Public: SAP virtual machine’leri ve end user arasında trafik olmalı.
- Her ESX Server Host üzerinde minimum 4 nic olmalı. Bu 4 nic; vMotion, ESX Server console ve virtual machine traffic’den ayrı olmalı.
- 2 tip farklı configuration mode önerilmektedir. Bunlar; vLAN tagging, Virtual Switch Tagging (VST) önerilmektedir.
- NIC teaming için load balancing ve passive failover kullanın.
SAP Storage:
- Her host için minimum 2 HBA port gereklidir. Multipathing ayarlanmalı ve storage’a 4 path üzerinden gitmeli. Bu konfigürasyon SAN redundancy ve I/O performance için önerilmektedir.
- VMDK eagerzerothick formatında oluşturulmalıdır.
- Sap kurulumları için genellikle rdm ve vmfs in birlikte kullanımı pratiktir
- RDM 3 party cluster software için gereklidir ve 3party storage management çözümleri ile uyumludur.
- VMFS sayesinde virtual machine’lerin snapshot’ları VI Client üzerinde sorunsuz bir şekilde alınır.
- LUN başına ayrılan virtual machine sayıları I/O perfrormansını etkiler buna dikkat edilmelidir:
- Critical Production SAP virtual machine’leri birden fazla LUN’a yayılmış olması yararlı olacaktır.
- Non-Production SAP virtual machine’leri aynı LUN içerisinde olabilir.
Umarım faydalı olmuştur.
İyi çalışmalar.
Tayfun hocam elinize sağlık. Çok teşekkür ederiz.