SQL Server 2019 Always On Kurulumu

Microsoft SOL Server 2019 ile Failover Cluster ve Always On yapısında bir alt yapı kurmak istiyorsanız aşağıdaki Yazı size yardımcı olacaktır. Hadi başlayalım.

Öncesinde hazırlıklarımızı tamamlayalım. Hazırlıklar ve Kurulum aşamaları;

  1. Network Alt yapısı
  2. Disk yönetimi
  3. Active Directory ve yetkilendirme
  4. Failover Cluster Kurulumu ve Konfigürasyon
  5. SOL Server Kurulumu ve Konfigürasyon
  6. Always On Konfigürasyonu
  7. Testler ve Son görünüş
  1. Network Alt Yapısı

Bu çalışmamızda, Transaction, Cluster HeardBead, Backup Operasyonları için farklı NIC kartlar kullanacağız. Tüm SQL Server alt yapımız bu tarzda konfigüre edilecek. Örneğin;

Transaction – 192.168.17.0/24

Cluster HeardBead – 172.16.17.0/29

Backup – 10.1.1.0/30

olarak konfigüre edilebilir.

2. Disk Yönetimi

Kurulum Öncesi yapılacak diğer işimiz Disk terminolojisini belirlemek. Biz bu yazımızda,

Installation

Data

Log

Temp

Diskleri olarak 4 Ana disk belirliyoruz. İsterseniz SQL Server kurulumunun yapıldığı diski de ayırabilirsiniz.

Server Manager uygulaması üzerinde, File and Storage Services – Disks altında Sunuculara Eklenmiş olan diskleri online hale getirelim. Bunun için offline olan diskler üzerine sağ tıklayarak Bring Online seçelim.

Diskler online hale geldikten sonra tekrar disklere sağ tıklayalım ve New Volume seçerek her disk için birer volume oluşturalım.

Volume oluştururken disklere isimde verelim ki SQL Server kurulumunda kolaylık olsun.

Disklerin son hali aşağıdaki gibi olacak.

Normalde çoğu senaryoda SQL Server kurulum yeri için de bir disk oluşturulur. Fakat ben şimdilik c: diskine kurulum yapacağım.

3. Active Directory ve Yetkilendirme

SQL Sever Servislerinde kullanmak için Active Directory üzerinde bir tane kullanıcı oluşturuyorum. SQLAO. Yetki olarak Administrator yetkisini verelim.

4. Failover Cluster kurulumu ve Konfigürasyonu

Sunucular arasında oluşacak olan yükü dengelemek için Microsoft varsayılan servislerinden olan Failover Cluster servisinin yüklenmesi işlemini yapıyoruz.

Bunun için öncelikle Server Manager ekranında “Add roles and features” alanını tıklayarak wizard ekranını başlatalım.

Role-based or feature-based installation seçeneği ile devam edelim

Features menüsü üzerinden “Failover Clustering” ve “Multipath I/O” seçeneğini seçerek devam edelim. Buradaki “Multipath I/O” storage üzerindeki dataya birden fazla fiziksel veri yolu ile ulaşılmasını sağlamak için kullanılıyor. Çok G/Ç – Vikipedi (wikipedia.org)

Akabinde kurulum işlemine geçip Install ile yüklemeyi başlatabiliriz.

Kurulum tamamlandıktan sonra konfigürasyon işlemine geçebiliriz.

Failover cluster servis kurulumu sağlandıktan sonra Microsoft Failover Cluster uygulaması açılır. Açıldıktan sonra da “Failover Cluster Manager” menüsü üzerinde sağ tıklayarak “Create Cluster” seçimi ile cluster oluşumuna geçilir.

AlwaysOn topolojisi içerisinde kullanılacak olan sunucuların seçilmesi gerekli.

“Cluster Name” olarak bir atama yapılır ve Active Directory de oluşacak olan Cluster Computer objesi için de bir IP adresi belirmememiz gerekli. Bu IP adresini kullanarak da Cluster ortamımızı çağırabiliriz.

Quorum Konfigürasyonu

