Wiki Ubuntu-it

Indice
Partecipa
FAQ
Wiki Blog
------------------
Ubuntu-it.org
Forum
Chiedi
Chat
Cerca
Planet
  • Pagina non alterabile
  • Informazioni
  • Allegati
  • Differenze per "simoner/Prove2"
Differenze tra le versioni 2 e 16 (in 14 versioni)
Versione 2 del 25/10/2008 09.30.12
Dimensione: 3773
Commento: category homepage
Versione 16 del 14/03/2011 12.51.11
Dimensione: 5174
Autore: localhost
Commento: converted to 1.6 markup
Le cancellazioni sono segnalate in questo modo. Le aggiunte sono segnalate in questo modo.
Linea 3: Linea 3:
[[BR]]
[[Indice()]]
<<BR>>
<<Indice(depth=2)>>
Linea 6: Linea 6:
= File System Distribuito: GlusterFS = = Introduzione =
Linea 8: Linea 8:
GlusterFS è un file system clusterizzato capace di gestire molti petabytes. Questa pagina contiene le istruzioni utili per installare il filesystem clusterizzato '''GlusterFS''', capace di gestire molti petabytes di dati.
Linea 10: Linea 10:
''Segue un dettaglio della mia installazione su un sistema Ubuntu-like.'' = Preparativi =
Linea 12: Linea 12:
Il lato client di GlusterFS usa '''Fuse''' per il ''mount''.

Scaricare l'ultima versione di GlusterFS da [http://europe.gluster.org/glusterfs/1.3/].

E' consigliabile installare anche una versione patchata di Fuse, fatta su misura per GlusterFS (migliori performance IO ed altro). Si può scaricare da [http://europe.gluster.org/glusterfs/fuse/].

