Posso eseguire mysqld su glusterfs?


12

Di recente ho suonato con glusterfs.

Quello che voglio provare è eseguire mysqld sopra i glusterfs in modo simile poiché è possibile eseguire MySQL su DRBD .

Conosco la replica di MySQL e i vantaggi di usarlo al posto di questo approccio e sono anche a conoscenza di MongoDB e di altre soluzioni NoSQL.

Tuttavia, sarebbe una soluzione semplice per alcuni progetti specifici che ho in mente se potessi lasciare MySQL così com'è e replicare il file system sottostante.

È possibile e se è dove posso scoprire come?

Risposte:


16

A causa di un ritardo ragionevolmente lungo senza risposte, l'ho scoperto per tentativi ed errori.

La risposta è: Sì, posso eseguire mysqld su glusterfs.

Ho impostato questo su Ubuntu e brevemente ecco i passaggi:

Il vero problema sta nel modo in cui MySQL gestisce i blocchi.

Tuttavia, è possibile passare tutto questo a glusterfs per gestirlo in modo che molti processi mysqld (in esecuzione su nodi separati) possano accedere agli stessi file di database su / mnt / glusterfs. Devi leggere attentamente .


2
Che tipo di problemi di prestazioni stai riscontrando?
CMCDragonkai,

4
Questo è davvero molto interessante! Tuttavia, per la cronaca, sconsiglio vivamente di utilizzarlo in qualsiasi situazione in cui i tuoi dati sono importanti. Solo perché sembra funzionare non significa che sia sicuro. Potresti essere fortunato e non esserti ancora imbattuto in condizioni di gara che potrebbero causare la perdita di dati.
jlh

utilizzerai 1 server alla volta, giusto? Sono abbastanza sicuro che non funzionerà da più server. perderai i tuoi dati
Diego Roccia,

3

Tentativo su un cluster K8. MySQL in esecuzione all'interno di un container, GlusterFS installato direttamente sul nodo (non containerizzato). Il contenitore MySQL aveva un'affinità impostata per essere sempre eseguita sullo stesso nodo di GFS, montando il volume usando il driver di volume GFS nativo di K8.

Esperienza latenza casuale elevata per i siti WordPress, anche con la cache NGINX FastCGI (PHP-FPM) abilitata. Passato al volume hostPath per il contenitore MySQL, i problemi di latenza sono scomparsi.


2

Non penso sia possibile. Richard, il link che hai fornito parla di MyIsam e dicono che comunque non è raccomandato. Ho letto da qualche parte (non ricordo dove) che l'uso di file innoDB condivisi da diversi nodi porterà alla corruzione dei dati.


2

Non so perché desideri accedere agli stessi file DB da diversi processi del server MySQL, ma se il motivo è la prestazione dovresti dare un'occhiata a Galera.

http://www.codership.com/content/using-galera-cluster

Integrato in Maria DB e Percona XTRA DB Cluster


Che dire della replica da Master a Master su GlusterFS?
CMCDragonkai,

-1 per Galera a meno che non si cerchi la scalabilità in lettura. Galera non è adatto per database di grandi dimensioni o database in cui le prestazioni di scrittura contano. Parlo per esperienza e le raccomandazioni di un contratto di supporto con MariaDB.
Ross Peoples

@RossPeoples a dire il vero è improbabile che l'OP faccia questo per le prestazioni di scrittura. È probabile che Gluster aggiunga latenza a ogni transazione. Probabilmente sta probabilmente cercando HA, probabilmente usando un Kubernete per assicurarsi che ci sia una singola istanza dB in esecuzione.
Aron,

1

In teoria puoi. In pratica e soprattutto per quanto riguarda le prestazioni, il manuale di Gluster suggerisce che non è destinato all'uso per la replica di file DB o altri sistemi I / O a grana fine.

Guarda la panoramica ufficiale di Gluster qui:

http://docs.gluster.org/en/latest/Install-Guide/Overview/#is-gluster-going-to-work-for-me-and-what-i-need-it-to-do

Gluster funzionerà per me e di cosa ho bisogno?

... D'altro canto, aggiungendo un numero sufficiente di server Gluster nel mix, alcune persone hanno visto prestazioni migliori con noi rispetto ad altre soluzioni a causa della natura ridotta della tecnologia - Gluster non supporta i cosiddetti "dati strutturati", che significa live , Database SQL. Naturalmente, l'uso di Gluster per il backup e il ripristino del database andrebbe bene - Gluster è tradizionalmente migliore quando si utilizzano file di dimensioni pari ad almeno 16 KB (con un punto debole intorno a 128 KB o giù di lì).

Ancora una volta, se si desidera avere la replica di MySQL, suggerisco:

  1. Utilizzare la replica tradizionale MySQL Master / Slave https://dev.mysql.com/doc/refman/5.7/en/replication.html

  2. Usa il cluster Codership Galera che oggi è implementato in tutti i tipi di MySQL come Oracle MySQL o MariaDB

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.