Distribuire un cluster Pacemaker per SQL Server in Linux
Si applica a: SQL Server - Linux
Questa esercitazione illustra le attività necessarie per distribuire un cluster Pacemaker in Linux per un gruppo di disponibilità Always On o un'istanza del cluster di failover di SQL Server. Diversamente da quanto avviene per lo stack Windows Server/ SQL Server strettamente associato, la creazione di un cluster Pacemaker e la configurazione di un gruppo di disponibilità in Linux possono essere eseguite prima o dopo l'installazione di SQL Server. L'integrazione e la configurazione delle risorse per la parte Pacemaker di una distribuzione di un gruppo di disponibilità o di un'istanza del cluster di failover vengono eseguite dopo la configurazione del cluster.
Importante
Un gruppo di disponibilità con un cluster di tipo None non richiede un cluster Pacemaker né può essere gestito da Pacemaker.
- Installare il componente aggiuntivo per la disponibilità elevata e installare Pacemaker.
- Preparare i nodi per Pacemaker (solo RHEL e Ubuntu).
- Creare il cluster Pacemaker.
- Installare i pacchetti per la disponibilità elevata di SQL Server e SQL Server Agent.
Prerequisiti
Installare SQL Server in Linux.
Installare il componente aggiuntivo per la disponibilità elevata
Usare la sintassi seguente per installare i pacchetti che costituiscono il componente aggiuntivo per la disponibilità elevata per ogni distribuzione di Linux.
Registrare il server usando la sintassi seguente. Viene richiesto di specificare un nome utente e una password validi.
sudo subscription-manager register
Elencare i pool disponibili per la registrazione.
sudo subscription-manager list --available
Eseguire il comando seguente per associare la disponibilità elevata di RHEL alla sottoscrizione
sudo subscription-manager attach --pool=<PoolID>
dove PoolId è l'ID del pool per la sottoscrizione della disponibilità elevata del passaggio precedente.
Abilitare il repository per poter usare il componente aggiuntivo per la disponibilità elevata.
sudo subscription-manager repos --enable=rhel-ha-for-rhel-7-server-rpms
Installare Pacemaker.
sudo yum install pacemaker pcs fence-agents-all resource-agents
Preparare i nodi per Pacemaker (solo RHEL e Ubuntu)
Pacemaker stesso usa un utente creato durante la distribuzione, denominato hacluster. L'utente viene creato quando il componente aggiuntivo per la disponibilità elevata è installato in RHEL e Ubuntu.
In ogni server che fungerà da nodo del cluster Pacemaker creare la password per un utente che verrà usato dal cluster. Il nome usato negli esempi è hacluster, ma è possibile usare qualsiasi nome. Il nome e la password devono essere gli stessi in tutti i nodi che fanno parte del cluster Pacemaker.
sudo passwd hacluster
In ogni nodo che farà parte del cluster Pacemaker abilitare e avviare il servizio
pcsd
con i comandi seguenti (RHEL e Ubuntu):sudo systemctl enable pcsd sudo systemctl start pcsd
Eseguire quindi il comando seguente per assicurarsi che venga avviato
pcsd
.sudo systemctl status pcsd
Abilitare il servizio Pacemaker in ogni nodo possibile del cluster Pacemaker.
sudo systemctl start pacemaker
In Ubuntu viene visualizzato un errore:
pacemaker Default-Start contains no runlevels, aborting.
Questo è un errore noto. Nonostante l'errore, l'abilitazione del servizio Pacemaker ha esito positivo e questo bug verrà risolto in futuro.
Successivamente, creare e avviare il cluster Pacemaker. In questa fase esiste una differenza tra RHEL e Ubuntu. Anche se in entrambe le distribuzioni l'installazione di
pcs
configura un file di configurazione predefinito per il cluster Pacemaker, in RHEL l'esecuzione di questo comando elimina definitivamente qualsiasi configurazione esistente e crea un nuovo cluster.
Creare il cluster Pacemaker
Questa sezione illustra come creare e configurare il cluster per ogni distribuzione di Linux.
Autorizzare i nodi
sudo pcs cluster auth <Node1 Node2 ... NodeN> -u hacluster
dove NodeX è il nome del nodo.
Creare il cluster
sudo pcs cluster setup --name <PMClusterName Nodelist> --start --all --enable
dove
PMClusterName
è il nome assegnato al cluster Pacemaker eNodelist
è l'elenco di nomi dei nodi separati da uno spazio.
Installare i pacchetti per la disponibilità elevata di SQL Server e SQL Server Agent
Usare i comandi seguenti per installare il pacchetto per la disponibilità elevata di SQL Server e SQL Server Agent, se non sono già installati. L'installazione del pacchetto per la disponibilità elevata dopo l'installazione di SQL Server richiede un riavvio di SQL Server in modo che sia possibile usarlo. Queste istruzioni presuppongono che i repository per i pacchetti Microsoft siano già configurati, perché SQL Server deve essere installato ora.
Se non si usa SQL Server Agent per il log shipping o per altro, non è necessario installarlo, quindi il pacchetto mssql-server-agent può essere ignorato.
Gli altri pacchetti facoltativi per SQL Server in Linux, Ricerca full-text di SQL Server (mssql-server-fts) e SQL Server Integration Services (mssql-server-is), non sono obbligatori per la disponibilità elevata, sia per un'istanza del cluster di failover che per un gruppo di disponibilità.
sudo yum install mssql-server-ha mssql-server-agent
sudo systemctl restart mssql-server
Passaggio successivo
Questa esercitazione ha illustrato come distribuire un cluster Pacemaker per SQL Server in Linux. Contenuto del modulo:
- Installare il componente aggiuntivo per la disponibilità elevata e installare Pacemaker.
- Preparare i nodi per Pacemaker (solo RHEL e Ubuntu).
- Creare il cluster Pacemaker.
- Installare i pacchetti per la disponibilità elevata di SQL Server e SQL Server Agent.
Per creare e configurare un gruppo di disponibilità per SQL Server in Linux, vedere: