Forum

Bildirimler
Hepsini Temizle

Hyper-V Sql Server ilişkisi

7 Yazılar
5 Üyeler
0 Likes
704 Görüntüleme
(@emredemir)
Gönderiler: 121
Estimable Member
Konu başlatıcı
 

Merhabalar,

Hyper-V uzerindeki guest makinalarımın kullanımı için sql server 2005 kurmak istiyorum . Bunu performanslı bir şekilde ne şekilde yapabilirim acaba? Hyper-V üzerinde sql server 2005 çalıştırmada bir problem yoktur sanırım ? 

Teşekkürler.

 
Gönderildi : 14/08/2009 13:00

(@cozumpark)
Gönderiler: 16309
Illustrious Member Yönetici
 

yoktur

 
Gönderildi : 14/08/2009 13:03

(@selahattinsadoglu)
Gönderiler: 826
Prominent Member
 

Merhaba,

 

Artık şirketlerin gereksinimleri doğrultusunda database programlarını ikinci nesil hypervisor-tabanlı sanallaştırma yazılımlarında hyper-v  ve vmware esx gibi   yazılımlar içinde rahatlıkla kullanabilirsiniz.Eğer Hyper-V ait avantajları almak istersen ,düşünmen gerekenler en iyi şekilde I/O nasıl optimize ederim , sanal işlemci atamaları , VM 'lerin kullanacağı bellek miktarları ,bu arada Hyper-V 'nin Sentetik Ağ aygıtlarını kullandığından emin olman , buna bağlı olarak geçerli ağ kartı kapasitesini hesaplaman gerecektir.

Tabiiki  burada dikkat etmen gereken husus I/O  ayarlamalarıdır.Bunun için hyper-v altında kullanacağın VHD tipini iyi belirlemen gerekecektir.Bunlar;

Dynamic VHD ,  Bu boş alanın gerekli olduğu ,otomatik olarak alanın genişletildiği bir sanal disktir.

Fixed VHD , SAbit bir boyutta yapılandırılır.

Pass-through VHD  ,  Sanal sunucuda depolamada kullanılır.

Eğer  development sunucu ayarlanacaksa  o zaman senin alana ihtiyacın olacağı için dynamic vhd senin için en iyisi olacaktır.Diğer SQL Server sistemin kendisi içinde  Fixed  ve ya  Pass-through en iyisi olacaktır.

Şimdi öncelikle Hyper-v altında yeni bir sanal sunucu oluşturunuz.Fakat kesinlikle hemen virtual harddisk tipini belirlemeyin. Harddisk tipini belirlemek için sanal sunucu oluşturduktan sonra  sanal sunucuya sağ tıklayarak  Virtual disk  modify işlemine girin.Oradan kullanılacak diks tipini "Physical Hard Disk" olarak seçiniz.Buradaki  fiziksel disk yerel sürücü ve ya SAN üzerindeki disk olabilir.Direkt oradan IDE Controller olarak ID 0 olarak gözükecektir.Oradan gerekli işlemi yaparsınız.

Diskide gösterdikten sonra işlem tamamdır.( Bu arada gösterdiğin disk  offline durumda olmalıdır.)

Gelelim en önemli olan adıma sanal işlemci ataması işlemine,Bu arada ise bildiğiniz gibi Hyper-V sistemi VM başına sanal olarak 4 adet işlemciye kadar destekler.Yani eğer fiziksel olarak quad-core işlemciye sahipseniz o zaman VM için en fazla 4 adet işlemci atayabilirsiniz.

Şimdi öncelikle SQL Server için ihtiyaç duyacağı CPU gücünü hesaplayalım.

Bunun için ;

 CPU Cores x CPU Speed x CPU Utilization = Total CPU

CPU Çekirdekleri   x  CPU Hızı  x  CPU Kullanımı  = Toplam CPU ihtiyacı 

Şimdi gelelim. Hyper-V için bellek ayırlam işlemine.Bunun için bildiğiniz gibi Hyper-V VM başına an fazla 64 GB ram ayırır.

Tabiiki - 4 GB RAM üstünü kullanmanız için VM guest sunucular 64 Bit olmalıdır.Şimdi gelelim SQL Server kullanacağı RAM miktarına bunun için kullanacağınız formül ise ;

