sqlschool.gr logo

articles

Articles of SQLschool.gr Team

A-Z Guide of Installing SQL Server 2012 AlwaysOn Availability groups with Windows Server 2012

Antonios Chatzipavlis
Wednesday 09 January 2013

Στο post αυτό θα σας δείξω βήμα – βήμα το πως μπορείτε να εγκαταστήσετε SQL Server 2012 AlwaysOn Availability groups στoν Windows Server 2012. Ο οδηγός αυτός χωρίζεται στα παρακάτω τμήματα για την ευκολία σας μιας και το συγκεκριμένο post είναι μακροσκελές

 

 

Failover Cluster Feature Installation Steps

Πριν ξεκινήσουμε την εγκατάσταση του WSFC θα πρέπει να έχουμε ένα domain controller και το κάθε μηχάνημα στο οποίο προτιθέμεθα να το κάνουμε μέρος του cluster θα πρέπει να είναι join σε αυτό. Επίσης κάθε μηχάνημα που θα συμμετέχει στο cluster που θα δημιουργήσουμε καλό θα είναι να έχει δύο NIC με την πρώτη φυσικά να είναι στο ίδιο subnet που είναι το domain μας και η δεύτερη σε ένα άλλο ώστε να εξυπηρετήσει την internal επικοινωνία του cluster μας.
Στην περίπτωση του lab αυτού υπάρχει ήδη ένα domain (LIONKING.COM) και ο DC (MUFASA) είναι ήδη δημιουργημένος και έχει την ip (10.1.1.1/255.255.255.0) Επίσης ήδη έχουν δημιουργηθεί τρεις μηχανές με δύο κάρτες δικτύου σε κάθε μια, όπου η πρώτη είναι για το domain και η δεύτερη για την επικοινωνία του cluster. Οι μηχανές αυτές είναι
SCAR
IP1 10.1.1.10/255.255.255.0
IP2 11.1.1.1/255.255.255.0
BANZAI
IP1 10.1.1.11/255.255.255.0
IP2 11.1.1.2/255.255.255.0
SHENZI
IP1 10.1.1.10/255.255.255.0
IP2 11.1.1.1/255.255.255.0

ΟΛΟΙ ΟΙ SERVERS ΕΧΟΥΝ ΓΙΝΕΙ UPDATE ΚΑΙ ΕΙΝΑΙ ΣΤΟ ΙΔΙΟ ΕΠΙΠΕΔΟ ΕΝΗΜΕΡΩΣΗΣ.
ha
Εφόσον έχουμε όλες τις παραπάνω προϋποθέσεις πάμε σε desktop mode και ανοίγουμε τον Server Manager.
Την συγκεκριμένη εργασία θα πρέπει να την επαναλάβουμε σε κάθε μηχανή που θέλουμε να συμμετέχει στον cluster μας.
Σε όλες έχει γίνει εγκατάσταση του SQL Server 2012 Enterprise Edition και έχουν γίνει εγκατάσταση όλα τα τελευταία updates σε αυτόν SP1 και latest CUs.
Στο SCAR Server έχουν δημιουργηθεί τρεις databases (db1, db2, db3) με σκοπό να δείξουμε ότι μένα availability group μπορώ να εξυπηρετήσω περισσότερες databases.
Επίσης σε όλες τις μηχανές τα services του SQL Server (SQL Service & SQL Agent Services) έχουν ξεκινήσει με domain account. Φυσικά μπορούν έχουν ξεκινήσει με οτιδήποτε υποστηρίζεται απλά θα πρέπει να γίνουν κάποια επιπλέον βήματα που αφορούν θέματα πρόσβασης των διαφόρων components που θα εμπλακούν στην διαδικασία  και θα αναφερθούν παρακάτω. Παρόλα αυτά όμως  είναι recommendend να γίνεται χρήση domain accounts για τα services του SQL Server
ha
Αφού έχει ανοίξει ο Server Manager από το Dashboard επιλέγουμε Quick Start και την επιλογή 2 (Add roles and features) ha
Με την επιλογή μας αυτή θα μας εμφανιστεί το παράθυρο με το οποίο ξεκινάει ο Add Roles and Features Wizard. Σε αυτόν πατάμε απλά Next ha
Στο επόμενο βήμα επιλέγουμε Role-based or feature-based installation και πατάμε Next ha
Επιλέγουμε τον Server που είμαστε και πατάμε Next ha
Μιας και δεν έχουμε να εγκαταστήσουμε κάποιον ρόλο πατάμε Next για να πάμε στο επόμενο βήμα ha
Επιλέγουμε από τα διαθέσιμα features το Failover Clustering ha
Με την προηγούμενη επιλογή μας εμφανίζεται ένα παράθυρο το οποίο μας λέει για τα απαιτούμενα του WSFC στο οποίο πατάμε Add Features ha
Το επόμενο βήμα μας είναι απλά να επιβεβαιώσουμε ότι θέλουμε να προχωρήσουμε με την εγκατάσταση του WSFC και το κάνουμε αυτό πατώντας το Install ha
Περιμένουμε μέχρι να ολοκληρωθεί η συγκεκριμένη διαδικασία. Να σημειώσω για ακόμα μια φορά ότι αυτή θα πρέπει αν την κάνουμε σε κάθε μηχανή η οποία θέλουμε να συμμετέχει στο cluster που θα δημιουργήσουμε στο επόμενο βήμα. ha

