Merhaba arkadaşlar,
SharePoint Server 2013 Kurulum makalemize kaldığımız yerden devam ediyoruz. Önce nerede kaldığımızı hatırlayalım, bir önceki makalemizde SharePoint Server 2013 sunucularımızın database server olarak kullanacağı SQL Server altyapısını hazırlamıştık.
Bu makalemizde daha önce hazırlamış olduğumuz SQL Server 2012 yapısı üzerine birinci SharePoint Server 2013 sunucumuzu kuracağız, Share Point Sitesi yapımızı oluşturup gerekli kullanıcı yetkilerini verdikten sonra, SQL Server 2012 üzerinde AlwaysOn yapısını kurup oluşturmuş olduğumuz SharePoint 2013 yapısına ait SQL Database dosyalarını bu yedekli yapıya aktaracağız son olarak SQL Server sunucularımızın herhangi biri kapandığında SharePoint 2013 sitemizin hizmet vermeye devam ettiğini görüp bu makaleyi sonlandıracağız.
SharePoint Server 2013 Kurulumu
Kurulum öncesi hazırlıklar;
SharePoint Server 2013 Kurulumu için hazırlamış olduğumuz sunucumuzu Active Directory ortamına dahil edelim ve spadmin isimli domain user’i sunucumuz üzerinde Local Administrators grubuna dahil ettikten sonra bu kullanıcı ile sunucumuzu açalım.
Not: Kurulum işlemlerine başlaman önce kontrol edeceklerimiz hazır olması gerekenler, sunucumuza sabit IP adresi verelim, Ipv6 disable edelim, UAC Kapatalım, Firewall kapatalım.
SharePoint Server 2013 öncesi sunucu üzerine kurulması gereken featureları kurmak için aşağıdaki power shell komut setini kullanabilirsiniz. Bu komut setini uygulamadan önce Windows Server 2012 R2 DVD medyasını sunucu üzerinde D:\ diski olarak takılı olmalı(farklı bir isimde ise aşağıdaki komut setinin en sorundaki D:\Sources bölümünü düzenleyiniz).
Powershell’i Run as admin ile açıp aşağıdakş komutları sırası ile uygulayınız.
Import-Module ServerManager
Add-WindowsFeature Net-Framework-Features,Web-Server,Web-WebServer,Web-Common-Http,Web-Static-Content,Web-Default-Doc,Web-Dir-Browsing,Web-Http-Errors,Web-App-Dev,Web-Asp-Net,Web-Net-Ext,Web-ISAPI-Ext,Web-ISAPI-Filter,Web-Health,Web-Http-Logging,Web-Log-Libraries,Web-Request-Monitor,Web-Http-Tracing,Web-Security,Web-Basic-Auth,Web-Windows-Auth,Web-Filtering,Web-Digest-Auth,Web-Performance,Web-Stat-Compression,Web-Dyn-Compression,Web-Mgmt-Tools,Web-Mgmt-Console,Web-Mgmt-Compat,Web-Metabase,Application-Server,AS-Web-Support,AS-TCP-Port-Sharing,AS-WAS-Support, AS-HTTP-Activation,AS-TCP-Activation,AS-Named-Pipes,AS-Net-Framework,WAS,WAS-Process-Model,WAS-NET-Environment,WAS-Config-APIs,Web-Lgcy-Scripting,Windows-Identity-Foundation,Server-Media-Foundation,Xps-Viewer -Source D:\Sources\sxs
Add-WindowsFeature NET-WCF-HTTP-Activation45,NET-WCF-TCP-Activation45,NET-WCF-Pipe-Activation45 -Source D:\Sources\sxs
Bu featuraların yanında SharePoint 2013 kurulumu öncesinde sunucumuz üzerine kurmamız gereken uygulamalar listesi aşağıdaki gibidir.
Microsoft SQL Server 2008 R2 SP1 Native Client
http://download.microsoft.com/download/9/1/3/9138773A-505D-43E2-AC08-9A77E1E0490B/1033/x64/sqlncli.msi
Microsoft Sync Framework Runtime v1.0 SP1 (x64)
http://download.microsoft.com/download/E/0/0/E0060D8F-2354-4871-9596-DC78538799CC/Synchronization.msi
Windows Server AppFabric
http://download.microsoft.com/download/A/6/7/A678AB47-496B-4907-B3D4-0A2D280A13C0/WindowsServerAppFabricSetup_x64.exe
Cumulative Update Package 1 for Microsoft AppFabric 1.1 for Windows Server (KB2671763)
http://download.microsoft.com/download/7/B/5/7B51D8D1-20FD-4BF0-87C7-4714F5A1C313/AppFabric1.1-RTM-KB2671763-x64-ENU.exe
Windows Identity Foundation (KB974405)
http://download.microsoft.com/download/D/7/2/D72FD747-69B6-40B7-875B-C2B40A6B2BDD/Windows6.1-KB974405-x64.msu
Microsoft Identity Extensions
http://download.microsoft.com/download/0/1/D/01D06854-CA0C-46F1-ADBA-EBF86010DCC6/rtm/MicrosoftIdentityExtensions-64.msi
Microsoft Information Protection and Control Client
http://download.microsoft.com/download/9/1/D/91DA8796-BE1D-46AF-8489-663AB7811517/setup_msipc_x64.msi
Microsoft WCF Data Services 5.0
http://download.microsoft.com/download/8/F/9/8F93DBBD-896B-4760-AC81-646F61363A6D/WcfDataServices.exe
APP Fabric Kurulumu:
Kurulum işlemlerinizi Windows Server 2012 R2 üzerine yaparken kurulumu aşağıdaki komut seti ile yapmanız gerekiyor. WindowsServerAppFabricSetup_x64 isimli dosyayı aşağıdaki komut seti ile yükleyelim.
.\WindowsServerAppFabricSetup_x64.exe /i CacheClient”,”CachingService”,”CacheAdmin /gac
Yukarıdaki kurulum işlemleri bittikten sonra aşağıdaki isimdeki APP Fabric güncelleme dosyasını yükleyelim.
Install AppFabric1.1-RTM-KB2671763-x64-ENU
APP Fabrik kurulumundan güncellemesini yaptıktan sonra diğer indirdiğiniz uygulamaların hepsini sunucunuz üzerine kurunuz.
Tüm ön gereksinimler sunucumuz üzerine yüklendikten sonra sunucunuzu restart edip SharePoint Server 2013 kurulumuna başlayabilirsiniz.
SharePoint 2013 Server Kurulumu
SharePoint 2013 kurulum medyasını sunucumuza takalım ve Setup.exe Run as Administrator olarak çalıştıralım.
Install SharePoint Server ile kurulum işlemlerini başlatınız.
SharePoint 2013 kurulumu için gerekli olan ön gereksinimlerin yüklenip yüklenmediği kontrol edilecektir, Next ile devam edelim.
SharePoint 2013 kurulum öncesinde sunucu üzerine kurmamzı gerekenler kontrol edilecek eksiksik ise aşağıdaki gibi Finish ekranı ile bu ekranı kapatabilirsiniz. Bu ekranda bir sorun var ise o gereksinim yüklenemeden kurulum işlemleri başlamayacaktır. Bu sebeple kurulum öncesi ön gereksinimleri doğru yapılandırdığınızdan emin olunuz.
SharePoint 2013 aşağıdaki key ile kurup 180 gün boyunca kısıtsız olarak kullanabilirsiniz.
NQTMW-K63MQ-39G6H-B2CH9-FRDWJ
Kurulum şeklini seçiniz. Biz Complete seçeneği ile devam edeceğiz.
Aynı ekranda File Location tabında kurulum dosyalarının hangi disk’e ve folder’a yükleneceğini belirtebilirsiniz. Install Now ile devam ediniz.
SharePoint Server yükleme işlemi bittikten sonra aşağıdaki ekran gelecektir. Buraya kadar sadece uyugulama kuruldu ama herhangi bir ayar yapılmadı, asıl iş bundan sonra başlıyor. SharePoint Server konfigurasyonunu yapmak için Run the SharePoint Products Configuration Wizart now seçeneğini işaretleyerek bu ekranı Close ile kapatınız.
Aşağıdaki SharePoint Products Configuration Wizart ekranı sizi karşılayacaktır. Uyarı ekranını Yes ile kapatınız.
Karşılama ekranında bu ekranda yapacağımız özeti bildirilmektedir. SharePoint konfigurasyon işlemi sırasında SQL Server bağlantı ayarları ve sisteme erişim için gerekli olan kullanıcı hesabı bilgileri girişleri yapılacaktır. Next ile devam edelim.
Gelen uyarı ekranına Yes ile devam edelim.
Connect to a server farm ekranında yapacağımız işlemi seçeceğiz, SharePoint ortamlarına kurulan her yeni yapıya Farm adı verilmektedir. Henüz bizim ortamımızda herhangi bir SharePoint Farmı olmadığı için ilk Farmı yaratmak için Create a new server farm seçeneği ile devam edelim.
Specify Configuration Database Setting ekranı bizim kurmaya çalıştığımız yedekli yapı makalesinde çok önemli bir ekran. Bu ekrana ortamımızdaki SQL Database server sunucumuzun (sunucularımızın) erişim bilgisini gireceğiz.
Bizim kuracağımız yedekli yapıda bu aşamada gireceğimiz erişim bilgileri gerçekten çok önemli. Biz ortamımızdaki 2 adet SQL Server’dan herhangi birisi arızalandığında, herhangi bir manuel müdahaleye gerek kalmadan SharePoint 2013 sitelerimize erişimin kesintisintisiz devam etmesini istiyoruz. Bu sebeple buradaki Database Server ismi kısmına henüz elimizde SQL Database Dosyaları olmadığı için kuramadığımız SQL Server AlwaysOn Instance Name ortak adını gireceğiz. Yani makalemizin başındaki tabloda not aldığımız ( SPSQLDB ) ismini kullanacağız.
İyide biz daha AlwaysOn enable etmedik ve ortamda henüz böyle bir isimli SQL instance yok?
Eğer biz SQL Server 2012 üzerinde AlwaysOn’u enable etseydik aşağıdaki resimdeki gibi Availability Group Listeners altında SPSQLDB ismimiz gözüküyor olacaktı (bunu daha sonraki bir aşamada sağlayacağız). Fakat hem elimizde SQL Databaseleri olmadığı için hemde bu isim üzerinden gittiğimizde bir database dosyasını SQL server üzerinde sıfırdan oluşturamayacağımız için bu işlemi daha sonraya bırakmıştık. Hala öyle bu işlemi yapmayacağız henüz.
Önemli Not: Şunu unutmayalım, bu aşamada yukarıdaki bu resimdeki yapı henüz ortamda yok ama daha sonra olması gereken yapı bu olacak. Bu aşamada bu durumu ortamınızda aramayınız ve yaratmaya çalışmayınız!
Peki ama henüz ortamda olmayan bir SQL Listener name ile SharePoint sunucumuz iletişime geçip gerekli olan SQL Database dosyalarını böyle bir SQL Server geröekten varmış gibi davranıp nasıl SQL Database dosyalarını oluşturacak?
İşte bu makalemizde işin sırrı ve en can alıcı noktası burası. Ben bu kısmı anlayana kadar baya bir sıkıntı çektim. İlk başta sizlerde okuduğunuzda hemen anlamayabilirsiniz bu çok normal, taki bu yapıyı ortamınıza kurmaya çalıştığınızda net olarak anlayacağınızı düşünüyorum. Bu noktada SharePoint Server 2013’ü kandıracağız, yani ön tarafta gerçekte sanki böyle bir SQL Server Listener name’i varmış gibi gösterip, arka tarafta onu elimizdeki SQL Server sunuculardan birisine yönlendireceğiz.
SharePoint Server 2013 Farm kurulum işlemlerimiz bittiğinde ise SQL Server 2012 üzerinde AlwaysOn enable ederek database dosyalarımızı yedekli ortama taşıyacağız. Database dosyalarımızın yedekli ortama taşındığından emin olduktan sonra SharePoint Server 2013 sunucumuzu kandırmaktan vazgeceğiz. Yani artık ortamda SPSQLDB isimli gereçek bir SQL Listener name olduğunda arka taraftaki SQL Server sunuculardan birisine yönlendirme işlemini iptal edeceğiz. Yoksa kurmuş olduğumuz yedekli yapımız çalışmaz, sürekli SQL Server 1’e gitmeye çalışır SharePoint Server.
Bir resim bin kelimeden daha değerlidir diyerek bu aşamada yapacağımız işlemin tam olarak ne yapacağını aşağıdaki resimde anlatmaya çalıştım.
Bu işlemleri SharePoint Server 2013 sunucumuz üzerinde yapacağız, şimdi hep beraber bu işlemin nasıl yapıldığını görelim.
Bunun için ön gereksinimlerde kurulumunu yapmış olduğumuz SQL Server Client Network Utility yazılımını kullanacağız. Bu yazılım aracılığı ile sahte bir SQL Server Alias tanımlaması yapıp arka tarafta bu ismi SQL Server 1 isimli sunucumuza yönlendireceğiz.
Comman prompt’u run as admin ile açıp C:\Windows\system32\cliconfg.exe dosyasını çalıştıralım.
Açılan ekranda Alias tabına gelelim ve Add butonuna basalım. Burada bir SQL Server Alias ismi yaratacağız.
Bizim ihtiyacımız olan SharePoint Server 2013’ün SQL server database sunucusu olarak SPSQLDB isimli bir sunucuyu Database sunucusu olarak araması. Bunun için aşağıdaki ekrandaki ilgili alanları belirtildiği gibi dolduralım ve Ok butonu ile işlemi tamamlayalım.
Server alia : SPSQLDB
Network Libraries : TCP/IP
CP \ Server Name : SPDB1\SPDB ( SQL Server Name \ Aktif SQL Instance Name )
PortNumber : 1433
Alias tabı altına oluşturduğumuz bu yönlendirilmiş isim aşağıdaki gibi eklenecektir. Bu ekranı Apply ile kapatabiliriz.
Şimdi SharePoint Configuration Database Setting ekranına geri dönelim ve oluşturmuş olduğumuz sanal SQL Aliası yani SPSQLDB ismini buraya ekleyelim. Bu isim kullanıldığında kullanan kişiyi arka tarafta SPDB01 isimli SQL Server’a yönlendirilcektir.
Sanal olan SQL Server iletişim bilgilerini ve SQL Server’a bağlantı için gerekli olan gerçek kulalnıcı adı ve şifresi bilgilerini aşağıdaki resimdeki gibi ekleyelim ve Next ile ilerleyelim.
Database server : SPSQLDB
Database name : SharePoint_Config
User Namer : recepyuksel\spadmin (Daha önce SQL Server üzerinde bu kullanıcıya yetki vermiştik.)
Password : spadmin şifresi.
Eğer buraya kadar anlatılanları eksiksiz yaptı isek SPSQLDB adı üzerinden SPDB1 isimli SQL server sunucusu ile iletişime geçilecektir ve aşağıdaki ekran karşımıza gelecektir.
Specify Farm Security Settings bu ekranda kuracağımız SharePoint Farmına daha sonra sunucu eklemek istersek (ki biz bu makalede ekleyeceğiz) farmın güvenliği için kullanılacak olan şifreyi yazınız. Bu şifreyi unutmayacağımız şekilde not alalım.
SQL Server Bağlantı Sorunu Yaşanırsa Kontrol Edilecekler:
Bu aşamada SQL Server sunucusuna istediğiniz isim üzerinden bağlantı yapmakta sorun yaşarsanız aşağıdaki ayarları SQL server üzerinde kontrol ediniz. Eğer bu ayarlarda sorun varsa burada anlatıldığı şekilde düzenledikten sonra yeniden bağlantı kurmayı deneyiniz.
SQL Server Network Configuration altındaki Shared Memory, Named Pipes ve TCP/IP Enabled durumda olmalı.
Buradaki TCP/IP Properties ile erişerek TCP Port 1433 olarak eklenmelidir.
Bu işlemleri yaptıktan sonra SQL Server Servislerini restart ederek tekrar bağlantı kurmaya çalışınız. Büyük ihtimalle bağlantı kurma işlemi sorunsuz sağlanacaktır.
Configure SharePoint Central Administrator Web Application ekranında yönetim için kullanmak istediğiniz port numarasını yazabilirsiniz. Ben 5555 kullandım. Sizede numaraya yakın bir port numarasını kullanmanızı tavsiye ederim.
SharePoint Server 2013 yönetimi için kullanabileceğimiz Central Administrator URL adresi : http://spapp:5555/ olarak gelecektir. Portu değiştirebilirsinizi size kalmış.
Bu ekranda Next ile ilerlediğimizde SharePoint Farm kurulum işlemleri başlayacaktır.
Kurulum adımlarını aşağıdaki ekrandaki gibi takip edebilirsiniz.
Bu esnada arka tarafta ne oluyor diye kontrol etmek isterseniz SPDB1 isimli SQL server sunucumuza erişelim ve SQL Server Manager ekranın da Databases altında database dosyaları oluşuyormu diye kontrol edebilirsiniz.
Kurulum işlemleri bitince aşağıdaki 2 adet SQL Database dosyasının oluşturulmuş olması gerekmektedir.
SharePoint_Config
SharePoint_AdminContent_18….
Yükleme işlemleri bittikten sonra kurmuş olduğumuz SharePoint 2013 yapısını yönetmek ve site oluşturmak için aşağıdaki link ile Central Admin ana sayfasına bağlanalım.
İlk bağlantıda bizi aşağıdaki sayfa karşılayacaktır. Ben bunu No, ile geçtim.
Ortamımıza yeni bir SharePoint Farmı kurma işlemlerini bir wizart aracılığı ile yapmak için aşağıdaki ekranda Start the Wizard ile devam edelim.
Aşağıdaki ekranda Farm Yöneticisi olarak kurulumu yaptığımız spadmin hesabınızı kullanabilirsiniz ben onu kullanarak devam etmenizi öneririm, güvenlik üst seviyede olsun derseniz farklı bir hesap ile yeni bir kullanıcı hesabını ekleyebilirsiniz. Daha önce oluşturmuş olduğumuz recepyuksel\spfarm isimli kullanıcı adını ve şifresini ekleyerek devam edebilirsiniz kuruluma.
Services altında bulunan servislerden sadece SharePoint Site üzerinde kullanmak istediğiniz servisleri seçerek devam ederseniz gereksiz olan servisleri kurup sunucunuzu yormamış olursunuz. İleride ihtiyacınız olduğunda herhangi bir servisi istediğiniz zaman enable edebilirsiniz.
Ilgili servisleri seçtikten sonra Next ile devam ediniz.
Oluşturacağımız Farmın Web sitesine ait açıklama bilgilerini ve URL seçimini yaparak OK butonuna nasarak site oluşturma adımlarını tamamlayabilirsiniz. Ben site açıklamasına Recep YÜKSEL SP Test Site ve URL olarak / seçerek devam ettim.
Bu sayfanın alt tarafında siteniz için bir template seçerek devam edebilirsiniz.
Template Selection altında 4 ana başlık altında birçok template var. Collaboration altındaki template ler aşağıdaki gibidir, bunlardan birisini seçerek devam edebilirsiniz.
Enterprise Altındaki templateler aşağıdaki gibidir.
Publishing altındaki templateler aşağıdaki gibidir.
Custom altındaki templateler aşağıdaki gibidir.
Ben default olarak gelen Collaboration altındaki Team Site seçtim ve OK ile kuruluma devam ettim ve SharePoint 2013 Server üzerinde sitem oluşturulmuş oldu.
Artık web siteme http://spapp adresinden erişebilecek durumdayım.
SharePoitn Farmımız ve web sitemiz oluşturulduktan sonra Central Administration ana sayfamız yönetim ekranımız aşağdaki resimdeki gibi gelecektir.
Burada sol taraftaki Application Management bölümü altında yapabileceğimiz ayarların listesi aşağıdaki gibidir. Bu ekranda Databases tabı altındaki Manage content databases ile Share Point Server 2013 sunucumuzun bağlı olduğu SQL Database server adını görebiliriz.
Bu ekrada da görebileceğiniz gibi SQL Database ismimiz istediğimiz gibi SPSSQLDB olarak ayarlanmış durumdadır. Bunca çabamız aslında buraya bu ortak ismi ekleyebilmek içindi. 🙂
SharePoint 2013 Farmımıza ait Web sitemize erişmek için http://spapp adresine sunucumuz üzerinden gidelim ve ana sayfamızın çalıştığını görelim. (Sunumuz üzerinden dedim çünkü henüz başka kullanıcılara yetki vermediğimiz için başka bir kullanıcı hesabı ile bağlanmaya siteye erişim yapamayacaklardır. Yetkilendirme işlemleri ilerleyen bölümlerde anlatılacaktır.)
SQL Server 2012 üzerinde AlwaysOn Grup Oluşturma :
SharePoint Server 2013 sunucumuzu kurulumunu yaptık ve SharePoint Farmımızı oluşturduk. SharePoint Server Farmı üzerinde yapılması gereken yetkilendirme, alt siteler oluşturma gibi işlemler ile bu noktada kafamız daha fazla karşımasın asıl odak noktamız olan yedekli yapı kurulumundan fazla uzaklaşmayalım diye daha sonraki bölümlere bırakıyorum bu işlemlerin alatılmasını.
Şuanda SharePoint 2013 ortamımız 1 adet SQL Database Server ve 1 Adet SharePoint Server ile sorunsuz olarak çalışıyor. SharePoint Farmına ait SQL Database dosyaları SQL Server 1 (SPDB1) isimli sunucu üzerinde oluşmuş durumdadır.
SQL Server 1 sunucumuza logon olalım ve SQL Server 2012 AlwaysOn enable etme işlemine başlayalım.
Microsoft SQL Server Management studio konsolunu açtığımızda Databases tabı altında SharePoint Farmımıza ait tüm SQL Database dosyalarını aşağıdaki gibi görebilirsiniz.
Biz AlwaysOn grubu kurulumu sırasında bu database dosyalarının hepsini yedekli ortama dahil edeceğiz ve birebir bir kopyalarının SPDB2 isimli SQL Server sunucumuzun üzerinde replike edilmesini sağlayacağız.
SQL AlwaysOn yapısına dahil edilecek SQL Database dosyalarının yedekli ortama dahil edilebilmesi diğer SQL Server sunucular üzerine replike edilebilmesi için bazı ön gereksinimleri sağlamaları gerekiyor.
Öncelikle Database dosyalarının özelliklerindeki Recovery model tipinin mutlaka Full olarak ayarlanmış olması gerekiyor, yedekli ortama dahil edilecek her database’in en az bir kez Full yedeğinin alınmış olması gerekiyor.
SharePoint Server 2013 ortamımıza ait tüm SQL Database dosyalarının özelliklerine erişip Options tabındaki Receovery model ‘i aşağıdaki gibi Full olarak ayarlayalım.
Bu işlemden sonra yedekli ortama dahil edilecek tüm SQL Database dosyalarının bir yedeğini Full olarak alalım.
Yedeğini alacağımız Database dosyasının üzerinde sağ tuşa basınız ve Tasks \ Back Up… ile devam ediniz.
Backup type Full olarak ayarlayınız ve OK ile yedekleme işlemini tamamlayınız. Bu işlemi tüm database dosyaları için ayrı ayrı yapınız.
Şimdi SQL Server AlwaysOn yedekli yapımızı kurmaya hazırız. SQL Server AlwaysOn High Availability altındaki Availability Groups üzerinde sağ tuşa basarak New Availability Group Wizart… butonu ile kurulum işlemlerini başlatalım.
Yapılacak işlem adımlarının özeti aşağıdaki Introduction tabında gösterilmektedir. Next ile ilerleyelim.
Specify Name bölümünde kuracağımız AlwaysOn grubuna bir isim verelim. Biz burada SPDB_AG adını verdik. Bu grubu hangi amaçla kurduğunuzu size anımsatacak bir isim kullanmanızı yeterli bu ismin ne olduğunun sistemin çalışması için bir önemi ve anlamı yok aslında.
Select Databases bölümünde yedekli yapıya eklemek istediğiniz database dosyalarınızı seçebilirsiniz. Yukarıda size önerdiğim tüm database dosyalarının üzerinde yapmanız gereken işlemleri yapmazsanız ne ile karşılaşacağımızı görelim diyerek ben tümünü düzeltmemiştim.
Aşağıdaki resimde görebileceğiniz gibi Database özelliğinde Database Recovery mode Full seçilmeyen databaseleri bu aşamada seçip yedekli ortama dahil edemiyorsunuz. Status bölümünde bunun içinyYapılması gereken işlem açıkca bildiriliyor. İsterseniz bu aşamadan önce bu işlemleri tamamlayıp bu ekranda Refresh butonuna bastıktan sonra tümünü seçebilirsiniz yada sadece şuanda uygun olanları seçip devam edebilirsiniz. Ben sizlere AlwaysOn üzerinde sonradan database eklemeişleminide anlatmak istediğim için sadece şuanda uygun durumdaki 3 database’i seçip Next ile devam ediyorum.
Specify Replicas bölümünde yedekli yapıya dahil edilecek SQL Server sunucularımızı seçebileceğimiz Replicas tabı aşağıdaki gibidir. Replicas tabı altındaki Add Replica butonunu kullanarak SPDB2 isimli ikinci SQL Server sunucumuzu eklyeceğiz. Add Replica.. butonuna basalım.
Buraya ekleyeceğimiz SQL Server üzerinde yetkili bir kullanıcı adı ile bağlanmamız gerekiyor. Aşağıdaki ekranda sunucuya bağlanmak gerekli olan bilgileri ekleyelim.
SPDB2 isimli sunucumuzu buraya eklendikten sonra aşağıdaki gibi Secondary sunucu olarak gözükecektir. Automatic Failover tabında her iki sunucuyada işaretleyelim.
Yine bu bölümde Endpoints tabına erişerek bu sunucularımızın erişim bilgilerini görebilirsiniz. SQL Sunuuclar TCP 5022 nolu portu kullanarak birbirleri ile haberleşeceklerdir. Bu sebeple sunucular üzerindeki Firewall’un kapalı olması veya bu portlara izin verilmesi gerekmektedir.
Yine bu bölümde Backup Preferences başlığı altında yedekleme için öncelik tanıyabilirsiniz sunuuclarınıza. Default Prefer Secondary seçilidir ve sunucular üzerindeki yük %50 / %50 olarak dağıtılmıştır.
Buradaki en önemli ayar kısmı Listener tabıdır. Makalemizin başında verdiğimiz sunucu isimleri listesindeki SQL Server AlwaysOn Listener ismini yani SharePoint Server 2013 Farm kurulumunu yaparken sahte isim kullanarak yönlendirme yaptığımız SQL Server yedekli ortamımızın erişim adını burada yani SPSQLDB isimli SQL Server listener ismini burada oluşturacağız. SQL Listener ismimizi oluşturuken aynı zamanda bu isim için ayırdığımız IP adresini buraya ekleyeceğiz.
Bunu SQL Listener name oluşturulurken Active Directory üzerinde Computer objesi oluşturulacaktır daha sonrada DNS’e bu isme ait IP adresi kaydı oluşturulacaktır. (Önemli Not: Bu kayıtlar otomatik olarak oluşmaz ise bu kayıtları manuel oluşturmamız gerekecektir.)
Create an availability group listener seçeneğini seçerek aşağıdaki gibi buradaki bilgileri doldurunuz.
Listener DNS Name : SPSQLDB
Port : 1433
Network Mode : Statik IP
Add.. butonuna basarak IP adresini atayalım.
SPSQLDB için kullanmak istediğimiz IP adresini buraya ekleyelim ve OK ile bu ekranı kapatalım.
Listener bölümü en son görünümü aşağıdaki gibi olacaktır. Next butonu ile kurulum işlemlerine devam edebilirsiniz.
AlwaysOn ortamına aktarılacak olan SQL Database dosyalarımızın ikinci sunucu üzerinde aktarımı sırasında önce bir yedeği alınır daha sonra bu yedek’ten ikinci sunucuya restore işlemi yapılarak database dosyalarının bir kopyası ikinci SQL Server üzerinde oluşturulur.
Bu aşamada yedeklerin alınması için her iki SQL Sunucumuzunda erişebildiği bir network paylaşımını kullanmanızı tavsiye ederim. Ben aşağıdaki Select Data Syncronization bölümünde \\DC01\SQLFSW isimli network adresini kullanmasını istedim. Buraya her iki sunucumda erişebiliyor şuanda, Next ile devam edelim.
Validation tabında şimdiye kadar eklediğimiz bilgiler ışınğında kontroller yapılacaktır, eğer AlwaysOn kurulumu için herhangi bir sorun yok ise aşağıdaki ekranda tüm şeçenekler yeşil olarak gözükecektir. Sorun yok ise Next ile devam edelim.
Summary tabında girmiş olduğumuz bilgiler bize gösterilecek kontrol etmemiz istenecektir. Herhangi bir sorun yok ise Finish butonu ile SQL Server AlwayOn Availibility Group kurulumunu başlatalım.
İşlemler başladı, bu aşamada yapılacak olan işlemleri bir sorun yaşarsanız kontrol etmeniz için tekrar özetlemek isterim;
SQL Server Sunucularımız arasında kurmuş olduğumuz Microsoft Cluster üzerinde bir Cluster servisi oluşturularak bu servisin adı SPSQLDB olarak ayarlanacak IP adreside 192.168.0.55 olarak atanacaktır.
Active Directory üzerinde SPSQLDB isimli bir computer objesi oluşturulacaktır. DNS üzerinde bu yeni Computer objesi için IP adresine karşılık gelen kayıt oluşturulacaktır.
SQL Server 1 üzerindeki yedekli ortama taşınacak database dosyalarının bir yedeği alındıktan sonra bu yedekler SQL Server 2 üzerinde restore edilecek ve SQL Server 1 üzerindeki aktif databaseler üzerinden SQL Server 2 üzerinde oluşturulan ikinci kopyalarının üzerine replikasyon sağlayan mekanizma SQL Server Sunucuları üzerinde kurulacaktır.
SQL Server 2 sunucumuz üzerine giderek ( SPDB2 ) Replikasyon için oluşturulan database dosyalarını aşağıdaki şekildeki gibi görebilirsiniz.
Microsoft Cluster Servisi üzerinde Roles tabı altında oluşturulan SPDB_AG isimli Rol oluşturulacaktır. Role altında SPSQLDB ve IP adresi’de aşağıdaki resimdeki gibi kontrol edebilirsiniz. Bu kayıtların burada bu şekilde düzgün bir şekilde oluşturulması çok önemlidir.
Tüm işlemler sorunsuz olarak bittikten sonra Availability Groups altında oluşturmuş olduğumuz grup, bu grup altına bağlı SQL Server sunucuları ve Replikasyonu yapılan SQL Database dosyaları aşağıdaki resimdeki gibi gözükecektir.
AlwaysOn üzerinde ve Cluster Role altında yeni oluşturulmuş olan SPSQLDB isimli SQL Instance Name’e ping attığınızda bu isimden aşağıdaki gibi cevap alıyor olmalısınız.
SPSQLDB isimli SQL Listener için Active Directory ve DNS Server üzerinde oluşturulan objeler aşağıdaki gibi görülebilir.
DNS Kaydı aşağıdaki gibi oluşmuş olmalıdır. Eğer bu kayıt otomatik oluşturulamaz ise sizin elle oluşturmanız uygun olacaktır.
SQL Server 2 SPDB2 isimli sunucumuz üzerinde SQL database dosyaları oluşturulmadan önce alınan SQL Database yedeklerini aşağıdaki adreste görebilirsiniz. İşlemler sorunsuz olarak bittiğinde yer kaplamaması için bu yedekleri buradan silebilirsiniz.
SQL Server 2 yani SPDB2 isimli sunucusu üzerine replike edilmeye başlanan 3 adet SQL Database dosyasının bu sunucu üzerinde de oluşturulmuş olduğunu aşağıdaki gibi gözlemleyebilirsiniz.
Yedekli yapımızın kurulumu tamamlandı. Benim test ortamımdaki gibi sadece 3 adet database doyasını seçerek bu işlemi yaptıysanız diğer database dosyalarını ortama eklemek önce database recovery mode Full yapıp sonra bir kez yedeklerini aldıktan sonra aşağıdaki resimdeki gibi Availability Database üzerinde sağ tuşa basıp Add Database ile yedekli ortama bu database dosyalarınızıda ekleyebilirsiniz.
Introduction ekranında Next ile ilerleyelim.
Aşağıdaki gördüğünüz gibi tüm database dosyalarımız yedekli ortama aktarmak için uygun durumda artık. Tümünü seçip Next ile ilerliyorum.
Aktarma sırasında yedeklerin alınacağı folder’i belirliyorum.
Connect to Replicas bölümünde databaselerin replike edileceği SQL Sunucularını seçelim ve bağlantı kuralım.
Validation testleri aşağıdaki gibi sorunsuz ise bu database dosyalarını da yedekli ortama taşıma işlemlerini başlatalım.
SharePoint Server’a ait diğer SQL Database dosyalarınında yedekli ortama aktarılması aşağıdaki gibi sorunsuz olarak bitmiştir.
Bu bölümde SQL Server AlwaysOn High Availability bölümünü inceleyeceğiz detaylı olarak.
Aşağıdaki ekranda kurulumunu yapmış olduğumuz yedekli yapıyı SPDB1 isimli sunucu üzerinden incelediğimizde ortamdaki yedekli SQL Database dosyalarının durumunu görebilirsiniz. Sağ taraftaki ekranda ise AlwaysOn grubumuzun sağlık durumunu görebilirsiniz.
Her iki SQL Server üzerindeki Database dosyalarını kontol ettiğimizde aşağıdaki resimdeki gibi bütün database dosyalarının her iki sunucu üzerinde de oluşturulmuş olduğunu görebilirsiniz.
SPDB1\SPDB üzerindeki SQL Database Dosyaları
SPDB2\SPDB üzerindeki SQL Database Dosyaları
SPDB_AG isimli SQL Server AlwaysOn grubumuzu aşağıdaki resimdeki gibi daha detaylı bir şekilde durumunu inceleyebilirsiniz.
Availabilitiy group state : Healty
Primary instance : SPDB1\SPDB
Failover mode : Automatic
Cluster state : SPDB (Normal Qourum)
Şeklinde gözükmektedir. Primary yani aktif database sunucusu olarak SPDB1 kullanılmaktadır ve veriler önce bu sunucu üzerindeki Database dosyalarına yazılıp hemen ardından Secondary sunucu üzerindeki Database dosyaları üzerinde replike edilmektedir.
Start Failover Wizart ile isterseniz bir felaket anının testlerini yapabilirsiniz. Primary sunucuyu değiştirebilirsiniz. View AlwaysOn Healty Event ile AlwaysOn yapısının loglarını görebilirsiniz.
Cluster Quorum Information butonuna tıklayarak bağlı sunucuların durumunu görebilirsiniz.
SQL Server AlwaysOn yedekli yapımızın kurulumu tamamlanmıştır, Database dosyalarımız artık her 2 SQL Server üzerinde yedekli olarak çalışmaktadır.
Fakat bir sorun var bu noktada. Bu sorun nedir acaba?
Şuanki sorun değilde yedekli ortama uymayan durumumuzun sebebi, ilk başta SharePoint Server 2013 sunucumuz üzerinde yaptığımız sahte isim yönlendirmesi sebebi ile SP2013 sunucumuzun halen SPDB1 isimli sunucumuz ile görüşüyor olması. SharePoint 2013 sunucumuzun bu yedekli yapıdan heberi yok bu sebeple.
Ortamımızda artık SPSQLDB isimli bir SQL Server Instance name’i artık gerçek olarak aktif çalışır durumdadır. Şimdi yapmamız gereken işlem ise SharePoint Server 2013 kurulumu sırasında SharePoint server üzerinde SPSQLDB ismi ile yapmış olduğumu SPDB1 isimli sunucuya doğru olan isim yönlendirmesini iptal ederek SharePoint Server 2013 sunucumuzun SPSQLDB ismine direk cluster servisi üzerinden erişmesini sağlayarak aktif (Primary) SQL Server hangisi ise otomatik olarak o sunucuya yönlenmesini sağlamak olacaktır. Bu işlemden sonra SharePoint 2013 sunucumuzun SQL Server Database bağlantısı tarafı yedekli olarak çalışmaya başlayacaktır.
Burada yapmamız gereken işlemi yine bir resimle aktarmak isterim, SharePoint Server 2013 kurulumu öncesi yapmış olduğumuz sahte isim yönlendirmesini iptal edip bağlantının aşağıdaki şekle gelmesini sağlayacağız. SPSQLDB rolu artık Microsoft Cluster servisi üzerindedir ve herhangi bir Microsoft Cluster’a dahil sunucumuz (Burada SQL Server Sunuucları) kapandığında ikinci server Cluster rollerini üzerine alacaktır. Bu esnada SQL AlwaysOn tarafında da Primary server olarak ayarlanacaktır. SPSQLDB isimli SQL Instance name ine yapılan bağlantılar herhangi bir kesinti hissedilmeden ve manuel müdahaleye gerek olamadan sıfır kesinti ile çalışmaya devam edeceklerdir.
Bu işlemi yapmak için SharePoint Server 2013 sunucumuza gidelim ve SQL Server Client Network Utility yazılımını açalım. Burada daha önce oluşturmuş olduğumuz Server alias yönlendirmesinin yönlendirme ayarlarını değiştirebiliriz veya komple silebiliriz. Ben size ileride yönlendirme tekrar lazım olabilir diyerek yönlendirmenin doğru adrese (yani gerçek isme) doğru değiştirilmesini nasıl yapabileceğimizi aktaracağım.
Command prompt’u run as admin ile açıp C:\Windows\system32\cliconfg.exe dosyasını çalıştıralım.
Aşağıdak ekranda Alias tabında görmüş olduğunuz SPSQLDB isimli Server alias isimli configurasyon dosyasını seçip Edit edelim.
Buradaki SPSQLDB isimli SQL Alias ismimizi SPDB1 isimli sunucuya doğru yönlendiren bölüm olan Server Name bölümündeki SPDB1\SPDB bölümünü silip yerine olması gereken isim olan SPSQLDB yazalım.
Bu bölümü aşağıdaki gibi düzenledikten sonra OK ile kaydı onaylayalım bu ekranları kapatalım.
SQL Server Alias yönlendirmemiz aşağıdaki gibi olacaktır.
Bu işlemden sonra SharePoint Server 2013 sunucunuzu restart etmenizi öneririm daha sonra testlerimizi yapalım.
Sunucumuz tekrar açıldıktan sonra SharePoint Sitemize erişim varmı çalışıyormu önce bunu kontrol edelim. Aşağıdaki resimde de görüldüğü gibi sitemiz sorunsuz olarak çalışıyor yani SQL AlwaysOn düzgün çalışıyor ve SPSQLDB isimli Instance name’e gelen sorguları o anda aktif olan (Primary) SQL server’a yönlendirip en güncel Database dosyalarına erişmesini sağlıyor SharePoint sunucumuzun.
Şimdi ise SQL Server 2012 AlwaysOn yedekli yapımızı doğru kurmuşmuyuz, gerçekten SQL Server sunucularından birisi kapandığında SharePoint Server 2013 çalışmaya devam ediyormu SQL AlwaysOn SQL Server2 Primary server durumuna getirip onun üzerindeki SQL Databaselerini bize kullandırabiliyormu bunun testini yapalım hep beraber.
Bunun için şuanda ortamımızda SQL AlwaysOn Primary sunucu olarak çalışan SPDB1 isimli SQL Server sunucumuzu kapatıp o kapanınca sistem kesintisiz çalışmaya devam ediyormu bunun kontrolunu yapacağız. Aşağıdaki resimdeki durumu test edeceğiz ve SQL Server AlwaysOn yedekli yapımız gerçekten doğru çalışıyormu bunu hep beraber göreceğiz.
Aşağıdaki gibi bir durumda SPDB1 isimli sunucu kapandığında ortamımızda aşağıdaki işlemlerin sorunsuz olarak gerçekleşmesini bekliyoruz.
SQL Server sunucuları arasında kurulu olan Microsoft Cluster Servisi üzerindeki SPDB isimli cluster IP adres ve SPSQLDB isimli cluster rolu SPDB2 isimli server üzerine aktarılacaktır, bu isimlere ait olan IP adresleri SPDB2 üzerine aktarılacak ve bu sunucumuz bu IP adreslerine gelen isteklerede cevap vermeye başlayacaktır.
SQL Server AlwaysOn Failower durumunda Automati devreye girecek şekilde ayarlandığı için SPDB1 isimli sunucunun durumumu AlwaysOn üzerinde Primary moduna çekerek onun üzerindeki SQL Database dosyalarını Primary database dosyaları olarak kullandırmaya başlayacaktır.
SPDB1 isimli sunucuyu kapatıyorum.
Şimdi SharePoitn sitemize erişebliyormuyuz kontrol edelim.
Aşağıdaki resimde de gördüğünüz gibi sitemiz çalışmaya devam ediyor gördüğünüz gibi.
Bu durumu SQL Server konsolundan kontrol ettiğimizde neler göreceğiz hep birlikte bakalım.
Aşağıdaki resimdeki gibi SPDB_AG isimli AlwaysOn grubumuz artık yeşil değil. Primary Instance bölümündeki sunucu ismine dikkat ediniz burası SPDB2\SPDB olarak değişmiştir.
SPDB_AG detaylarına baktığımızda SPDB1\SPDB isimli sunucumuza erişilemediğini ve Role bölümünde Secondary olarak işaretlendiğini görebilirsiniz. Bu sunucumuz açıldığında Database Replikasyonları SPDB2 üzerinden SPDB1 tarafında doğru yapılacaktır. Taki SPDB2’nin başına bir iş gelene kadar yada siz bu durumu tam tersi şekilde çalışması için ayarlayana kadar.
Sağ taraftaki ekranı aşağı doğru kaydırdığınızda şuanda SPDB2\SPDB üzerinde aktif olarak hizmet veren Database dosyalarınızı ve durumlarını görebilirsiniz.
Yine bu sunucumuz üzerinde Failover Cluster Manager üzerindeki durumu kontrol edelim. Aşağıdaki resimde Roles \ SPDB_AG Owner Node’ın SPDB2 sunucusu olarak ayarlandığını görebilirsiniz.
Bu aşamada bu makalemiz sonunda hedeflediğimiz SharePoint Server 2013 kurulumu gerçekleştirdik, SQL Server 2012 üzerinde AlwaysOn enable ettik ve SharePoint Farmımıza ait SQL Database dosyalarını yedekli olarak çalıştırmaya başladık. Bir SQL Server sunucuyu kaybettiğimizde yapımızın kesintisiz olarak çalıştığını test ettik yapımız şuanda 1 adet SharePoint 2013 sunucusu ile çalışıyor.
Şuanda yapmızda SQL Server katmanı yedekli olarak çalışıyor, sonraki makalemizde ortama ikinci SharePoint Server 2013 sunucusunu ekleyerek bu katmanıda yedekli olarak çalıştırmayı anlatıp bu ortamın testlerini yapacağız, daha sonra SharePoint farmımıza erişmeleri için domain ortamımzıdaki kullanıcılara yetki vermeyi ve SharePoint Site’ımız altında yeni siteler oluşturup bu sitelere yetki vermeyi göstereceğiz.
Faydası olması dileklerimle.