GNU/Linux >> Linux Esercitazione >  >> Linux

Come eseguire il multi-master MySQL con Percona e Keepalived

Introduzione

In questo articolo di istruzioni, ti guideremo attraverso le procedure per l'installazione e la manutenzione di una soluzione cluster MySQL multi-master a sito singolo con servizi di bilanciamento del carico. Utilizzeremo Percona XtraDB Cluster Server come piattaforma di database MySQL di base, poiché dispone di tutti i componenti necessari e ha il supporto integrato per una soluzione open source attiva/attiva ad alta disponibilità e alta scalabilità per il clustering MySQL. Integra Percona Server e Percona XtraBackup con la libreria Galera di soluzioni MySQL ad alta disponibilità in un unico pacchetto, che consente di creare un cluster MySQL ad alta disponibilità conveniente. Useremo Keepalived per gestire il bilanciamento del carico.

Percona fornisce repository yum e apt per Red Hat/CentOS e Ubuntu/Debian. Questi repository includono Percona Server, Percona XtraDB, Percona XtraBackup e Percona Toolkit.

Keepalived è un software di routing open source che fornisce bilanciamento del carico tramite LVS (Linux Virtual Server) e alta disponibilità tramite VRRP (Virtual Router Redundancy Protocol).

Prerequisiti

Prima di iniziare, dovremo prima disporre di quanto segue.

  • Tre server CentOS 6.x, tutti sulla stessa rete locale (LAN). (Due nodi MySQL e un nodo di bilanciamento del carico.)
  • I server MySQL devono avere almeno 2 GB di RAM per abilitare i servizi di sincronizzazione.
  • Tre password uniche e sicure per i seguenti utenti MySQL:
    • Utente root MySQL
    • Utente di sincronizzazione dei servizi SST (State Snapshot Transfer) ("sst-sync-user")
    • Utente Keepalived ("keepalived")
  • Configurazione del firewall CentOS 6.x protetta (Questo articolo è una raccomandazione di best practice e non è strettamente necessario. In questa guida utilizziamo iptables, quindi se usi una soluzione alternativa, modifica se necessario. )

.

Schema dei pacchetti e passaggi di configurazione

  • Preparazione di base del server Percona (nodi n. 1 e n. 2)
  • Nodo MySQL n. 1:configurazione
  • Nodo MySQL n. 2:configurazione
  • Nodo Keepalived n. 3:installazione dal repository
  • Nodo Keepalived n. 3:(facoltativo) compilazione dal sorgente

.

Diagramma di configurazione

Di seguito è riportato un diagramma dei risultati attesi una volta completato questo articolo. Tieni presente che tutti gli indirizzi IP utilizzati in questo articolo e nel diagramma sono RFC 5737 - Blocchi di indirizzi IPv4 riservati solo a scopi di documentazione.

Diagramma di rete del cluster MySQL multimaster

.

1 – Preparazione di base del server Percona (nodi n. 1 e n. 2)

Innanzitutto, ci assicureremo di aver effettuato l'accesso al tuo server web come account utente root.

sudo su -

Successivamente, installeremo i repository yum richiesti in modo da poter installare facilmente e mantenere aggiornati i pacchetti software Percona.

yum install -y http://linux.mirrors.es.net/fedora-epel/6/i386/epel-release-6-8.noarch.rpm
yum install -y http://www.percona.com/downloads/percona-release/redhat/0.1-3/percona-release-0.1-3.noarch.rpm
yum clean all
yum update
  • EPEL :Extra Packages for Enterprise Linux è un Fedora Special Interest Group che crea, mantiene e gestisce un set di alta qualità di pacchetti aggiuntivi per Enterprise Linux.
  • Percona :Repository software Percona XtraDB.

.
Ora disabiliteremo SELINUX (Security-Enhanced Linux kernel), poiché è in conflitto con i servizi del cluster Percona XtraDB. Per prima cosa, apri il /etc/selinux/config file di configurazione con il tuo editor di testo preferito (useremo nano in tutto questo articolo).