Failover Cluster Creation Steps

Αφού έχουμε τελειώσει την εγκατάσταση του feature σε όλες τις μηχανές σε μια από αυτές είτε μέσα από τον Server Manager (όπως φαίνεται στην εικόνα) είτε από τα Administrative Tools επιλέγουμε τον Failover Cluster Manager ha
Στο Failover Cluster Manager καλό είναι πριν δημιουργήσουμε το Cluster μας είναι να κάνουμε ένα configuration validation με σκοπό να εντοπίσουμε τυχόν θέματα που πρέπει να επιλυθούν και μιλάω και για errors αλλά και warnings. Αυτό μπορεί να γίνει με την επιλογή Validate Configuration. Αφού όλα είναι εντάξει τότε είμαστε σε θέση να προχωρήσουμε στην δημιουργία του cluster μας. ha
Για να δημιουργήσουμε το cluster μας αρκεί να πατήσουμε την επιλογή Create Cluster και να τότε θα ξεκινήσει ο wizard ο οποίος θα μας βοηθήσει στην δημιουργία του. ha
Το πρώτο βήμα του wizard είναι ενημερωτικού χαρακτήρα για το τι θα ακολουθήσει αλλά καλό είναι όπως πάντα να διαβάζουμε τι μας λέει ώστε να προλάβουμε τυχόν εκπλήξεις στην συνέχεια. Για να συνεχίσουμε πατάμε Next. ha
Στο βήμα αυτό μας ζητάει να του δώσουμε του server που θα αποτελούν το cluster μας, ha
Αυτό μπορούμε να το κάνουμε είτε γράφοντας τα ονόματα αυτών είτε κάνοντας Browse και επιλέγοντας αυτούς από το Active directory. ha
  ha
  ha
