Installazione e configurazione di GlusterFS
Installazione pacchetti GlusterFS
Installare tramite
yum
i pacchetti del server GestioneServiziGenerali.GlusterFS sui nodi che comporranno il filesystem distribuito
# yum install glusterfs-fuse glusterfs-server glusterfs-vim
Far partire il servizio
glusterd
appena installato
# /etc/init.d/glusterd start
Permettere che il servizio
glusterd
venga avviato di default al riavvio del server
# chkconfig glusterd on
Creazione di un trusted storage pool
Prima di configurare un volume GestioneServiziGenerali.GlusterFS è necessario creare un trusted storage pool, contenente i server che comporranno il volume.
Per permettere la condivisione del filesystem tra i nodi desiderati eseguire, su uno qualsiasi dei nodi, il comando
gluster peer probe <HOSTNAME_NODE>
per ognuno degli altri nodi.
Ad esempio in un pool di quattro nodi (con hostname rispettivamente
hostname1.domain
,
hostname2.domain
,
hostname3.domain
,
hostname4.domain
) eseguire sull'host
hostname1.domain
:
# gluster peer probe hostname2.domain
# gluster peer probe hostname3.domain
# gluster peer probe hostname4.domain
Per controllare che la creazione del pool sia andata a buon fine, lanciare il comando
gluster peer status
su uno dei nodi. In output verrà visualizzata la composizione del pool.
Ad esempio lanciandolo su
hostname1.domain
si otterrà:
# gluster peer status
Number of Peers: 3
Hostname: hostname2.domain
Uuid: 2088ff36-dbf9-44a3-9b3b-8a3a94d64cd4
State: Peer in Cluster (Connected)
Hostname: hostname3.domain
Uuid: ce7b0621-4068-43e4-b2a5-585c23ade1de
State: Peer in Cluster (Connected)
Hostname: hostname4.domain
Uuid: ae5dfd23-4a65-a2e6-be85-3e5c11abe5cd
State: Peer in Cluster (Connected)
Creazione delle unità base di storage (Brick)
In GestioneServiziGenerali.GlusterFS un Brick è l'unità base dello storage, rappresentata da una directory su un server del trusted storage pool.
Creazione Brick per GLANCE
Nota bene:
- I nodi che compongono il volume condiviso per GLANCE sono 3 in modalità di replica
- Per GLANCE si è reputata sufficiente una dimensione di 300G (Gigabyte) per ciascun brick
- Si è scelto lv_glance come nome del volume logico
- Si è scelto /mnt/brick-glance come directory dove montare il volume logico
Ripetere il seguente set di istruzioni per
ognuno dei nodi che si intende utilizzare per comporre il filesystem per il servizio GLANCE (Image Repository) di OpenStack.
- Creare un volume logico di 300 Gigabyte:
# lvcreate -L 300G -n lv_glance <VOLUME_NAME>
dove <VOLUME_NAME> è il nome del volume fisico sul quale si intende creare il volume logico. Per capire quali sono i volumi fisici disponibili sul server lanciare il comando vgdisplay
Per controllare la corretta creazione del volume logico, digitare il comando lvs
che fornirà in output la lista dei volumi logici disponibili sul server.
- Formattare la partizione appena creata (ad esempio su filesystem ext4):
# mkfs.ext4 <LV_PATH>
dove <LV_PATH> è il percorso del volume logico ricavabile tramite il comando lvdisplay
.
- Creare la directory dove si intende montare il volume appena creato:
# mkdir /mnt/brick-glance
- Per consentire che il volume logico sia montato all'avvio del server, editare il file
/etc/fstab
aggiungendo la seguente riga:
<LV_PATH> /mnt/brick-glance ext4 defaults 1 1
- Montare il volume:
# mount –a
Creazione Brick per NOVA
Nota bene:
- I nodi che compongono il volume condiviso per NOVA sono 4 in modalità di replica distribuita
- Per NOVA si è reputata sufficiente una dimensione di 1000G (Gigabyte) per ciascun brick
- Si è scelto lv_nova come nome del volume logico
- Si è scelto /mnt/brick-glance come directory dove montare il volume logico
Ripetere il seguente set di istruzioni per
ognuno dei nodi che si intende utilizzare per comporre il filesystem per il servizio NOVA (Compute) di OpenStack.
- Creare un volume logico di 1000 Gigabyte:
# lvcreate -L 1000G -n lv_nova <VOLUME_NAME>
- Formattare la partizione appena creata (ad esempio su filesystem ext4):
# mkfs.ext4 <LV_PATH>
- Creare la directory dove si intende montare il volume appena creato:
# mkdir /mnt/brick-nova
- Editare il file
/etc/fstab
aggiungendo la seguente riga:
<LV_PATH> /mnt/brick-nova ext4 defaults 1 1
- Montare il volume:
# mount –a
Creazione del volume condiviso
I Brick vengono utlizzati per comporre il volume di storage condiviso sui nodi. La creazione del volume può essere effettuata su uno qualsiasi dei nodi che compongono il trusted storage pool. Ciascun Brick è identificato dalla combinazione del nome del server con la directory da esportare, nel seguente formato
hostname1.domain:/mnt/mydir .
Creazione del volume condiviso per GLANCE
Nota bene:
- I nodi che compongono il volume condiviso per GLANCE sono 3 in modalità di replica
- Il servizio GLANCE sarà installato sul server hostname1.domain
- Si è scelto volume_glance come nome del volume condiviso
Creare il volume condiviso tramite il seguente comando:
# gluster volume create volume-glance replica 3 transport tcp hostname2.domain:/mnt/brick-glance hostname3.domain:/mnt/brick-glance hostname4.domain:/mnt/brick-glance
Far partire il vomune appena creato:
# gluster volume start volume-glance
Per controllare il corretto avvio del volume, digitare:
# gluster volume info
Sul server che ospiterà il servizio GLANCE (Image repository) montare il volume creato.
Editare il file
/etc/fstab
(se necessario creare la directory
/var/lib/glance/images
):
hostname1.domain:/volume-glance /var/lib/glance/images glusterfs defaults 1 1
Montare il volume condiviso:
# mount –a
Creazione del volume condiviso per NOVA
Nota bene:
- I nodi che compongono il volume condiviso per NOVA sono 4 in modalità di replica distribuita
- Il servizio NOVA sarà installato sui server hostname1.domain, hostname2.domain, hostname3.domain
- Si è scelto volume_nova come nome del volume condiviso
Creare il volume condiviso tramite il seguente comando:
# gluster volume create volume-nova replica 2 transport tcp hostname1.domain:/mnt/brick-nova hostname2.domain:/mnt/brick-nova hostname3.domain:/mnt/brick-nova hostname4.domain:/mnt/brick-nova
Far partire il vomune appena creato:
# gluster volume start volume-nova
Sui server che ospiteranno il servizio NOVA (Compute) montare il volume creato.
Editare il file
/etc/fstab
(se necessario creare la directory
/var/lib/nova/instances
):
hostname1.domain:/volume-nova /var/lib/nova/instances glusterfs defaults 1 1
Montare il volume condiviso:
# mount –a
--
EnricoFattibene - 2012-10-08