Cluster ortamımız oluştu ise şimdi de sırada Cluster ortamındaki sunucuların birbirlerini takip edip hangi sunucu hangi süreçte devrede vb. aşamaları takip edip aksiyon alacağının belirleneceği Quorum ayarlarının yapılması işlemini gerçekleştirelim.

Öncelikle aşağıdaki gibi “More Actions” – “Configure Cluster Quorum Settings” menüsü ile başlayalım.

“Advanced Quorum configuration” seçeneği ile devam edelim.

Hangi node lar okuma ve yazma yapacak onları seçelim.

“Configure a file share withess” seçeneği ile Quorum ortamımızı bir file server üzerinde tutacağımızı belirliyoruz. İstersek bir disk ya da Cloud ortamında da tutabiliriz. Ben file server üzerinde tutacağım için “Configure a file share withess” seçeneğini seçiyorum.

İlgili file path seçerek devam ediyorum. Bu arada file server üzerinde Quorum klasörü için Cluster oluşumunda kullandığımız Cluster Name alanında girmiş olduğum object için Read/Write yetkisi verilmesi gereklidir.

Böylece Cluster ortamımız ve kurulumu ve konfigürasyonu bitti.

5. SOL Server Kurulumu ve Konfigürasyon

SQL Server Installation Kit üzerinde “setup.exe” kullanarak yükleme işlemine başlayalım. Ve “New SQL Server stand-alone installation or add features to an existing installation” seçeneğini seçerek devam edelim.

Aşağıdaki ekrana kadar geldi iseniz artık SQL Server servislerini seçmeye başlayabiliriz. Biz burada sadece “Database Engine Services” kurulumu yapacağız. Eğer ETL süreçleriniz vb. olacak ise SQL Server Integration Service ya da OLAP cube kullanacaksanız SQL Server Analysis Service seçeneklerini de seçebiliriz. Tabi ki bu servislerin farklı sunucularda bulunması çok önemlidir.

SQL server tarafında tamamen birbirinden izole edilmiş durumda birden fazla MSSQL Database servisleri kurulabilir. Bunun birden fazla amaç veya yararı vardır. Database Engine Instances (SQL Server) – SQL Server | Microsoft Learn SQL Server kurulumunda default olarak kullanılan Instance Name “MSSQLSERVER” dır. “MSSQLSERVER” instance name ile SQL Server ortamına ip adresi yada hostname çağrılarak direk bağlantı kurulabilir. Fakat eğer Instance name farklı ise o zaman IP Adres/Instance name şeklinde çağrı yapmak gerekir. Hostaname/Instance Name.

Service Accounts : Bu aşamada sadece Always On yapısında SQL servislerinde kullanılması için oluşturduğumuz hesapları kullanıyoruz.

Collation : SQL Server’ da “Character Set” anlamına gelmektedir. Kullandığınız uygulamanın özellikle kullandığı bir Collation olabilir. Bu bilgiyi teyit edip sonra kuruluma devam edin.

Server Configuration : Mixed Mode seçerek ve sa (security admin) parolasını girerek devam edin. Add Current User ile Windows authentication kapsamında administrator kullanıcısını ekleyin.

Data Directories : Ben disklerimi aşağıdaki şekilde tanımladım. Buradaki amaç,

System database directory olarak kullanılan Master,Tempdb,Model,Msdb veritabanlarının tutulacağı dizini seçmeli

User database directory olarak kullanılan, kullanmış olduğunuz uygulamaların veritabanlarının (mdf) tutulacağı dizini seçmeli

User database log directory olarak kullanılan, kullanmış olduğunuz uygulamaların log dosyalarının (ldf) tutulacağı dizin seçilmeli

TempDb : SQL server işlemleri yapılırken geçici bilgileri tutmak için kullanılan veri tabanıdır. Kullandığınız uygulamaların boyutları büyük ve yüksek miktarlı sorgular ile veriler çekiliyor ise tempdb veri tabanının boyutlarının yükselmesi kaçınılmazdır. (Kullanıcının bir mizan raporu çekmesi ile nerede ise tüm veri tabanı dolmakta idi. Sorguya müdahale edip daha sonrasında tempdb sayısını arttırarak sorunu çözmek durumunda kaldım. )