Αφού έχουμε κάνει τις επιλογές μας στους servers που θα αποτελούν το cluster μας το επόμενο βήμα είναι να ελέγξουμε το configuration μας. Αυτή η διαδικασία μπορεί να την αποφύγουμε όμως καλό είναι πάντα να την κάνουμε. Πατάμε Next για να συνεχίσουμε ha
Έχοντας επιλέξει να γίνει το cluster configuration validation μας ενημερώνει ο wizard σχετικά και πατάμε Next για ν συνεχίσουμε. ha
Καλό είναι να τρέξουμε όλα τα test αλλά μπορούμε στην περίπτωση μας να επιλέξουμε και την άλλη επιλογή.
Στην περίπτωση μας δεν έχουμε SAN και θα μας βγάλει warning, αλλά δεν έχουμε πρόβλημα.
Πατάμε Next για συνέχεια
ha
Ζητάει επιβεβαίωση και μας ενημερώνει για το τι πρόκειται να κάνει σε ελέγχους. Για να συνεχίσουμε πατάμε Next. ha
Περιμένουμε μέχρι να κάνει του ελέγχους του ha
Αφού αυτοί ολοκληρωθούν μας βγάζει ένα Summary Report το οποίο καλό είναι να το δούμε διεξοδικά και αυτό μπορεί να γίνει πατώντας το View Report και αφού δεν έχουμε κάποιο θέμα που πρέπει να λυθεί πατάμε Finish. ha
Το επόμενο βήμα είναι που μας ζητάει πως θα ονομαστεί το cluster και αφού δώσουμε το επιθυμητό όνομα πατάμε Next ha
Επίσης θα πρέπει να δώσουμε την IP με την οποία θα είναι accessible το cluster μας ha
Τέλος μας δίνει ένα summary και ζητά επιβεβαίωση για την δημιουργία του cluster. Πατάμε Next για συνέχεια. ha
Και περιμένουμε μέχρι να ολοκληρωθεί η δημιουργία του cluster. ha
Αυτό θα γίνει όταν πλέον μας εμφανιστεί το παράθυρο με το οποίο μας ενημερώνει αν όλα πήγαν καλά και στο οποίο μπορούμε πατώντας το View Report button να δούμε αναλυτικότερα στοιχεία για το cluster μας. Προσωπικά πάντα αποθηκεύω αυτό το report γιατί να γνωρίζω τι ακριβώς έχω κάνει. Πατάμε Finish για να τελειώσει η διαδικασία. ha

Enable SQL Server to Supports AlwaysOn HA

Αφού έχουμε ολοκληρώσει την δημιουργία του cluster και έχουμε βεβαιωθεί ότι όλα γύρω από αυτό είναι εντάξει (δεν έχω errors, warrings στα logs) το επόμενο βήμα είναι να ενεργοποιηθεί η υποστήριξη του Always On ΗΑ. Αυτό για να γίνει θα πρέπει σε κάθε server που συμμετέχει στο cluster και στον οποίο φυσικά έχω εγκαταστήσει τον SQL Server 2012 μέσω του SQL Server Configuration Manager Tool να πάω στα services και επιλέξω το service του SQL Server ha
Με δεξί κλικ επιλέγω Properties ha
Στο παράθυρο που θα εμφανιστεί με τα SQL Server Properties επιλέγω το AlwaysOn High Availability tab και εκεί γράφω το όνομα του Cluster και ενεργοποιώ το Enable AlwaysOn Availability Groups. Πατώντας Apply ή ΟΚ θα με ενημερώσει ότι θα πρέπει να κάνω restart το SQL Service για να ισχύσουν οι αλλαγές το οποίο και φυσικά πρέπει να γίνει. ha

Availability Groups Creation Steps