Sum(VM RAM + 32MB) + 512MB + 300MB   bu olacaktır.

Şimdi formülü açıklayaralım. Burada  512 MB Hyper-V sunucu tarafından rezerv edilen miktar, 300 MB hypervisor kullanacağı miktar , 32 MB her bir VM başına düşen yük miktarıdır.

Tabiiki son olarak sentetik aygıtlar kullanmak için Windows Server 2008 kullanmalısın.Ama Windows Server 2003 sentetik aygıt kullanma için  Hyper-v sunucu açıkken o ekranda action menüsünden Integrated Services  yüklemelisin.

Sentetik kullandığından emin olman için  aygıt yöneticiden Microsoft VMBus Network Adapter  olduğuna bakmalısın.

 

Saygılarımla,

 

 
Gönderildi : 14/08/2009 13:41

(@emredemir)
Gönderiler: 121
Estimable Member
Konu başlatıcı
 

Burada Sizin söylediklerinizden şunumu anlıyorum. Database için ayrı bir guest makina oluştur . Ve ram ayarını yukarıdaki hesaba göre ver ? Teşekkürler.

 
Gönderildi : 14/08/2009 14:14

(@selahattinsadoglu)
Gönderiler: 826
Prominent Member
 

Evet. Aynen dediğiniz gibi.

 

 
Gönderildi : 14/08/2009 14:18

(@serhatakinci)
Gönderiler: 4117
Famed Member
 

Merhaba,

Hyper-V ile consolide edilmiş ortamlarda çalışan SQL Server için şu noktalara dikkat etmenizi öneririm.

- SQL'in çalıştığı Guest OS Windows Server 2008 x64 olmalı ve VM'e 4 VPs'e kadar atayabilirsiniz. Win2008 sanallaştırma ile en uyumlu guest os'lerden biri. Guest OS'in 64bit olması ram konusunda limitlerinizi de kaldıracak, artı olarak performans sağlayacaktır.

- Mümkünse SQL 2008 kullanın.

- Parent Partition için 2GB ram ayırın.

- Guest OS için ram ve diğer kaynak miktarını ihtiyaçlar belirler.

- Guest OS üzerine mutlaka integration components yükleyin.

- SQL DB'lerinin ilgili dosyalarını mümkünse ayrı fiziksel diskler üzerinde tutun (LDF bir diskte, MDF başka bir diskte). Bu i/o performansını arttırır.

- SQL çalıştıran Guest OS'in disk yapılandırmasının şu şekilde olmasını öneririm.

boot partition: vIDE Controller -> pass-through disk-1

ldf için: vSCSI Controller -> pass-through disk-2

mdf için: vSCSI Controller -> pass-through disk-3

- Pass-through size performans sağlar ama bazı yeteneklerden de tam anlamıyla faydalanamzsınız. kolay yedekleme, failover, quick migration, r2 ile live migration gibi.

- Pass-through kullanırsanız yedekleme için Guest OS içeirisindeki tool ve yetenekleri kullanarak external disk yada ilgili birimlere backup almanızı öneririm.

- VM için snapshot özelliğini kullanmayın (eğer pass-through disk kullaırsanız zaten snapshot çalışmaz)

- Pass-through kullanmak istemiyorsanız Fixed Size tercih edebilirsiniz. Fixed Size kullanırsanız bu dosyaları (ve diğer VM dosyalarını) antivirüs için exceptions olarak tanımlayın.

- Dedicated NIC'ler kullanın ve sentetik olsunlar.

Sanal ortamda çalışan SQL Serve riçin MS tarafında destek durumunu inceleyin: http://support.microsoft.com/?id=956893

SQL Server 2008 kullanmaya karar veriseniz, buradaki best practice dokümanını da mutlaka inceleyin. Bu dokuman SQL 2005 için de size fikir verecektir.

 

 

 
Gönderildi : 14/08/2009 14:44

(@EmrahCelebi)
Gönderiler: 28
Eminent Member
 

yanıtlar için çok teşekkürler.

 
Gönderildi : 08/12/2009 18:26

Paylaş: