Nella Parte 1 di questa serie, ti ho mostrato come preparare il tuo cluster multi-sito, inclusa la configurazione del nodo e del quorum di maggioranza della condivisione di file. Nella Parte 2, abbiamo visto un esempio video di come integrare SteelEye DataKeeper, una delle soluzioni di replica cluster disponibili, con il clustering di failover per configurare un cluster di failover Hyper-V multi-sito. Nella parte 3, esamineremo come Microsoft SQL Server 2008 può essere configurato in un cluster multi-sito con Windows Server 2008 Failover Clustering e SteelEye DataKeeper Cluster Edition.
Innanzitutto, perché si desidera distribuire un cluster SQL server multi-sito? SQL Server è dotato di una varietà di opzioni ad alta disponibilità, tra cui log shipping, replica (transazionale, unione, snapshot), mirroring del database e cluster di failover. C’è un grande articolo che parla delle opzioni di alta disponibilità in SQL Server 2008, quindi non reinventerò la ruota qui. Se vuoi saperne di più su tutte le opzioni, dai un’occhiata a questo articolo di Ross Mistry, Opzioni ad alta disponibilità in SQL Server 2008.
Se leggete l’articolo, Ross’ di sintesi rende la seguente dichiarazione…
“Chiaramente, il clustering di failover è la scelta migliore per ridurre il tempo di inattività del sistema e fornire una maggiore disponibilità delle applicazioni per l’intera istanza di SQL Server all’interno di un sito; tuttavia, un cluster di failover non è una protezione contro guasto di un disco, e necessita di una SAN.”
Che cosa succede se si potrebbe avere tutti i vantaggi che Ross delinea e anche proteggere contro il guasto del disco ed eliminare la necessità di una SAN? Bene, la buona notizia è che è esattamente ciò che si può fare implementando un cluster multi-sito Microsoft SQL Server 2008 su Windows Server 2008. SQL Server 2008 multi-site cluster può essere un po ‘ di un termine improprio. Non ha necessariamente bisogno di essere distribuito in luoghi geograficamente dispersi. I server potrebbero essere situati nello stesso rack, stessa stanza, stesso edificio o in tutti i continenti; in realtà non importa. La cosa importante è che si sta eliminando lo storage come un singolo punto di errore e se si sceglie di individuare i nodi del cluster in diverse posizioni fisiche, si ha anche la resilienza del sito integrata.
Una delle domande più comuni e punti di confusione su SQL Server 2008 e Windows Server 2008 failover clustering è il supporto per il fallimento tra sottoreti. Sì, Windows Server 2008 Failover Clustering supporta l’errore tra sottoreti per la maggior parte delle applicazioni, tuttavia, SQL Server 2008 non è una di queste applicazioni. Per quanto ne so, SQL Server 2008 R2 non supporterà anche l’errore tra le sottoreti quando viene rilasciato. La mia comprensione è che il team SQL sta lavorando al supporto per il failover cross-subnet, ma sarà supportato qualche tempo dopo il rilascio di SQL Server 2008 R2. Quindi, per il momento, dovrai estendere la tua sottorete se desideri separare i tuoi nodi geograficamente.
Ora che hai deciso di distribuire un cluster SQL server multi-nodo, ecco i passaggi che dovrai seguire.
CONFIGURA IL TUO CLUSTER DI BASE
Segui i passaggi nella Parte 1 di questa serie per configurare un cluster di base a 2 nodi con un quorum di maggioranza di nodi e file.
CONFIGURA LA REPLICA
La distribuzione di un cluster multi-sito richiede una stretta collaborazione con il fornitore della replica durante questa parte della configurazione. Ogni fornitore avrà istruzioni molto specifiche su come impostare la replica e creare le risorse di archiviazione da utilizzare nel cluster. Ai fini di questa dimostrazione, userò SteelEye DataKeeper Cluster Edition per replicare l’unità E dal server denominato PRIMARIO al server denominato SECONDARIO. L’unità E su PRIMARIA e SECONDARIA sono solo volumi collegati locali e non fanno parte di alcuna SAN. Finché l’unità E si presenta come un disco collegato locale, DataKeeper può replicarlo da un server all’altro. È possibile combinare SAS, SASsi, SAN, VHD o qualsiasi altro tipo di archiviazione in quanto DataKeeper è indipendente dallo storage.
Dopo aver configurato il cluster di base come descritto nella Parte 1 della mia serie, eseguire il setup DataKeeper.exe per installare SteelEye DataKeeper Cluster Edition su entrambi i nodi del cluster. Verrà richiesto di inserire la chiave di licenza alla fine dell’installazione. Immettere la licenza e riavviare i server quando richiesto. Ora sei pronto per creare il tuo specchio. Avvia la GUI DataKeeper e segui le istruzioni riportate di seguito per creare il tuo mirror.
Clicca su “Connetti al Server”.
Immettere il nome del primo server. Fare clic su Connetti.
Immettere il nome del secondo server, fare clic su Connetti
Ora fai clic su Crea lavoro. Verrà avviata la procedura guidata Crea lavoro.
Dai al tuo lavoro un nome e una descrizione. Questi possono essere tutto quello che ti piace.
Scegliere le seguenti:
- Server di origine – dove i dati verranno replicati da
- scheda di Rete – rete in cui il traffico di replica di viaggio
- Volume – il volume si desidera replicare
fare Clic su Avanti per continuare.
Scegliere le seguenti:
- Server di destinazione – in cui i dati saranno replicati
- scheda di Rete – rete in cui il traffico di replica di viaggio
- Volume – il volume si desidera replicare
fare Clic su Avanti per continuare.
Scegli quanto segue:
- Livello di compressione – Se si dispone di una rete a 100 Mbps o più veloce per la replica, lasciarlo impostato su nessuno. Se si dispone di una WAN inferiore a 100 Mbps, è possibile beneficiare dell’attivazione della compressione. Le impostazioni da qualche parte nel mezzo tendono a fornire le migliori prestazioni di compressione rispetto al sovraccarico della CPU associato all’abilitazione della compressione.
- Asincrono vs. La replica sincrona – asincrona è generalmente accettabile nella maggior parte degli ambienti ed è sicuramente necessaria negli ambienti WAN ad alta latenza. Ho scritto un intero post sul blog su questo argomento, quindi se hai domande, dai un’occhiata al mio articolo sulla replica asincrona rispetto a quella sincrona.
- Larghezza di banda massima-puoi pensare a questo come a un QOS “povero”. Se si desidera garantire che la replica non superi mai una certa soglia della capacità WAN, è possibile inserire un limitatore sulla quantità di larghezza di banda che può consumare. A meno che tu non abbia una buona ragione per impostarlo, è meglio lasciarlo impostato su 0.
Fai clic su Fine per creare il tuo mirror.
Ora, se dai un’occhiata alla GUI di DataKeeper, sarà simile alla seguente.
Una volta creato il mirror, è necessario rendere il mirror disponibile nel cluster Microsoft “Available Storage”. Ci sono alcuni modi per farlo, ma il modo più semplice è quello di utilizzare la CLI di Windows PowerShell. Qui di seguito è un esempio che mostra come prendere l’esistente specchio che abbiamo appena creato sul disco e poi aggiungerlo al cluster “di Archiviazione Disponibile”, spostare il nodo PRIMARIO e portare in servizio
Modulo di Importazione FailoverClusters
Aggiungi-ClusterResource Nome “DataKeeper Volume E” -ResourceType “DataKeeper Volume” Gruppo “di Archiviazione Disponibile”
Get-ClusterResource “DataKeeper Volume E” | Set-ClusterParameter VolumeLetter E
Sposta-ClusterGroup “Archiviazione Disponibile” -Nodo primario
Start-ClusterResource “DataKeeper Volume E”
Per ulteriori informazioni su PowerShell e sui comandi disponibili per l’uso con il Clustering di Failover, dai un’occhiata a questo fantastico post sul blog di Symon Perriman del team di Clustering di Failover Microsoft.
http://blogs.msdn.com/clustering/archive/2008/12/20/9243367.aspx
Ora stai per ripetere i passaggi precedenti per aggiungere altri mirror che utilizzerai nel tuo cluster. Nel nostro caso, creeremo uno specchio dell’unità F e lo useremo per raggruppare MSDTC. Dopo aver aggiunto i tuoi mirror aggiuntivi e averli aggiunti alla memoria disponibile, la tua GUI DataKeeper dovrebbe assomigliare a questa.
E la GUI di Failover Cluster Manager dovrebbe essere simile a questa.
NOTA IMPORTANTE – È necessario un aggiornamento rapido per supportare DTC con risorse disco di terze parti. Si prega di consultare il seguente articolo KB e applicare il howfix a tutti i nodi del cluster. http://support.microsoft.com/kb/978476
SQL 2008 dipende molto da MSDTC, quindi è altamente raccomandato raggruppare la risorsa MSDTC prima di raggruppare la risorsa SQL. I seguenti articoli sono forniti come riferimento per la configurazione e la gestione della risorsa MSDTC.
http://technet.microsoft.com/en-us/library/cc770748(WS.10).aspx
http://technet.microsoft.com/en-us/library/cc771540(WS.10).aspx
Si inizierà aprendo la GUI di Failover Cluster Manager e quindi scegliere “Configura un servizio o un’applicazione”.
sarà quindi scegliere “Distributed Transaction Coordinator” e fare clic su Avanti
Dare la risorsa MSDTC un nome e un indirizzo IP univoco. Questi dovrebbero essere unici per MSDTC e non gli stessi che utilizzerai in seguito quando crei la tua risorsa SQL.
Scegliere il volume in cui memorizzare i dati per la risorsa MSDTC. Nel nostro caso stiamo scegliendo l’unità F replicata.
Confermare le informazioni e fare clic su Avanti per continuare.
Congratulazioni, la risorsa DTC è stata configurata correttamente. Fare clic su Fine.
Siamo quasi pronti per iniziare l’installazione del primo nodo del Cluster di SQL Server, tuttavia, c’è una cosa che dobbiamo fare in preparazione – Slip Stream SQL 2008 SP1 su SQL Server 2008 RTM media di installazione.
SLIP STREAM SQL SP1 SUL TUO SUPPORTO DI INSTALLAZIONE SQL 2008
Quello che ho scoperto è che SQL Server 2008 non verrà installato su Windows Server 2008 R2 senza prima slipstreaming SQL Server 2008 SP1 sul tuo supporto di installazione SQL 2008. Ecco un ottimo articolo che descrive come slipstream SQL Server 2008 RTM e Service Pack 1. Dopo aver letto quell’articolo e aver eseguito correttamente lo slipstream SP1 su SQL 2008 RTM, ho trovato il seguente articolo di Microsoft KB che descrive la stessa procedura. È possibile ottenere un errore simile al seguente se si tenta di installare SQL senza prima slipstreaming SP1 sul supporto.
Si è verificato un errore nell’impostare la proprietà privata ‘RequireKerberos’ sul valore ‘1’
Ho seguito le istruzioni dettagliate nel primo articolo e ho copiato il mio SQL 2008 con SP1 install sull’unità C:\ di entrambi i nodi nel mio cluster. Nelle istruzioni riportate di seguito, eseguirò l’installazione dal disco locale di ciascun nodo del cluster.
INSTALLAZIONE DEL PRIMO NODO CLUSTER
Ora che il supporto di installazione di SQL Server 2008 SP1 è pronto, si è pronti per installare il primo nodo SQL. C’è un importante “gotcha” quando si tratta di installare SQL su un cluster multi-nodo. Per poter installare SQL in un cluster multi-nodo, è necessario prima passare il processo di convalida del cluster di failover di Windows Server 2008. Sfortunatamente, un cluster multi-sito è esente dal superamento del test relativo allo storage, quindi non si è mai in grado di “passare” effettivamente la convalida per quanto riguarda SQL. Ci sono volute alcune indagini da parte mia, ma quello che sono venuto a trovare è che esiste un parametro della riga di comando che consente di saltare il test di convalida sull’installazione di SQL 2008. Ecco la riga di comando.
Setup /SkipRules=Cluster_VerifyForErrors /Action=InstallFailoverCluster
Per avviare l’installazione SQL, aprire una finestra di comando, accedere alla directory di installazione di SQL 2008 con SP1 e digitare il comando come mostrato di seguito.
Se tutto va come previsto, si dovrebbe vedere la schermata qui sotto. Fare clic su OK per continuare.
Inserire la chiave del prodotto e fare clic su Avanti
Accettare il contratto di licenza e fare clic su Avanti
fare Clic su Installa per installare i File di Supporto dell’Installazione
Alla fine dell’Installazione per i File di Supporto verrà visualizzato un avviso. Clicca su Mostra dettagli e vedrai il messaggio qui sotto. È possibile fare clic su Avanti, ignorando questo messaggio poiché è previsto in un cluster di archiviazione multi-sito o non condiviso.
Scegliere le funzionalità che si desidera installare e fare clic su Avanti. Lasciare la directory” Funzionalità condivisa ” impostata sull’unità C poiché i binari SQL non devono essere installati sul volume replicato.
Nella schermata successiva, sceglierai un nome di rete per SQL Server. Questo sarà il nome a cui tutti i client si connetteranno. Supponendo che questa sia l’istanza predefinita, lasciare l’ID dell’istanza e la directory radice dell’istanza impostati sui valori predefiniti. Non spostare la directory radice dell’istanza nel volume replicato.
Si consiglia di disporre di account di dominio separati per SqlServer e SQLAgent. Si può prendere il tempo per creare questi account ora se non l’hai già fatto. Questi account non richiedono autorizzazioni speciali, in quanto questo processo di installazione darà loro le autorizzazioni necessarie.
Confermare di avere spazio su disco sufficiente e fare clic su Avanti per continuare.
Scegliere le impostazioni predefinite per consentire la creazione di un nuovo gruppo di risorse cluster denominato “SQL Server (MSSQLSERVER)”.
Scegli un volume replicato ancora disponibile, nel nostro caso l’unità E:\. Fare clic su Avanti per continuare.
Ora sceglierai l’indirizzo IP che desideri associare alla risorsa cluster SQL. Si potrebbe lasciare impostato per utilizzare DHCP, se lo si desidera.
Scegliere le impostazioni di sicurezza e fare clic su Avanti
Aggiungere qualsiasi amministratori di SQL Server e scegliere la modalità di autenticazione e quindi fare clic su Avanti
Scegli il tuo Errore e la Segnalazione di Utilizzo delle opzioni e fare clic su Avanti
Si vedrà ancora una volta alcune avvertenze relative al processo di convalida. È possibile ignorare tali messaggi come ci si aspetta in un cluster SQL Server multi-sito.
Fare clic su Installa per avviare il processo di installazione
Se tutto si installa come previsto, dovresti vedere le seguenti schermate. Fare clic su Avanti quindi su Chiudi per completare l’installazione.
Congratulazioni, è stato installato correttamente il primo nodo del cluster SQL Server multi-sito. Ora installeremo il secondo nodo del cluster.
INSTALLA IL SECONDO NODO CLUSTER
L’installazione del secondo nodo cluster è simile all’installazione del primo nodo. Abbiamo bisogno di eseguire SQL Setup ancora una volta dalla riga di comando in modo da poter saltare il processo di convalida. Quindi, dal 2 ° nodo, apri il prompt dei comandi ed esegui il seguente comando.
-
Installare SQL server 2008 SP1 (unita di installazione) il 2 ° nodo, utilizzando il seguente comando:
Installazione /SkipRules=Cluster_VerifyForErrors /Azione=AddNode /INSTANCENAME=”MSSQLSERVER”
*Nota: Questo presuppone installato l’istanza predefinita, il 1 ° nodo
Per avviare la procedura guidata di installazione, come mostrato di seguito. Fare clic su OK per continuare.
Inserisci il codice prodotto e fai clic su Avanti.
Accettare i termini di licenza e fare clic su Avanti
Fare clic su Installa per installare i file di supporto per l’installazione.
È possibile ignorare nuovamente l’avviso che alcuni test di convalida del cluster sono stati ignorati. Questo è prevedibile in un cluster multi-sito e cluster di storage non condivisi.
Verificare che si sta aggiungendo il nodo all’istanza giusta e fare clic su Avanti.
Aggiungere le password agli account del servizio e fare clic su Avanti
Scegli le opzioni di segnalazione errori e utilizzo e fai clic su Avanti
Ancora una volta, ignorare l’avviso sulle operazioni saltate.
Fare clic su Installa per avviare il processo di installazione.
Se tutto va come previsto, si dovrebbe vedere la seguente schermata.
Ora che hai un cluster a due nodi completamente funzionale, probabilmente dovresti testare le cose facendo alcuni passaggi manuali. Fare clic con il tasto destro sulla risorsa e scegliere “Sposta su nodo SECONDARIO”.
Se tutto è configurato correttamente, la GUI del cluster di failover dovrebbe apparire come segue.
CONCLUSIONE
Credo che i cluster SQL con storage replicato abbiano molto senso. Lo storage è sempre stato un unico punto di guasto dei cluster tradizionali. È possibile eliminare quel singolo punto di errore distribuendo un cluster SQL Server con storage replicato da SteelEye o da qualsiasi altro partner Microsoft Multi-Site Cluster Replication. Spero che hai trovato questo articolo informativo. Se avete domande o suggerimenti, si prega di aggiungere i vostri commenti!