Αφού έχουμε ολοκληρώσει με επιτυχία όλα τα προηγούμενα βήμα και έχουμε ελέγξει ότι όλα τα προαπαιτούμενα τα οποία αναφέρονται στα Prerequisites, Restrictions, and Recommendations for AlwaysOn Availability Groups τα έχουμε. Είμαστε σε θέση πλέον να προχωρήσουμε στην υλοποίηση ενός ή περισσότερων AlwaysOn Availability Groups. ha
Για να φτιάξουμε ένα Availability Group (AG) πάμε στο SQL Server που έχουμε την database ή τις databases που θα πρόκειται να εντάξουμε στο AG μέσω του SQL Server Management Studio (SSMS) επιλέγουμε από τον Object Exproler τον SQL Server και σε αυτόν επιλέγουμε το AlwaysOn High Availability στο οποίο κάνουμε δεξί κλικ και από εκεί επιλέγουμε την δημιουργία AG μέσω του wizard. Μας εμφανίζεται το παράθυρο που φαίνεται στην δεξιά και στο οποίο αφού διαβάσουμε το τι λέει παντάμε Next για να συνεχίσουμε. ha
Το επόμενο βήμα είναι να βαφτίσουμε το AG. Δίνουμε το επιθυμητό όνομα και πατάμε Next. ha
Επόμενο βήμα είναι να επιλέξουμε τις databases που θα έχουμε στο AG. Αυτές θα πρέπει να είναι σε Full Recovery και να έχουν πάρει έστω και μια φορά σε κάθε μια ένα full back. Στην περίπτωση που δεν έχουμε πάρει full backup θα εμφανιστεί η εικόνα δεξιά. ha
Αφού πάρουμε full backup και πατήσουμε το Refresh button θα δούμε ότι πλέον έχουμε τα προαπαιτούμενα να συνεχίσουμε διαλέγοντας αυτές και πατώντας Next. ha
Επόμενο βήμα είναι να ορίσουμε τους servers σους οποίους θα γίνουν οι replicas. Προσθέτουμε replicas (μια κάθε φορά) πατώντας το Add Replica button. ha
Αφού έχουμε ορίσει τους servers που θα έχουν τις replicas μπορούμε να επιλέξουμε αν θα είναι automatic failover, αν θα είναι sync / async commit και αν θα είναι readable (πχ για reporting) Αφού όλα αυτά έχουν ορισθεί πατάμε Next. ha
Επόμενο βήμα είναι να ορίσουμε τα endpoints με τα οποία θα γίνει η επικοινωνία των replicas. Μπορούμε να ορίσουμε αυτά σε ποιο port θα μιλάνε. Αν έχω ξεχωριστές μηχανές αυτό μπορεί να είναι το ίδιο σε όλους (όπως φαίνεται στη εικόνα) αν είμαστε με named instances θα πρέπει να είναι διαφορετικά στο κάθε instance που εμπλέκετε. Επίσης σκόπιμο είναι αυτό το port να περνάει από το firewall για αυτό θα πρέπει να γίνουν οι απαραίτητες εγγραφές που να επιτρέπουν την επικοινωνία αυτή στο firewall. ha
Επόμενο βήμα είναι να ορίσουμε ένα από τα ομορφότερα χαρακτηριστικά των AG και δεν είναι άλλο από τη δυνατότητα να εκτελούνται τα backups από κάποια από τις replicas πράγμα που σημαίνει ότι αποφορτίζουμε σε εργασίες τον primary server. Σε αυτό μπορούμε να ορίσουμε το πως ακριβώς θέλουμε να γίνεται αυτό. ha
Από τα πράγματα που είναι πλέον ξεκάθαρα και δεν χρειάζεται να γίνει τίποτα επιπλέον σε σχέση πάντα με το τι χρειάζονταν να γίνει με το database mirroring είναι ότι στο developer το μόνο που χρειάζεται να δώσεις είναι listener (όνομα και πόρτα) και τίποτα άλλο όπως για παράδειγμα τον failover partner που χρειάζονταν να του δώσεις στο database mirroring και το οποίο έπρεπε να βάλει στο connection string ώστε να έχουμε automatic failover. Σε αυτό το σημείο λοιπόν ορίσουμε το listener με τον οποίο θα γίνεται η επικοινωνία από τις εφαρμογές με το συγκεκριμένο AG. ha
Τελευταίο βήμα πριν ξεκινήσει η διαδικασία είναι να ορίσουμε κάποια πράγματα ανάλογα με το τι έχουμε κάνει πριν. Αν για παράδειγμα δεν έχουνε κάνει τίποτα δηλαδή απλά έχουμε τις βάσεις μας στο αρχικό μας server και ξεκινήσαμε την διαδικασία τότε πρέπει να επιλέξουμε full και να ορίσουμε ένα share folder στον οποίο να έχει δικαιώματα το account με το οποίο ξεκινάει το SQL Server service και στο οποίο θα τοποθετηθούν τα απαραίτητα backups που θα παρθούν αυτόματα από την διαδικασία και θα γίνουν restore στους αντίστοιχους replica servers. Εάν αυτό το έχουμε κάνει ήδη τότε οι επόμενες επιλογές είναι κατάλληλες ανάλογα με το τι ήδη έχουμε κάνει και φυσικά το τι θέλουμε να κάνουμε. ha
Έχοντας πλέον ολοκληρώσει την φάση της διαδικασίας που αφορά τους ορισμούς των παραμέτρων αυτής το επόμενο βήμα είναι να κάνουμε validation. Αυτό μπορεί να γίνει πατώντας το αντίστοιχο button και δεν προχωράμε παρακάτω αν όλα δεν είναι εντάξει. ha
Το επόμενο βήμα είναι το Summary. Aξίζει να αναφερθούμε σε αυτό καθώς εδώ υπάρχει το Script button το οποίο μας βγάλει όλο το T-SQL κώδικα της διαδικασίας. Ακόμα στο σημείο αυτό μπορούμε να πατήσουμε Finish και να ξεκινήσει η δημιουργία του AG ή να πατήσουμε Cancel και εφόσον έχουμε βγάλει το script να εκτελέσουμε αυτή μέσω του script. ha
Ένα έχουν στο προηγούμενο βήμα πατήσει Finish σε αυτό βλέπουμε την εξέλιξη της διαδικασίας και μπορούμε να δούμε αναλυτικά το τι κάνει αν πατήσουμε more details ha
Εφόσον όλα έχουν πάει κατ’ ευχή θα δούμε την ολοκλήρωση της διαδικασία και το μόνο που χρειάζεται είναι να κάνουμε close. ha
Μπορούμε πλέον μέσα από τον SSMS να πάμε στο AlwaysOn High Availability > Availability Groups στο οποίο θα βρούμε αυτό που έχουμε φτιάξει. Κάνοντας δεξί κλικ πάνω σε αυτό επιλέγουμε να δούμε το dashboard με το οποίο μπορούμε να κάνουμε monitor σε πρώτη φάση το AG. ha

Antonios Chatzipavlis

Antonios Chatzipavlis

Antonios is a Data Solutions Consultant and Trainer. He has been working in IT since 1988. In his career, he has worked as senior developer, IT Manager, Solutions Architect and IT Consultant. Since 1995 he has been devoted on new technologies and software development tools, mainly by Microsoft, either by training company staff and colleagues or assisting them in design, development and implementation as a consultant or chief developer. He has focused in Databases and Data Science since 1995. He specialized in Microsoft SQL Server since version 6.0 in areas like SQL Server Internals, Database Design and Development, Business Intelligence and in 2010 he has started working with Azure Data Platform, NoSQL databases, Big Data Technologies and Machine Learning. He is an active member of many IT communities in Greece, answering colleagues' questions and writing articles in his web site. He is the owner of SQLschool.gr which is a community portal with a lot of information about Microsoft SQL Server. He has been a Microsoft Certified Trainer (MCT) since 2000. Microsoft honored him as MVP on Data Platform due to his activities in SQL Server since 2010. He holds a large number of Microsoft Certifications and Microsoft SQL Server Certifications since version 6.5.

Tip

What's New in SQL Server 2022 - Episodes

More Tips...

Become a member

If you want to receive updates from us become a member to our community.

Connect

Explore

Learn


sqlschool.gr © 2010-2024 All rights reserved

This site uses cookies for operational and analytics purposes only. By continuing to browse this site, you agree to their use.