SQL Failover Cluster with AlwaysOn Availability Groups

SQL Failover Cluster with AlwaysOn Availability Groups

Η ιδέα είναι να έχουμε ένα SQL Flailover Cluster στο Primary Site και στο υπάρχον Cluster να προσθέσουμε ένα AlwaysOn Availability group για το DR. Λόγο του μεγέθους της υλοποίησης θα γίνει τρία Posts. Ένα το Failover Cluster, ένα η εγκατάσταση της SQL σε Failover Clster και ένα η υλοποίηση του AlwaysON Availability Groups.

  1. Windows Server 2012 R2 Failover Cluster with FreeNAS 9.3
  2. Microsoft SQL 2012 on Failover Cluster
  3. Add AlwaysOn AG to SQL Failover Cluster Instance

Windows Server 2012 R2 Failover Cluster with FreeNAS 9.3

Ξεκίνησα φτιάχνοντας ένα VM FreeNAS για να μπορέσω να έχω με όσα λιγότερα resources ένα ISCSI Storage. Το FreeNAS θέλει 2GB Ram για την εγκατάσταση και το initial setup αλλά μετά το κατεβάζω σε 512MB Ram, έτσι κι αλλιώς οι απαιτήσεις μου θα είναι ελάχιστες. Δεν θα μείνω σε λεπτομέρειες για την εγκατάσταση του FreeNAS, κατεβάζουμε το ISO από το http://www.freenas.org/download/ και φτιάχνουμε ένα VM. Κάνουμε boot από το ISO και ακολουθούμε τον Wizard όπου διαλέγουμε δίσκο εγκατάστασης και δίνουμε root password. Τέλος αφού ανοίξει έχουμε 14 επιλογές, διαλέγουμε την 1 και ρυθμίζουμε το δίκτυο. Για το lab έδωσα 192.168.193.152/24
Αφού ρυθμίσουμε το δίκτυο επιστρέφουμε στις επιλογές μόνο που πλέον μας ενημερώνει για την διεύθυνση του web interface, όπως στην εικόνα:

SQLlab (2)

Πριν κάνω login στο web interface έχω ήδη φτιάξει 2 δίσκους στο FreeNAS VM ώστε να αναλάβει ο wizard να φτιάξει volumes κλπ, αν και είναι πολύ απλό να τα κάνεις και manual στο FreNAS.
Κάνω login στο FreeNAS web interface και ακολουθώ τον wizard. Δίνω pool name

SQLlab (4)

Δίνω share name και διαλέγω iSCSI

SQLlab (5)

Και αφού τελειώσει ο wizard έχουμε έτοιμο το iscsi target.

Στη συνέχεια χρειαζόμαστε ένα Domain Controller. Μιας που μιλάμε για low resources lab, έφτιαξα ένα VM με 512 MB Ram και 1 CPU και έβαλα Windows Server 2012 r2 Core. Με sconfig.cmd ανοίγουμε τις επιλογές και δίνουμε computer name, IP κλπ

sqllab1

Και στη συνέχεια με powershell τον κάνουμε Domain Controller. Πρώτα βάζουμε domain services και management tools και στη συνέχεια τον προμοτάρουμε σε domain controller και DNS.

Install-WindowsFeature AD-Domain-Services –IncludeManagementTools
Install-ADDSForest -DomainName "sqllab.int " -DomainNetbiosName "SQLLAB" -DomainMode Win2012R2 -ForestMode Win2012R2 -InstallDns –Force

Έτοιμος και ο Domain Contoller. Πάμε για τα Cluster Nodes. Έχω φτιάξει ένα VM με 2GB Ram, 2 CPUs, 2 NICs & Windows Server 2012 R2. Sysprep και multiply και μπαμ έχουμε 3 όμορφα VMs.
Μια λεπτομέρεια, επειδή θα χρειαστούμε σε όλα τα VMs Failover Cluster και επίσης η SQL 2012 θέλει .NetFramework 3.5, στο template VM βάζουμε και αυτά.

Ξεκινάμε το Failover Cluster για να βάλουμε SQL.
Ανοίγουμε το πρώτο VM, rename, στο lab το ονόμασα Win2012R201 (πρωτότυπο ε?) και κάνουμε join στο domain.
Δίνουμε στην μια NIC μια IP που θα βλέπει το Domain και το FreeNAS και στην άλλη NIC ένα διαφορετικό subnet που θα βλέπει μόνο το άλλο Node. Για ευκολία έχω κάνει rename την μια κάρτα Domain με IP 192.168.193.153 και την άλλη Heartbeat με IP 172.16.5.1

SQLlab (1)

Στη συνέχεια ενεργοποιούμε το iscsi initiator από administrator tools και προσθέτουμε το iscsi target δίνοντας την IP του FreeNAS και πατώντας quick connect και μετά Connect και διαλέγουμε και το Multi path. Μετά στο Volumes and Devices tab πατάμε Auto Configure. Τέλος στο Device manager κάνουμε initialize τον δίσκο, format και του δίνουμε ένα γράμμα. Για test φτιάχνουμε ένα text αρχείο στο δίσκο.

SQLlab (7)

SQLlab (6)

SQLlab (8)

Το ίδιο κάνουμε και στο δεύτερο VM. Για να σιγουρευτούμε ότι και οι δύο μπορούν να γράψουν στον ίδιο δίσκο δημιουργούμε και εδώ ένα αρχείο. Σαν αποτέλεσμα πρέπει να έχουμε και τα 2 αρχεία.

SQLlab (10)

Ανοίγουμε το Failover Cluster Manager από τα Administrative Tools και πρώτα τρέχουμε το Validate Configuration, διαλέγουμε και τους 2 member servers που ετοιμάσαμε με το iscsi και τρέχουμε το test.

SQLlab (11)

Μόλις τελειώσει το validation κοιτάμε να μην έχει errors ή warnings και αν έχει τα διορθώνουμε και τον ξανατρέχουμε. Τέλος όταν έχει ολοκληρωθεί επιτυχώς, όπως στην εικόνα, το “create the cluster now using the validated nodes” είναι επιλεγμένο και πατώντας finish ανοίγει ο Create Cluster Wizard.
Δίνουμε Cluster Name και IP

SQLlab (12)

Το αφήνουμε να προσθέσει όλο το διαθέσιμο storage και πατάμε next για να δημιουργηθεί το cluster

SQLlab (13)

Αν ο cluster validator είχε τελειώσει επιτυχώς τότε και το cluster θα δημιουργηθεί επιτυχώς

SQLlab (15)

Και voila έχουμε ένα όμορφο cluster

SQLlab (14)

Μπορείτε να δείτε ότι το cluster network 1 είναι cluster only και έχει το subnet που δώσαμε για heartbeat και το cluster network 2 που είναι cluster and client έχει το domain subnet

SQLlab (16)

Συνέχεια στο επόμενο post Microsoft SQL 2012 on Failover Cluster

 

Share

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.