{{{
$ cd /opt/source
$ mkdir glusterFS
$ wget http://europe.gluster.org/glusterfs/1.3/glusterfs-1.3.8pre6.tar.gz
$ wget http://europe.gluster.org/glusterfs/fuse/fuse-2.7.2glfs9.tar.gz
$ tar xvzf glusterfs-1.3.8pre6.tar.gz
$ tar xvzf fuse-2.7.2glfs9.tar.gz
Prima di iniziare ad apportare delle modifiche al modulo nel kernel è consigliato creare una copia di sicurezza del file originale, quindi digitare il seguente comando all'interno di una finestra di terminale:{{{
sudo mv /lib/modules/`uname -r`/kernel/fs/fuse/fuse.ko /lib/modules/`uname -r`/kernel/fs/fuse/fuse.ko.orig
Linea 27: Linea 16:
Cominciamo con Fuse (ricordarsi di backappare il modulo originale di fuse, se è già installato). = Installazione =
Linea 29: Linea 18:
{{{
$ sudo mv /lib/modules/2.6.22-14/kernel/fs/fuse/fuse.ko /lib/modules/2.6.22-14/kernel/fs/fuse/fuse.ko.orig
$ cd fuse-2.7.2glfs9/
$ ./configure --prefix=/opt/fuse --enable-kernel-module
$ make
$ sudo make install
$ sudo ldconfig
$ sudo rmmod fuse
$ sudo modprobe fuse
 0. Scaricare all'interno della propria '''Home''' l'ultima versione di '''GlusterFS''' da [[http://europe.gluster.org/glusterfs/|questo indirizzo]].

 0. Scaricare una patch di Fuse pensata per aumentare le prestazioni di '''GlusterFS''' da [[http://europe.gluster.org/glusterfs/fuse/|questo indirizzo]].

 0. Copiare i pacchetti scaricati in precedenza all'interno della cartella `/opt/source` e scompattarli, digitando i seguenti comandi all'interno di una finestra di terminale:{{{
mkdir /opt/source/glusterFS
sudo cp glusterfs-*.tar.gz /opt/source/glusterFS
sudo cp fuse-*.tar.gz /opt/source/glusterFS
tar xvzf glusterfs-*.tar.gz
tar xvzf fuse-*.tar.gz
Linea 40: Linea 30:
Adesso GlusterFS

{{{
$ cd glusterfs-1.3.8pre6/
$ LDFLAGS='-L/opt/fuse/lib' CPPFLAGS='-I/opt/fuse/include' ./configure --prefix=/opt/glusterfs
$ make
$ sudo make install
 0. Installare il pacchetto '''fuse''' digitando i seguenti comandi all'interno di una finestra di terminale:{{{
cd fuse-*/
./configure --prefix=/opt/fuse --enable-kernel-module
make
sudo make install
sudo ldconfig
sudo rmmod fuse
sudo modprobe fuse
Linea 49: Linea 40:
In questa installazione uso 2 server e 1 client.
Prima creo su entrambi i server (remote1, remote2) la directory condivisa:
{{{
 0. Installare il pacchetto '''GlusterFS''' digitando i seguenti comandi all'interno di una finestra di terminale:{{{
cd glusterfs-*
LDFLAGS='-L/opt/fuse/lib' CPPFLAGS='-I/opt/fuse/include' ./configure --prefix=/opt/glusterfs
make
sudo make install
}}}

= Configurazione =

Viene mostrato come applicare la configurazione per due server («remote1» e «remote2») ed un client.
 0. Creare la cartella `/data/export` digitando il seguente comando all'interno di una finestra di terminale:{{{
Linea 55: Linea 54:
Su entrambe le macchine server (remote1, remote2) scrivo in ''/opt/glusterfs/etc/glusterfs/glusterfs-server.vol'':
{{{
 0. Su entrambi i servers modificare con un [[http://wiki.ubuntu-it.org/Ufficio/EditorDiTesto|editor di testo]] e con i [[http://wiki.ubuntu-it.org/AmministrazioneSistema/Sudo|privilegi di amministrazione]] il file `/opt/glusterfs/etc/glusterfs/glusterfs-server.vol` apportando le seguenti modifiche:{{{
Linea 70: Linea 68:

e sulla macchina client scrivo in ''/opt/glusterfs/etc/glusterfs/glusterfs-client.vol'':
{{{
 0. Sul client modificare con un [[http://wiki.ubuntu-it.org/Ufficio/EditorDiTesto|editor di testo]] e con i [[http://wiki.ubuntu-it.org/AmministrazioneSistema/Sudo|privilegi di amministrazione]] il file `/opt/glusterfs/etc/glusterfs/glusterfs-client.vol` apportando le seguenti modifiche:{{{
Linea 77: Linea 73:
  option remote-host ''remote1.indirizzo.ip''   option remote-host remote1.indirizzo.ip
Linea 84: Linea 80:
  option remote-host ''remote2.indirizzo.ip''   option remote-host
Linea 92: Linea 88:
}}} Sostituire le diciture «remote1.indirizzo.ip» e «remote2.indirizzo.ip» con l'indirizzo IP dei due server.

 0. Avviare il demone su entrambi i servers digitando all'interno di una finestra di terminale il seguente comando:{{{
sudo /opt/glusterfs/sbin/glusterfsd -f /opt/glusterfs/etc/glusterfs/glusterfs-server.vol
Linea 94: Linea 94:
Infine sulle macchine server avvio il demone:  0. Montare la cartella remota sul client digitando uno dei seguenti comandi:{{{
sudo /opt/glusterfs/sbin/glusterfs -f /opt/glusterfs/etc/glusterfs/glusterfs-client.vol /mnt/glusterfs
sudo /opt/glusterfs/sbin/glusterfs -s remote1.indirizzo.ip /mnt/glusterfs
}}} Sostituire la dicitura «remote1.indirizzo.ip» con l'indirizzo IP del primo server.
Linea 96: Linea 99:
{{{
$ sudo /opt/glusterfs/sbin/glusterfsd -f /opt/glusterfs/etc/glusterfs/glusterfs-server.vol
}}}
 0. Per montare la cartella in modo automatico all'avvio del sistema, modificare con un [[http://wiki.ubuntu-it.org/Ufficio/EditorDiTesto|editor di testo]] e con i [[http://wiki.ubuntu-it.org/AmministrazioneSistema/Sudo|privilegi di amministrazione]] il file `/etc/fstab` aggiungendo solo una delle seguenti righe:{{{
remote1.indirizzo.ip /mnt/glusterfs glusterfs defaults 0 0
/opt/glusterfs/etc/glusterfs/glusterfs-client.vol /mnt/glusterfs glusterfs defaults 0 0
}}} Sostituire la dicitura «remote1.indirizzo.ip» con l'indirizzo IP del primo server.
Linea 100: Linea 104:
e sul client monto la direcotry remota

{{{
$ sudo /opt/glusterfs/sbin/glusterfs -f /opt/glusterfs/etc/glusterfs/glusterfs-client.vol /mnt/glusterfs
$ # oppure
$ sudo /opt/glusterfs/sbin/glusterfs -s remote1.indirizzo.ip /mnt/glusterfs
}}}

Possiamo montare la directory anche con il comando ''mount''

{{{
$ sudo mount -t glusterfs remote1.indirizzo.ip /mnt/glusterfs
}}}

Per montare la direcotry in modo automatico all'avvio aggiungiamo una riga a /etc/fstab:

{{{
remote1.indirizzo.ip /mnt/glusterfs glusterfs defaults 0 0
}}}

oppure

{{{
/opt/glusterfs/etc/glusterfs/glusterfs-client.vol /mnt/glusterfs glusterfs defaults 0 0
}}}


'''ATTENZIONE:'''
'''''Non tentare mai di scrivere direttamente nella directory gestita da GlusterFS, ovvero nell'esempio /data/export !!'''''
||<tablestyle="text-align: justify; width:100%;" style="border:none;" 5%><<Immagine(Icone/Piccole/warning.png,,center)>> ||<style="padding:0.5em; border:none;">'''Non bisogna mai scrivere direttamente all'interno della cartella gestita da GlusterFS, ovvero in questo esempio in `/data/export`.'''||
Linea 133: Linea 108:
 * [http://www.gluster.org/docs/index.php/GlusterFS Wiki di GlusterFS]
 * [http://www.piemontewireless.net Il mio Wiki
]
 * [[http://www.gluster.org/|Sito ufficiale del progetto]]
 * [
[http://www.gluster.org/docs/index.php/GlusterFS|Wiki su GlusterFS]]


Introduzione

Questa pagina contiene le istruzioni utili per installare il filesystem clusterizzato GlusterFS, capace di gestire molti petabytes di dati.

Preparativi

Prima di iniziare ad apportare delle modifiche al modulo nel kernel è consigliato creare una copia di sicurezza del file originale, quindi digitare il seguente comando all'interno di una finestra di terminale:

sudo mv /lib/modules/`uname -r`/kernel/fs/fuse/fuse.ko /lib/modules/`uname -r`/kernel/fs/fuse/fuse.ko.orig

Installazione

  1. Scaricare all'interno della propria Home l'ultima versione di GlusterFS da questo indirizzo.

  2. Scaricare una patch di Fuse pensata per aumentare le prestazioni di GlusterFS da questo indirizzo.

  3. Copiare i pacchetti scaricati in precedenza all'interno della cartella /opt/source e scompattarli, digitando i seguenti comandi all'interno di una finestra di terminale:

    mkdir /opt/source/glusterFS
    sudo cp glusterfs-*.tar.gz /opt/source/glusterFS
    sudo cp fuse-*.tar.gz /opt/source/glusterFS
    tar xvzf glusterfs-*.tar.gz
    tar xvzf fuse-*.tar.gz
  4. Installare il pacchetto fuse digitando i seguenti comandi all'interno di una finestra di terminale:

    cd fuse-*/
    ./configure --prefix=/opt/fuse --enable-kernel-module
    make
    sudo make install
    sudo ldconfig
    sudo rmmod fuse
    sudo modprobe fuse
  5. Installare il pacchetto GlusterFS digitando i seguenti comandi all'interno di una finestra di terminale:

    cd glusterfs-*
    LDFLAGS='-L/opt/fuse/lib' CPPFLAGS='-I/opt/fuse/include' ./configure --prefix=/opt/glusterfs
    make
    sudo make install

Configurazione

Viene mostrato come applicare la configurazione per due server («remote1» e «remote2») ed un client.

  1. Creare la cartella /data/export digitando il seguente comando all'interno di una finestra di terminale:

    sudo mkdir -p /data/export
  2. Su entrambi i servers modificare con un editor di testo e con i privilegi di amministrazione il file /opt/glusterfs/etc/glusterfs/glusterfs-server.vol apportando le seguenti modifiche:

    # file: /opt/glusterfs/etc/glusterfs/glusterfs-server.vol
    volume brick
      type storage/posix
      option directory /data/export
    end-volume
    
    volume server
      type protocol/server
      option transport-type tcp/server
      option auth.ip.brick.allow *
      subvolumes brick
    end-volume
  3. Sul client modificare con un editor di testo e con i privilegi di amministrazione il file /opt/glusterfs/etc/glusterfs/glusterfs-client.vol apportando le seguenti modifiche:

    # file: /opt/glusterfs/etc/glusterfs/glusterfs-client.vol
    volume remote1
      type protocol/client
      option transport-type tcp/client
      option remote-host remote1.indirizzo.ip
      option remote-subvolume brick
    end-volume
    
    volume remote2
      type protocol/client
      option transport-type tcp/client
      option remote-host 
      option remote-subvolume brick
    end-volume
    
    volume mirror0
      type cluster/afr
      subvolumes remote1 remote2
    end-volume
    Sostituire le diciture «remote1.indirizzo.ip» e «remote2.indirizzo.ip» con l'indirizzo IP dei due server.
  4. Avviare il demone su entrambi i servers digitando all'interno di una finestra di terminale il seguente comando:

    sudo /opt/glusterfs/sbin/glusterfsd -f /opt/glusterfs/etc/glusterfs/glusterfs-server.vol
  5. Montare la cartella remota sul client digitando uno dei seguenti comandi:

    sudo /opt/glusterfs/sbin/glusterfs -f /opt/glusterfs/etc/glusterfs/glusterfs-client.vol /mnt/glusterfs
    sudo /opt/glusterfs/sbin/glusterfs -s remote1.indirizzo.ip /mnt/glusterfs
    Sostituire la dicitura «remote1.indirizzo.ip» con l'indirizzo IP del primo server.
  6. Per montare la cartella in modo automatico all'avvio del sistema, modificare con un editor di testo e con i privilegi di amministrazione il file /etc/fstab aggiungendo solo una delle seguenti righe:

    remote1.indirizzo.ip  /mnt/glusterfs   glusterfs   defaults         0   0
    /opt/glusterfs/etc/glusterfs/glusterfs-client.vol  /mnt/glusterfs   glusterfs   defaults         0   0
    Sostituire la dicitura «remote1.indirizzo.ip» con l'indirizzo IP del primo server.

Non bisogna mai scrivere direttamente all'interno della cartella gestita da GlusterFS, ovvero in questo esempio in /data/export.

Ulteriori risorse


CategoryHomepage