nano /etc/selinux/config

Quindi, cambia la variabile di configurazione SELINUX=enforcing a SELINUX=disabled , come di seguito.

# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
#     enforcing - SELinux security policy is enforced.
#     permissive - SELinux prints warnings instead of enforcing.
#     disabled - No SELinux policy is loaded.
SELINUX=disabled
# SELINUXTYPE= can take one of these two values:
#     targeted - Targeted processes are protected,
#     mls - Multi Level Security protection.
SELINUXTYPE=targeted 

Riavvia il server per rendere effettive le modifiche.

Se stai eseguendo i servizi firewall iptables (abilitati per impostazione predefinita sulla maggior parte delle installazioni CentOS 6.x ), dovrai abilitare le porte di servizio richieste su ciascun server del nodo per consentire la connettività MySQL e sincronizzare i servizi tra i nodi del cluster.

iptables -I INPUT 5 -m state --state NEW -m tcp -p tcp -m multiport --dports 4567:4568 -j ACCEPT
iptables -I INPUT 5 -m state --state NEW -m tcp -p tcp --dport 4444 -j ACCEPT 
iptables -I INPUT 5 -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT
service iptables save

Nota: Questi comandi inseriranno ciascuna di queste regole del firewall subito dopo le regole INPUT predefinite, alla riga numero 5. Se hai apportato modifiche alle regole di iptables prima di questo passaggio, assicurati di regolare questi comandi con i numeri di riga relativi alla configurazione di iptables . Consulta il nostro articolo sugli IPTable di base se hai bisogno di aiuto o di un aggiornamento.

.
Siamo ora pronti per installare i pacchetti Percona XtraDB Cluster su ogni nodo del server MySQL.

yum install -y Percona-XtraDB-Cluster-56

.

2 – Nodo MySQL n. 1:configurazione

Innanzitutto, assicurati di avere a portata di mano le password utente MySQL (menzionate sopra nella sezione dei prerequisiti).

Ora dovremo creare il /etc/my.cnf file di configurazione con le impostazioni di configurazione del clustering.

nano /etc/my.cnf

Quindi, copia e incolla queste impostazioni di configurazione di base nel nostro file di configurazione.

Nota: Nelle sezioni "CONFIGURAZIONE CLUSTER" e "TRASFERIMENTO SNAPSHOT DI STATO" di seguito, dovrai sostituire i valori relativi alla tua rete/configurazione:

  • wsrep_cluster_name – il nome del cluster deve essere lo stesso in tutti i nodi, ma puoi sostituire la tua convenzione di denominazione.
  • wsrep_cluster_address – utilizzare gli indirizzi IP di ciascun nodo partecipante (incluso questo host). Deve essere preceduto da “gcomm://”.)
  • indirizzo_nodo_wsrep – usa l'indirizzo IP per questo host.
  • wsrep_node_name – puoi sostituire la tua convenzione di denominazione.
  • wsrep_sst_auth – sostituire la password dell'account utente SST sopra dopo il nome utente e i due punti in questo campo. Puoi anche sostituire la tua convenzione di denominazione per l'utente SST:assicurati solo di aggiornare lo stesso nome utente quando aggiungi gli utenti a MySQL di seguito.

.

[mysqld]

# GENERAL #
datadir	= /var/lib/mysql
user = mysql

# LOGGING #
# log-error = /var/log/mysql/error.log
# log-queries-not-using-indexes = 1
# slow-query-log = 1
# slow-query-log-file = /var/log/mysql/mysql-slow.log 

# DATA STORAGE #
default_storage_engine = InnoDB
binlog_format = ROW

# CLUSTER CONFIGURATION #
wsrep_cluster_name = mysql_clstr01
wsrep_cluster_address = gcomm://192.0.2.11,192.0.2.12
wsrep_node_address = 192.0.2.11
wsrep_node_name = mysql-node-01
wsrep_provider = /usr/lib64/libgalera_smm.so

