Cluster OCFS2 su Debian/Ubuntu

Su internet ci sono un sacco di  guide su OCFS2 per RHEL e CentOS, ma nessuna per Debian/Ubuntu quindi visto che ho dovuto configurarlo per lavoro, voglio condividere la mia esperienza con voi.

Installazione di OC2FS

per iniziare è necessario installare i seguenti pacchetti:

apt-get install OCFS2-tools ocfs2console

Configurare OC2FS

In RHEL/CentOS il file di configurazione principale si trova in / etc/sysconfig/o2cb

nella nostra amata distro si trova in: /etc/default/o2cb

Apriamo il file e cambiamo la seguente riga:

da

O2CB_ENABLED = false

a

O2CB_ENABLED = true

Ciò consente di avviare il modulo ocfs2  al boot.

OC2FS installazione cluster.conf

Creiamo il file di configurazione nel seguente modo:

vim /etc/ocfs2/cluster.conf

(si possono avere anche più nodi se volete)

node:
name = SERVER-FARM-ME1
cluster = ocfs2
number = 0
ip_address = 192.168.192.1
ip_port = 7777

node:
name = SERVER-FARM-ME2
cluster = ocfs2
number = 1
ip_address = 192.168.192.2
ip_port = 7777

cluster:
name = ocfs2
node_count = 2
Il nome deve corrispondere all’hostname corretto delle macchine, mentre l’ip deve appartenere alla scheda di rete adibita all’herbeart (consiglio una scheda di rete dedicata)

La parte “cluster” è il nome con il quale verrà chiamato questo cluster e dove viene dichiarato quando nodi sono presenti, assicuriamoci che lo stesso nome sia dichiarato nel file /etc/default/o2c.

Spostiamo il file cluster.conf su ogni nodo (ricordiamoci che ogni nodo deve avere lo stesso identico file cluster.conf)

Ora per settare i parametri principali del demone di solito sotto  RHEL/CentOS si usa questo comando:

/etc/init.d/o2cb configure

Mentre su Ubuntu/Debian si utilizza questa fantastica utility:

dpkg-reconfigure ocfs2-tools (nella maggior parte delle config vanno bene i parametri di default)

Dopo avviamo il servizio o2cb:

/etc/init.d/o2cb start

Loading module “configfs”: OK
Mounting configfs filesystem at /sys/kernel/config: OK
Loading module “ocfs2_nodemanager”: OK
Loading module “ocfs2_dlm”: OK
Loading module “ocfs2_dlmfs”: OK
Mounting ocfs2_dlmfs filesystem at /dlm: OK
Starting O2CB cluster ocfs2: OK

Dopo controlliamo lo stato del o2cb, dovrebbe uscire fuori una cosa del genere:

/etc/init.d/o2cb status

Module “configfs”: Loaded
Filesystem “configfs”: Mounted
Module “ocfs2_nodemanager”: Loaded
Module “ocfs2_dlm”: Loaded
Module “ocfs2_dlmfs”: Loaded
Filesystem “ocfs2_dlmfs”: Mounted
Checking O2CB cluster ocfs2: Online
Heartbeat dead threshold = 7
Network idle timeout: 10000
Network keepalive delay: 5000
Network reconnect delay: 2000
Checking O2CB heartbeat: Active

Formattiamo le partizioni in OCFS2:

mkfs.ocfs2 -b 4k -C 32K -L "NomeLabel" -N 2 /dev/sda2

Assicuriamoci di sostituire “/dev/sda2″ con la partizione che desideriamo formattare. Cerchiamo di non sbagliare perché perderemo tutti i dati su quella partizione.

L’opzioni sono quelle consigliate de default da oracle tranne che per l’opzione “-N 2″ questa imposta il numero massimo di nodi che possono montare quel filesystem, questo valore può essere aumentato ma non può essere diminuito. Non si dovrebbe avere un numero maggiore del necessario (o almeno di non molto). La documentazione Oracle dice che in caso di necessità questo valore può essere aumentato in qualsiasi momento.

Montiamo la partizione OCFS2

mount -t ocfs2 -o _netdev,datavolume  /dev/sda2 /mnt/sda2

L’opzione datavolume si deve usare se la partizione conterrà tablespace di oracle, se invece conterrà altri tipi di file si può montare nel seguente modo:

mount -t ocfs2 -o _netdev,defaults  /dev/sda2 /mnt/sda2

Ora mettiamo la config del file fstab cosi da consetire il montaggio automatico all’avvio

vim /etc/fstab

/dev/drbd1 /ocfs2 _netdev,datavolume 0 0 (Primo esempio)

/dev/drbd1 /ocfs2 _netdev,defaults 0 0 (Secondo esempio)

Questo è tutto :-) spero di aver fatto cosa gradita a tutti.

Frank

About Francesco Gabriele

4 commenti

  1. Grazie sei molto gentile

  2. Benelli Giovanni

    Ciao Francesco,
    trovo la guida interessante, ma non riesco a capire qlcosa. OCFS2 mi permette di usare un disco per due nodi e sincronizza i contenuti?, oppure devo avere due dischi da sincronizzare (per due nodi?). Mi spiego meglio: ho creato due server con debian, al primo ho dato due dischi, al secondo solo uno. Poi ho seguito la guida passo passo, ma mentre sul primo nodo leggo (lanciando il comando mounted.ocfs2 -f):
    Device FS Nodes
    /dev/sdb1 ocfs2 linux1
    sul secondo non vedo niente.
    In sintesi ho aggiunto un disco al primo server l’ho formattato con ocfs2, ho configurato il tutto e poi però non capisco come faccio a farlo vedere al secondo nodo?

  3. Giovanni ocfs può essere usato o con uno storage in fibra o iscsi oppure usando drdb, il disco deve cmq essere visto da tutti e due i nodi.
    Fammi sapere se ti servono altre info

Inserisci un commento

Il tuo indirizzo email non sarà pubblicato. Required fields are marked *

*

È possibile utilizzare questi tag ed attributi XHTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>