search
Categories
Sponsors
VirtualMetric Hyper-V Monitoring, Hyper-V Reporting
Archive
Blogroll

Badges
MCSE
Community

Cozumpark Bilisim Portali
Posted in Hosting & IIS7, Windows Server | No Comment | 3,441 views | 24/02/2010 02:57

IIS7.5 üzerinde nasıl PHP destekli Web Farm kurabileceğimizi anlatmaya çalışacağım. Öncelikle neden Web Farm’a ihtiyaç duyduğumuzu anlatıp, sonrasında kurulum adımlarına geçeceğim.

1- Fault-Tolerance
2- Performance

Web sunucularından beklenen en önemli şartları yukardaki gibi sıralayabiliriz. Bir web sitesinin %100 uptime oranına sahip olması ve performanslı çalışması istenilir. Fakat çoğu web sunucusu, yedekli yapılarda çalışmadığı için sunucu üzerinde yaşanabilecek yazılımsal ya da donanımsal sorunlardan dolayı, uptime oranı ve performansta düşmeler gözlenebilir. En basitinden bir Windows Update bile, gece yarısı tüm sunucunun 5-15 dk arası kapalı kalmasına neden olabilir. İşte Web Farm ile performans düşüşlerini ortadan kaldırabilir, yazılımsal ve donanımsal bazlı kesintileri engelleyebiliriz.

Öncelikle kuracağımız IIS Farm için 5 adet sunucuya ihtiyaç duyacağız.

1 adet Windows Server 2008 R2: Domain Controller için kullanacağız. Kullanıcılar bu sunucu üzerinde tutulacak.
2 adet Windows Server 2008 R2: File Cluster için kullanacağız. Web dosyalarını bu sunucu üzerinde tutacağız.
2 adet Windows Server 2008 R2: IIS7.5 için kullanacağız. Web servisi bu sunucular üzerinden hizmet verecek.

File Cluster ile Domain Controller kurulumlarının IIS Farm ile ilgisi olmadığından dolayı bu kurulumların anlatımını es geçiyorum. Öncelikle Domain Controller’ın kurulumunu yapmalı ve tüm sunucuları bu DC’ye join etmelisiniz. Sonrasında 2 adet File sunucumuz üzerinde Windows Cluster servisini kullanarak dosya paylaşım klasörü yaratmanız gerekiyor. Windows Cluster servisi üzerinden File Cluster’ı ayarlamanız halinde, paylaşım klasörünü sizin için hazır hale getirecektir. Bu paylaşım klasörünü Web sunucularımız üzerinden kullanabilmek için aşağıdaki NTFS ayarlarını yapmamız gerekiyor. NTFS izinlerini ayarlarken aşağıdakilere dikkat etmeniz gerekiyor:

System” kullanıcı hesabının her klasör üzerinde “Full Control” yetkisi olmalı.
Domain Admins” grubuna her klasör üzerinde “Full Control” yetkisi verebilirsiniz.
FTP için yaratacağınız kullanıcı adlarının, sadece site klasörleri üzerinde “Modify” yetkisi olmalı.
Application Pool için ayrı kullanıcı yaratacaksanız, bu kullanıcıların “Read” yetkisi olması yeterli.
Sitenin kullanıcı hesabının “Read” yetkisi olmalıdır. Upload yapılacak klasörlere, Modify yetkisi verilebilir.
Logs\FailedReqLogs klasörü üzerinde Application Pool kullanıcısının ayrıca “Full Control” yetkisi olmalıdır.

Not: Yanlışlıkla Publish ettim yazımı. Tamamlamaya çalışıyorum :)


Posted in Hosting & IIS7, Virtual Machine Manager, Windows Server | 2 Comments | 7,692 views | 21/10/2009 16:40

Bugün uzun zamandır yapmak istediğim fakat donanım yetersizlikleri ve vakit darlığı nedeniyle bir türlü yapmayı başaramadığım sistemi yarattım. Şuan 6 adet Windows Server 2008 R2 üzerinde tamamen yedekli bir yapıda çalışan bir IIS 7.5 Web Farm’a sahibiz. Teknik detaylara çok fazla girmeyeceğim fakat yaratmış olduğumuz yapıyı biraz gözünüzde canlandırın diye notlarımı yazacağım.

Çalışma için 2 fiziksel sunucu, 4 sanal sunucu kullanıldı.

Fiziksel sunucular:
VXEON01
VXEON02

Sanal sunucular:
INODE01
INODE02
VSPACE01
VSPACE02

INODE01 ile VSPACE01 -> VXEON01 üzerinde
INODE02 ile VSPACE02 -> VXEON02 üzerinde

VXEON01 ile VXEON02 üzerinde Cluster Shared Volumes ile Failover Cluster aktif durumda. Yani fiziksel sunucuda oluşacak donanımsal bir sorunda ya da update sonrası restart’ta diğer sunucuda çalışmaya devam ediyorlar.

VSPACE01 ile VSPACE02, kendi aralarında Clustered File Server. FTP hesapları ve IIS ayarları bu sunucu üzerinde tutuluyor.

INODE01 ile INODE02 ise Shared Configuration’a sahip Web Farm. Ayrıca kendi aralarında NLB’ler. İki sunucu da çalışır durumdayken hem siteye gelen ziyaretçilerin yükü bu iki sunucuya bölüştürülüyor hem de update nedenli bir restart’ta diğer sunucudan hizmet vermeye devam ediyor. Ayrıca external bir Clustered File Server kullanarak, sync problemlerini sıfıra indirmiş oldum. Ayrıca sunucular üzerinde Offline Files Caching aktif. Storage Server’ların ikisi de anlık olarak hizmet veremezse, IIS sunucusu kendi cache’inden hizmet veriyor.

Storage olarak kullandığımız Dell EqualLogic ile Clustered File Server arasında MPIO aktif. Ethernet kartlarından bir tanesi bile uçsa, diğeri üzerinden iletişim devam ediyor. Yine Offline Files özelliği sayesinde EqualLogic bağlantısı tümden gitmiş olsa bir cache’ten çalışmaya devam edebilir yapı. Offline Files Caching’i read only olarak ayarlayarak, kısa süreli erişim problemlerinden sonra yaşanılabilecek sync sorunlarını da engellemiş olduk.

Kurulan yapı kısaca bu şekilde. Kurulum ve yapılandırma yaklaşık 12 saatimi yedi fakat ortaya mükemmel bir sistem çıktı. NLB ile Cluster’ı aynı yapı içinde görebilmek harika bir duygu. Bu tür sistemler ile %100 online kalan shared hosting hesapları, artık hayal değil.