# STATE SNAPSHOT TRANSFER #
wsrep_sst_method = xtrabackup-v2
wsrep_sst_auth = "sst-sync-user:<%sst generated password%>"

# MyISAM Database Replication #
# MyISAM storage engine has only experimental support at this time. #
# wsrep_replicate_myisam = 1

# Settings / Tunning Options #
innodb_locks_unsafe_for_binlog = 1 
innodb_autoinc_lock_mode = 2 
# innodb_flush_log_at_trx_commit = 2
# innodb_flush_method = O_DIRECT
# innodb_file_per_table = 1
# innodb_buffer_pool_size = 1386971136
# innodb_buffer_pool_size = 6G
# innodb_log_file_size = 256M

# key_buffer = 208045670
# max_allowed_packet = 67108864
# thread_stack = 192K
# thread_cache_size = 10

# query_cache_limit = 1M
# query_cache_size = 16M

Molte di queste impostazioni di configurazione sono commentate. Sono inclusi nel caso in cui desideri modificare e/o eseguire il debug delle prestazioni del database. Al termine, salva il file ed esci.

Ora siamo pronti per eseguire il "bootstrap" del nodo primario nel cluster.

Il bootstrap si riferisce all'inizializzazione e all'esecuzione del nodo del cluster iniziale. Con il bootstrap, definiamo quale nodo ha le informazioni iniziali e a quale tutti gli altri nodi devono sincronizzarsi (tramite SST). In caso di arresto anomalo (o arresto) dell'intero cluster, il bootstrap del nodo primario funziona allo stesso modo:selezionando il nodo iniziale, stiamo essenzialmente decidendo quale nodo del cluster contiene il database con cui vogliamo andare avanti.

L'appartenenza al cluster non è definita da questa impostazione, ma è definita dai nodi che si uniscono al cluster con il wsrep_cluster_name corretto impostazione variabile.

.

/etc/init.d/mysql bootstrap-pxc

Vorremo anche assicurarci di impostare i servizi MySQL per l'avvio automatico al riavvio del server.

chkconfig mysql on

Il nostro primo servizio di database dei nodi è ora operativo.

Ora siamo pronti per proteggere l'installazione del tuo database MySQL. Per impostazione predefinita, l'installazione iniziale di un database MySQL non è protetta da una password. Per proteggere la nostra installazione di MySQL, eseguiremo il seguente comando e seguiremo le istruzioni in linea. Durante questo processo, ci verrà chiesto di inserire una password di root. Utilizzare la password di root MySQL dall'alto durante questo processo. Possiamo premere Invio per accettare le impostazioni predefinite per le restanti richieste per completare l'installazione sicura.

/usr/bin/mysql_secure_installation

Ora che abbiamo protetto il nostro server di database, dobbiamo configurare un paio di account utente. Il primo account verrà utilizzato per i servizi di sincronizzazione SST e il secondo account verrà utilizzato per lo script di controllo del servizio Keepalived.

Accedi alla console dell'interfaccia a riga di comando di MySQL.

mysql -u root -p

Successivamente, dovremo creare gli account utente e concedere autorizzazioni di sicurezza agli account.

CREATE USER 'sst-sync-user'@'localhost' IDENTIFIED BY '<%sst generated password%>';
GRANT RELOAD, LOCK TABLES, REPLICATION CLIENT ON *.* TO 'sst-sync-user'@'localhost';

CREATE USER 'keepalived'@'%' IDENTIFIED BY '<%keepalived generated password%>';
FLUSH PRIVILEGES;

Ora siamo pronti per configurare questo nodo per rispondere direttamente alle connessioni MySQL ricevute dal server di bilanciamento del carico Keepalived. In una configurazione Linux Virtual Server (LVS) con routing diretto, il router LVS (il tuo server Keepalived) deve ricevere le richieste di connessione MySQL in entrata e quindi inviarle al server reale appropriato per l'elaborazione. I server reali dovranno quindi direttamente comunicare i dati di risposta al cliente che richiede i dati. Per configurare il routing diretto, ogni real server deve avere l'indirizzo VIP (IP virtuale) configurato sull'host, ma non rispondere alle richieste ARP sulla rete locale.