MaxDOP : https://docs.microsoft.com/tr-tr/azure/azure-sql/database/configure-max-degree-of-parallelism adresinde konu ile alakalı bir paylaşım yapılmış.

Memory : Bu alanda daha önce Server Properties seçeneğini kullanarak yapmış olduğumuz Ram ayarlamasını yapabiliriz. Ben Recommended değerini kullanarak toplamda 16 GB Ram olarak gelen sunucu üzerinde 12800 GB değerinin SQL server servisi için kalan Ram değerinin ise Management için kullanmak istediğimden aşağıdaki gibi bir seçim yaptım.

FILESTREAM : https://docs.microsoft.com/en-us/sql/relational-databases/blob/filestream-sql-server?view=sql-server-ver15 adresinde mevcut bir paylaşım var.

En sonunda aşağıdaki gibi Install ekranına gelebildik. Install ile kuruluma başlayabiliriz.

SQL Server kurulumları başlığı altındaki işlemlerin hepsi clusterda kullanılacak olan diğer Alwayson Node sunucularda da yapılması gereklidir.

6. Always On Konfigürasyonu

“SQL Server Configuration Manager” menüsü üzerinde “SQL Server (MSSQLSERVER)” servisi üzerine çift tıklayalım yada sağ tıklayıp properties seçeneğini seçelim. Akabinde “Always On Availability Groups” tabı altındaki “Enable Always On Availability Groups” seçeneğini işaretleyerek Apply-OK ile işlemi tamamlayalım. İlgili servisi Restart edelim ve sunucumuz hazır hale gelsin. Bu işlemi tüm Always On Node sunucularda yapıyoruz.

“SQL Server Management Studio” ile SQL Server ortamına bağlantı yapalım. Aşağıdaki gibi “Always On High Availabilty” menüsüne sağ tıklayarak “New Availability Group Wizard” seçeneği ile ilk “Availability Group” alanımızı oluşturalım.

“Availability Group Name” olarak bir isim verelim. Ve altındaki “Database Level Health Detection” seçeneğini işaretleyelim.

Uygulamamızın veri tabanları burada görünecektir. İlgili veri tabanlarını seçip devam etmemiz gerekli. Ama öncesinde, Alwasy On üzerinde bulunacak her veri tabanı için o veri tabanı özelliklerinde bulunan Options – Recovery Model alanından “Full” seçeneğinin seçilmesi ve veri tabanı Full yedeğinin alınmış olması gereklidir.

Replicas : “Add Replica” butonu ile eklenecek olan replica node seçilmesi gerekli. Ben genelde Always On altında Primary olan sunucum için Write, Secondary olan sunucularım için ise Read seçimi devam ediyorum. Böylece kullandığımız uygulamalarımız raporlarını farklı sunuculardan çekerken Insert işlemleri Primary olan sunucuma geliyor.

Endpoints : EndPoint URL alanında, 1. seçenekte hazırladığımız Network kavramlarını kullanarak, HeardBead için kullanmak istediğimiz Network deki ilgili IP adresini seçip devam ediyoruz. Örnek olarak “TCP://172.16.17.100:5022” gibi. Ben aşağıdaki hostname ile bağlantı kuruyorum.

Backup Preferences : Backup önceliklerinin hangisi olacağını seçmemiz gerekli. Primary olan sunucular genelde yoğun ve performans üzere olması gerektiğinden öncelikli olarak Prefer Secondary seçeneği ile devam edelim.

Listener : SQL Server kullanacak olan kullanıcıların uygulamalarında yada sql server erişimlerinde kullanmaları için oluşturulan bir ön ektir. SQL server IP adresi yada hostname kullanılmadan daha kolay yada ortak bir isimle SQL server erişimlerinin yapılması sağlanır.

Always On Node sunucular arasında veritabanlarının senkronizasyonunun nasıl yapılacağını seçiyoruz.

7. Testler ve Son görünüş

Always On ortamının sağlık durumunu kontrol etmek için ise Always On üzerinde sağ tıklayarak “Show Dashboard” seçeneğini seçip ortamımızın kontrolünü yapabiliriz.

Always On konusu ile alakalı da bilgi vermeye çalıştım. Umarım faydalı olur.

Author: idelibalta

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir