Search the Community
Showing results for tags 'cluster'.
-
Φοβερό post σχετικά με τη διαχείριση του cluster με powershell. http://powershelldistrict.com/failover-clustering-powershell/ How to get all the nodes of a cluster using PowerShell? Import-Module FailoverCluster -Force $Cluster = get-cluster -name $env:computername How to get All the VM’s present on a node from HyperV failover cluster with powershell? $Nodes = Get-ClusterNode -Cluster $Cluster.Name write-log "Cluster $($Cluster.Name) contains $($Nodes.count) nodes." foreach ($node in $nodes){ Write-Log "Cluster Node $($Cluster.Name) contains the following VMs" $Vms = get-vm -ComputerName $Node.Name Foreach ($Vm in $Vms){ write-Log "$Vm.Name" } } How to get the VM state on a failover cluster using powershell write-log "Starting state changes operations on node: $($node.Name)" Foreach ($vm in $VMs){ if ($vm.Name -like $DataServerName){ write-log "The DATA server $($vm.Name) is skipped until all machines have been saved or are stopped." }else{ switch ($vm.state){ "Running"{ write-log "Saving VM $($VM.name) state." try{ Save-VM -ComputerName $Node.Name -Name $vm.name -ErrorAction Stop write-log "--> Successfully saved" }catch{ write-log $_ } } "Stopped"{ write-log "The VM $($VM.name) is already in stoped state. No action done." "Saved"{ write-log "The VM $($VM.name) is already in saved state." } default{ Write-log "The current state $($vm.state) could not be defined. Skipping VM." continue } }#End switch }#End If *data* }#End foreach VM Failover clustering: How to stop a cluster resource (the Quorum) using PowerShell? ##Quorum operations write-log "Starting Quorum operations" $Quorum = Get-ClusterQuorum -ErrorAction stop write-log "Attempting to set Quorum $($Quorum.QuorumResource) offline." Stop-ClusterResource -Name $Quorum.QuorumResource.name Failover clustering: How to set Clustered share volumes in maintenance mode using Powershel ##Cluster shared volume operations write-log "Starting operations: Setting cluster share volumes into maintenance mode." $CSVs = Get-ClusterSharedVolume -Cluster $Cluster write-log "There are $($CSVs.count) clustershared volumes identified on $($Cluster)." foreach ($csv in $CSVs){ try{ if (!($csv.name -eq $Quorum.QuorumResource.name)){ Suspend-ClusterResource -Name $csv.name -force -ErrorAction stop | Out-Null write-log "Successfully set clusterSharedVolume $($csv.name) into maintenance mode." } }catch{ write-log $_ } } Failover clustering: How to stop a cluster resource using powershell? ##Cluster operations $ClusterNodeToshutdown = Get-ClusterNode | where {$_.name -ne $env:COMPUTERNAME} write-log "Attempting to stop the cluster $($Cluster.Name)." Stop-Cluster -Cluster $Cluster.Name -Force -ErrorAction stop write-log "The cluster resource $($Cluster.Name) has been successfully stopped." Failover clustering: How to stop a cluster node using powershell? $ClusterNodeToshutdown = Get-ClusterNode | where {$_.name -ne $env:COMPUTERNAME} ##Shutting down other cluster Node write-log "Attempting to shutdown the cluster node $($ClusterNodeToshutdown.Name)." Stop-Computer -ComputerName $ClusterNodeToshutdown.name -Force ΝΚ
-
Add AlwaysOn AG to SQL Failover Cluster Instance (Page 3)
proximagr posted a blog entry in Apostolidis Cloud Corner
SQL Failover Cluster with AlwaysOn Availability Groups Πάμε τώρα για το τελευταίο κομμάτι του lab, να προσθέσουμε AlwaysOn Availability Group στο υπάρχον SQL WSFC. Windows Server 2012 R2 Failover Cluster with FreeNAS 9.3 (Page 1, Page 2) Microsoft SQL 2012 on Failover Cluster (Page 1, Page 2, Page 3) Add AlwaysOn AG to SQL Failover Cluster Instance (Page 1, Page 2, Page 3) Add AlwaysOn AG to SQL Failover Cluster Instance (Page 3) Στην καρτέλα validation αγνοούμε το warning για τον Listener, θα τον δημιουργήσουμε μετά Και πατάμε Finish για να δημιουργήσει το Group Σε αυτό το σημείο μπορούμε να δημιουργήσουμε Listener. Σε μια εγκατάσταση που όλα τα SQL Instances είναι single ένας Listener χρησιμεύει για common name, ώστε να οδηγεί κάθε φορά τις εφαρμογές στο σωστό server. Στην περίπτωση όμως που το ένα ή περισσότερα instances είναι clustered δεν λειτουργεί ο Listener. Μπορούμε και πάλι να δημιουργήσουμε τον Listener αλλά σε περίπτωση που χαθούν τα δύο πρώτα και βασικά Nodes του Cluster τότε ο μόνος τρόπος για να γίνει access η SQL είναι με το instance name του τρίτου Node, στην περίπτωση του lab είναι Win2012R203\MSSQLAG. Εδώ πρέπει να τονίσουμε ότι εφόσον δεν υπάρχει Listener και Automatic Failover για να γίνει access η SQL σε περίπτωση που χάσουμε το SQL Failover Cluster Instance πρέπει να γίνει Manual Failover στο Availability Group μέσο του SQL Management Studio, όπως είπαμε και κατά τη δημιουργία. Τέλος να πούμε ότι η διαχείριση του Failover Cluster SQL Instance γίνετε μέσω του Windows Server Failover Cluster Manager, όπως π.χ. το manual failover, όπως είδαμε και στο προηγούμενο post. Ενώ η διαχείριση του AlwaysOn High Availability γίνετε από το SQL Management Studio. Πηγή http://www.e-apostolidis.gr/%ce%b5%ce%bb%ce%bb%ce%b7%ce%bd%ce%b9%ce%ba%ce%ac/add-alwayson-ag-to-sql-failover-cluster-instance/ -
Add AlwaysOn AG to SQL Failover Cluster Instance (Page 2)
proximagr posted a blog entry in Apostolidis Cloud Corner
SQL Failover Cluster with AlwaysOn Availability Groups Πάμε τώρα για το τελευταίο κομμάτι του lab, να προσθέσουμε AlwaysOn Availability Group στο υπάρχον SQL WSFC. Windows Server 2012 R2 Failover Cluster with FreeNAS 9.3 (Page 1, Page 2) Microsoft SQL 2012 on Failover Cluster (Page 1, Page 2, Page 3) Add AlwaysOn AG to SQL Failover Cluster Instance (Page 1, Page 2, Page 3) Add AlwaysOn AG to SQL Failover Cluster Instance (Page 2) Επίσης σε αυτό το σημείο να αναφέρω ότι επειδή χρησιμοποιούμε ένα Named instance, κάθε φορά που ξεκινάει το SQL Server service καταχωρεί ένα SPN record το οποίο χρειάζεται για να μπορέσουν οι εφαρμογές να κάνουν authenticate με τον SQL Server. Για να μπορέσει να γίνει αυτό πρέπει το account που τρέχει το SQL Server service να έχει δικαίωμα να διαβάζει και να γράφει serviceprinipalnames στο Active Directory. Στο lab χρησιμοποίησα Domain Admin account οπότε το SPN καταχωρείται σωστά. Μπορούμε πλέον να ξεκινήσουμε την διαδικασία να βάλουμε την βάση μας σε AlwaysOn Availability Group. Από το active node του WSFC ανοίγουμε το SQL Management Studio και συνδεόμαστε στο SCL Cluster Instance, στο LAB “SQLFCI”. Πρώτα κάνουμε ένα backup την βάση μας, μιας που είναι προαπαιτούμενο για να προχωρήσουμε. Παίρνουμε το backup και το κάνουμε restore στο τρίτο Node, Win2012R203 στο lab αλλά προσοχή, επιλέγουμε στο restore Options / Recovery state / RESTORE WITH NORECOVERY Αφού ολοκληρωθεί το restore η βάση θα πρέπει να έχει δημιουργηθεί και να είναι σε (Restoring…) Μετά πηγαίνουμε στο πρώτο Node, Win2012R201 στο lab, SQL Management Studio, στο “AlwaysOn High Availability” και με δεξί click στο Availability Groups πατάμε “New Availability Group Wizard…” Ανοίγει ο Wizard και μετά το πρώτο next δίνουμε Availability group name Στο επόμενο βήμα επιλέγουμε την βάση που θέλουμε να βάλουμε σε Availability Group Στο επόμενο βήμα πρέπει να ορίσουμε replicas. Έχει ήδη το SQFCI, και μάλιστα μας ενημερώνει ότι επειδή είναι Failover Cluster Instance δεν υποστηρίζει automatic failover. Αυτό σημαίνει ότι όταν χάσουμε όλο το Cluster (SQL Cluster Instance) θα πρέπει να πάμε στο τρίτο Node (Win2012R203 στο lab) στο SQL management studio / AlwaysON High Availability / Availability Groups / και με δεξί click πάνω στο “AG Aname” κάνουμε manual failover. Κάνουμε connect στο τρίτο Node, Win2012R203\MSSQLAG Αφού προστεθεί και ο Win2012R203, επιλέγουμε Readable Secondary και ανάλογα την χρήση επιλέγουμε Synchronous ή όχι Commit. Όπως είπα και στην αρχή του πρώτου Post, “Η ιδέα είναι να έχουμε ένα SQL Flailover Cluster στο Primary Site και στο υπάρχον Cluster να προσθέσουμε ένα AlwaysOn Availability group για το DR” η χρήση του Availability Group είναι για DR Site για να αποφύγουμε latency στο Commit το αφήνουμε unchecked. Έτσι θα έχουμε asynchronous commit και θα αποφύγουμε το latency με ένα “φόβο” για Data Loss τη στιγμή που θα χρειαστεί Failover. Τέλος πατάμε Next. Στην επόμενη καρτέλα επιλέγουμε το «Join only” αφού έχουμε κάνει ήδη restore την βάση, και πατάμε Next Συνέχεια στην επόμενη σελίδα Πηγή http://www.e-apostolidis.gr/%ce%b5%ce%bb%ce%bb%ce%b7%ce%bd%ce%b9%ce%ba%ce%ac/add-alwayson-ag-to-sql-failover-cluster-instance/