Innanzitutto, configureremo il server in modo che non risponda a nessuna richiesta ARP per l'indirizzo VIP.

echo "net.ipv4.conf.lo.arp_ignore = 1" >> /etc/sysctl.conf
echo "net.ipv4.conf.lo.arp_announce = 2" >> /etc/sysctl.conf

sysctl -p

Quindi, crea un indirizzo VIP sull'adattatore Loopback. Creeremo il lo:1 file di configurazione dell'interfaccia e impostarlo per l'avvio automatico all'avvio.

nano /etc/sysconfig/network-scripts/ifcfg-lo:1

Incolla la seguente configurazione nella configurazione dell'interfaccia. Assicurati di sostituire l'indirizzo VIP di esempio con l'indirizzo che utilizzerai.

DEVICE=lo:1
BOOTPROTO=static
ONBOOT=yes
IPADDR=192.0.2.10
NETMASK=255.255.255.255

Una volta salvato il file di configurazione, possiamo visualizzare l'indirizzo VIP.

ifup lo:1

Il nostro primo nodo MySQL Cluster è ora completato.
.

3 – Nodo MySQL n. 2:configurazione

Ancora una volta, assicurati di avere a portata di mano le password utente MySQL (menzionate sopra nella sezione dei prerequisiti).

Ora dovremo creare il /etc/my.cnf file di configurazione con le impostazioni di configurazione del clustering.

nano /etc/my.cnf

Quindi, copia e incolla queste impostazioni di configurazione di base nel nostro file di configurazione.

Nota: Nelle sezioni "CONFIGURAZIONE CLUSTER" e "TRASFERIMENTO SNAPSHOT DI STATO" di seguito, dovrai sostituire i valori relativi alla tua rete/configurazione:

  • wsrep_cluster_name – il nome del cluster deve essere lo stesso in tutti i nodi, ma puoi sostituire la tua convenzione di denominazione.
  • wsrep_cluster_address – utilizzare gli indirizzi IP di ciascun nodo partecipante (incluso questo host). Deve essere preceduto da “gcomm://”.)
  • indirizzo_nodo_wsrep – usa l'indirizzo IP per questo host.
  • wsrep_node_name – puoi sostituire la tua convenzione di denominazione.
  • wsrep_sst_auth – sostituire la password dell'account utente SST sopra dopo il nome utente e i due punti in questo campo. Puoi anche sostituire la tua convenzione di denominazione per l'utente SST:assicurati solo di aggiornare lo stesso nome utente quando aggiungi gli utenti a MySQL di seguito.

.

[mysqld]

# GENERAL #
datadir	= /var/lib/mysql
user = mysql

# LOGGING #
# log-error = /var/log/mysql/error.log
# log-queries-not-using-indexes = 1
# slow-query-log = 1
# slow-query-log-file = /var/log/mysql/mysql-slow.log 

# DATA STORAGE #
default_storage_engine = InnoDB
binlog_format = ROW

# CLUSTER CONFIGURATION #
wsrep_cluster_name = mysql_clstr01
wsrep_cluster_address = gcomm://192.0.2.11,192.0.2.12
wsrep_node_address = 192.0.2.12
wsrep_node_name = mysql-node-02
wsrep_provider = /usr/lib64/libgalera_smm.so

# STATE SNAPSHOT TRANSFER #
wsrep_sst_method = xtrabackup-v2
wsrep_sst_auth = "sst-sync-user:<%sst generated password%>"

# MyISAM Database Replication #
# MyISAM storage engine has only experimental support at this time. #
# wsrep_replicate_myisam = 1

# Settings / Tunning Options #
innodb_locks_unsafe_for_binlog = 1 
innodb_autoinc_lock_mode = 2 
# innodb_flush_log_at_trx_commit = 2
# innodb_flush_method = O_DIRECT
# innodb_file_per_table = 1
# innodb_buffer_pool_size = 1386971136
# innodb_buffer_pool_size = 6G
# innodb_log_file_size = 256M

# key_buffer = 208045670
# max_allowed_packet = 67108864
# thread_stack = 192K
# thread_cache_size = 10

# query_cache_limit = 1M
# query_cache_size = 16M

Molte di queste impostazioni di configurazione sono commentate. Sono inclusi nel caso in cui desideri modificare e/o eseguire il debug delle prestazioni del database. Al termine, salva il file ed esci.

Ora siamo pronti per avviare il secondo nodo nel cluster. Vorremo anche assicurarci di impostare i servizi MySQL per l'avvio automatico al riavvio del server.

service mysql start 
chkconfig mysql on

Durante l'avvio iniziale, il secondo server avvia il processo di sincronizzazione con il nodo primario. Dopo pochi minuti, i servizi MySQL del nostro secondo nodo saranno operativi.

Come sopra con il nodo principale, ora configureremo questo nodo per rispondere direttamente alle connessioni MySQL ricevute dal server di bilanciamento del carico Keepalived. Innanzitutto, configureremo il server in modo che non risponda a nessuna richiesta ARP per l'indirizzo VIP.

echo "net.ipv4.conf.lo.arp_ignore = 1" >> /etc/sysctl.conf
echo "net.ipv4.conf.lo.arp_announce = 2" >> /etc/sysctl.conf

sysctl -p

Successivamente, creeremo un indirizzo VIP sull'adattatore Loopback. Crea il lo:1 file di configurazione dell'interfaccia e impostarlo per l'avvio automatico all'avvio.

nano /etc/sysconfig/network-scripts/ifcfg-lo:1

Incolla la seguente configurazione nel file di configurazione dell'interfaccia. Assicurati di sostituire l'indirizzo VIP di esempio con l'indirizzo che utilizzerai.

DEVICE=lo:1
BOOTPROTO=static
ONBOOT=yes
IPADDR=192.0.2.10
NETMASK=255.255.255.255

Una volta salvato il file di configurazione, possiamo visualizzare l'indirizzo VIP.

ifup lo:1

Il nostro secondo nodo del cluster MySQL è ora completato.

Ora convalideremo che entrambi i server siano operativi e sincronizzati. Da ogni nodo, esegui il seguente comando (avremo bisogno della nostra password di root MySQL):

mysql -h localhost -u root -p -e "SHOW STATUS;" | grep "wsrep_ready"

Dovremmo ricevere la risposta "ON". Se riceviamo qualsiasi altra risposta, il nodo non è un membro del cluster.
.

4 – Keepalived Nodo n. 3:installazione dal repository

Questa sezione illustra l'installazione di Keepalived dal repository CentOS. Questa versione di Keepalived segue diverse iterazioni rispetto alla versione più recente. Sebbene funzioni per implementazioni semplici, se pensi di aver bisogno dell'ultima versione e delle correzioni di supporto che offre (come il supporto migliorato per IPv6 e VRRPv3, ad esempio), dai un'occhiata al loro registro delle modifiche. Le istruzioni per compilare l'ultima versione dal sorgente sono incluse di seguito.

Innanzitutto, se stai eseguendo i servizi firewall iptables (abilitati per impostazione predefinita sulla maggior parte delle installazioni CentOS 6.x ), dovrai abilitare la connettività MySQL.

iptables -I INPUT 5 -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT
service iptables save

Nota: Questi comandi inseriranno ciascuna di queste regole del firewall subito dopo le regole INPUT predefinite, alla riga numero 5. Se hai apportato modifiche alle regole di iptables prima di questo passaggio, assicurati di regolare questi comandi con i numeri di riga relativi alla configurazione di iptables . Consulta il nostro articolo sugli IPTable di base se hai bisogno di aiuto o di un aggiornamento.

.

Ora possiamo installare il pacchetto Keepalived.

yum install keepalived

Successivamente, creeremo un nuovo /etc/keepalived/keepalived.conf file di configurazione. Puoi eliminare la configurazione predefinita installata oppure spostarla in un file di backup per un riferimento successivo, se lo desideri. In questo esempio, lo sposteremo in un file di backup.

mv /etc/keepalived/keepalived.conf /etc/keepalived/keepalived.conf.bak
nano /etc/keepalived/keepalived.conf

Ora copia e incolla la configurazione seguente in keepalived.conf file.

Assicurati di sostituire gli indirizzi IP di esempio riportati di seguito con gli indirizzi IP virtuali e reali che hai configurato nei passaggi precedenti. Inoltre, dovrai aggiungere la tua password utente keepalive dall'alto dove indicato.

.

! Configuration File for keepalived

global_defs {
   router_id LVS_MYSQL_CLSTR1
}

### VRRP Virtual IP Configuration
vrrp_instance VI_1 {
    state MASTER
    interface eth0
    virtual_router_id 51
    priority 100
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass keepalived
    }
    virtual_ipaddress {
        192.0.2.10
    }
}

### LVS Configuration
virtual_server 192.0.2.10 3306 {
  delay_loop 2

  ## LB Mode : Round-Robin
  lb_algo rr

  ## Direct Routing Response
  lb_kind DR

  protocol TCP

 # Real Server to add when all real_servers are down
 # sorry_server <IPADDR> <PORT>

  real_server 192.0.2.11 3306 {
    weight 10
        MISC_CHECK {
                misc_path "/etc/keepalived/check_scripts/check_db 192.0.2.11 keepalived <%keepalived password%>"
                misc_timeout 5
                misc_dynamic
        }
  }

  real_server 192.0.2.12 3306 {
    weight 10
        MISC_CHECK {
                misc_path "/etc/keepalived/check_scripts/check_db 192.0.2.12 keepalived <%keepalived password%>"
                misc_timeout 5
                misc_dynamic
        }
  }
}

Ora creeremo il MISC_CHECK script invocato da questa configurazione (non esiste per impostazione predefinita). Per prima cosa creeremo la directory, quindi creeremo il file di script e imposteremo la modalità file su eseguibile.

mkdir -p /etc/keepalived/check_scripts
touch /etc/keepalived/check_scripts/check_db
chmod +x /etc/keepalived/check_scripts/check_db

nano /etc/keepalived/check_scripts/check_db

Ora, copia e incolla il codice bash qui sotto nel file check_db .

#!/bin/bash

mysql_host="${1}";
mysql_user="${2}";
mysql_pass="${3}";

node_response=$(mysql -h ${mysql_host} -u ${mysql_user} -p${mysql_pass} -e "SHOW GLOBAL VARIABLES;" | grep "wsrep_node_address" | awk '{ print $2 }');

if [ "${node_response}" == "${mysql_host}" ]
then
        # echo "Hostname matched";
        exit 0;
else
        # echo "Hostname not matched";
        exit 1;
fi

Salva il file ed esci.

Ora siamo pronti per avviare i servizi Keepalived. Li imposteremo anche per l'avvio automatico al riavvio del sistema.

chkconfig keepalived on
/etc/init.d/keepalived start

Il nostro server Keepalived è ora operativo. Per istruzioni dettagliate su come personalizzare la configurazione di Keepalived, consulta la guida per l'utente.

Ora dovremmo avere un cluster MySQL multimaster completamente funzionante, con un unico VIP per la connettività. Possiamo indirizzare le connessioni dei client al nostro indirizzo VIP (192.0.2.10) e la connessione verrà passata a ciascun server reale nel nostro cluster in modalità round-robin.

Poiché abbiamo utilizzato Keepalived con una configurazione VIP VRRP, puoi facilmente aggiungere un secondo server Keepalived alla rete per fornire la ridondanza completa della configurazione del bilanciamento del carico e del cluster MySQL.
.

Nodo Keepalived n. 3:(facoltativo) compilazione dal sorgente

Se vogliamo l'ultima versione di Keepalived, dovremo installare gli strumenti necessari per creare il pacchetto Keepalived dal sorgente.

yum install -y kernel-headers kernel-devel gcc make popt-devel openssl-devel ipvsadm net-snmp-devel git mysql;
  • popt-devel:utilizzato per l'analisi della riga di comando
  • OpenSSL:questa libreria è necessaria per il supporto MD5 e SSL
  • ipvsadm:utilizzato per mantenere o ispezionare la tabella del server virtuale nel kernel Linux
  • net-snmp:fornisce il monitoraggio SNMP

.
Con le dipendenze ora in atto, dovremo scaricare la versione più recente del codice sorgente. Possiamo trovare la versione più recente nella pagina di download di Keepalived.org, oppure possiamo utilizzare il repository GIT per scaricare l'ultima build. Utilizzeremo il repository GIT per questa installazione.

mkdir -p /tmp/keepalived
git clone https://github.com/acassen/keepalived.git /tmp/keepalived
cd /tmp/keepalived

Ora che abbiamo scaricato ed estratto il codice sorgente, siamo pronti per compilare il pacchetto Keepalived per il nostro kernel Linux.

./configure --enable-snmp
make
make install

Dopo ogni comando, dovremmo ricontrollare l'output per assicurarci che non ci siano errori durante ogni processo. Una volta che tutto sarà compilato correttamente, saremo pronti per creare i collegamenti simbolici necessari.

ln -s /usr/local/etc/sysconfig/keepalived /etc/sysconfig/
ln -s /usr/local/etc/rc.d/init.d/keepalived /etc/init.d/
ln -s /usr/local/etc/keepalived/ /etc/keepalived

Successivamente, dobbiamo aggiornare il /etc/init.d/keepalived script di avvio per chiamare il percorso corretto per il demone.

nano /etc/init.d/keepalived

Qui, sostituisci la linea di chiamata dell'applicazione daemon keepalived con il percorso completo dell'applicazione, come di seguito.

#!/bin/sh
#
# Startup script for the Keepalived daemon
#
...
start() {
    echo -n $"Starting $prog: "
    daemon /usr/local/sbin/keepalived ${KEEPALIVED_OPTIONS}
    RETVAL=$?
    echo
    [ $RETVAL -eq 0 ] && touch /var/lock/subsys/$prog
}
...

Ora dovremmo essere in grado di avviare il demone Keepalived e riprendere la configurazione come sopra.

Atlantic.Net

Atlantic.net offre hosting VPS e servizi di hosting di server gestiti che includono un livello di servizi gestiti business-essential ai tuoi pacchetti di hosting. Contattaci oggi per ulteriori informazioni.


Linux
  1. Come installare Lighttpd con PHP5 FastCGI e MySQL su Fedora 16

  2. Come installare Nginx con PHP-FPM e MySQL su Fedora 16 "Verne"

  3. Come installare Lighttpd con PHP5 FastCGI e MySQL su openSUSE 12.1

  4. Come installare Nginx con PHP-FPM e MySQL su openSUSE 12.1

  5. Come installare Nginx con PHP5 e MySQL su Ubuntu 11.10

Come installare Lighttpd con PHP-FPM 7 e MySQL 5.7 su Ubuntu 18.04 LTS

Come installare Lighttpd con PHP-FPM e MySQL su Ubuntu 20.04 LTS

Come configurare il cluster Percona con HAproxy Loadbalancer su CentOS 7

Come costruire un cluster attivo-attivo-attivo con RHEL 8 e Percona MySQL

Come distribuire un'applicazione PHP con Nginx e MySQL utilizzando Docker e Docker Compose

Come installare e configurare WordPress con Ansible