GNU/Linux >> Linux Esercitazione >  >> Linux

Aggiungi e rimuovi i server GlusterFS

Questo articolo descrive come aggiungere e rimuovere i server GlusterFS dall'array di server.

Crea un nuovo server

Usa il nova boot comando dell'articolo precedente per creare un server chiamato web3:

nova boot --image bb02b1a3-bc77-4d17-ab5b-421d89850fca --flavor performance1-4 web3

Puoi anche utilizzare il pannello di controllo di Rackspace Cloud per creare il nuovo server.

Aggiungi il server alla rete personalizzata Rackspace

Nell'articolo precedente, hai aggiunto una rete personalizzata Rackspace.

  1. Ottieni l'Universal Unique Identifer (UUID) della rete utilizzando il seguente nova comando:

    nova network-list
    
  2. Dopo aver ottenuto l'UUID, associalo al nuovo host.

    Sostituisci UUID nel comando seguente con l'UUID effettivo (ad esempio, 5492de89-1497-4aa0-96eb-bcdd55e1195c1 ). web03 è il nome host del server che vuoi aggiungere.

    nova network-associate-host UUID web03
    

Puoi anche utilizzare il pannello di controllo di Rackspace Cloud per associare un server alla tua rete esistente.

Quando hai finito, il nuovo server dovrebbe avere l'indirizzo IP 192.168.0.3 sull'interfaccia /dev/eth3 . Questo è l'indirizzo che GlusterFS usa per comunicare con l'altro server.

Formatta la partizione e installa GlusterFS

Utilizzare i seguenti passaggi per formattare la partizione del server e installare GlusterFS:

  1. Usa Secure Shell (SSH) per accedere al server.

  2. Utilizzando le istruzioni dell'articolo precedente, installa GlusterFS e formatta i bricks partizione come segue:

    apt-get update
    apt-get install -y glusterfs-server glusterfs-client
    apt-get install -y xfsprogs
    mkfs.xfs /dev/xvde1
    mkdir /srv/.bricks
    echo /dev/xvde1 /srv/.bricks xfs rw 0 1 >> /etc/fstab
    mount /srv/.bricks
    ufw allow in on eth2
    

Incorpora il nuovo mattone nel volume Gluster

  1. Usa SSH per accedere a web01 o web02 .

  2. Il comando seguente indica al volume GlusterFS di considerare attendibile il nuovo server:

    root@web02 :~# gluster peer probe 192.168.0.3
    peer probe: success
    
  3. Aggiungi il mattone al volume utilizzando i seguenti comandi:

    root@web02 :~# gluster volume add-brick www replica 3 192.168.0.3:/srv/.bricks/www
    volume add-brick: success
    

Il comando include le seguenti parti:

  • gluster - Il comando è per GlusterFS.
  • volume - Il comando è relativo a un volume.
  • add-brick - Stai aggiungendo un mattone al volume.
  • www - Questo è il nome del volume.
  • replica 3 - Dopo aver aggiunto questo brick, il volume conserva almeno tre copie di ogni file, una copia per brick e, in questo caso, una copia per server (perché su ogni server c'è solo un brick).
  • 192.168.0.3:/srv/.bricks/www - Questa parte del comando è l'indirizzo IP del server Gluster, seguito dal percorso assoluto in cui sono archiviati i dati del mattone.

Strategie di archiviazione del volume

GlusterFS offre i seguenti tipi di strategie di archiviazione dei volumi:

  • Distribuito - Un file è su un mattone e il file successivo è sul mattone successivo. Questa strategia ti dà più spazio perché il tuo volume è la somma di tutti i mattoni.
  • Replica (Consigliato ) - Ogni file viene copiato su ogni server.
  • A righe - I file vengono tagliati in blocchi e un blocco viene scritto sul primo mattone, un blocco viene scritto sul secondo mattone e così via.

Puoi anche combinare strategie, ad esempio replicate e distribuite, come illustrato nell'esempio seguente:

gluster volume create www replica 2 transport tcp
192.168.0.1:/srv/.bricks/www 192.168.0.2:/srv/.bricks/www
192.168.0.3:/srv/.bricks/www 192.168.0.4:/srv/.bricks/www

Il numero di replica è il numero di mattoncini che compongono un set di repliche, ovvero contengono una copia completa dei file. Nell'esempio precedente 192.168.0.1 e 192.168.0.2 conserva una copia completa dei file, così come 192.168.0.3 e 192.168.0.4 . L'ordine dei mattoni è significativo. Se lo hai ordinato 1,3,2,4, allora 1 e 3 e 2 e 4 conterrebbero i file completi. Se 1 e 2 non funzionassero, perderesti metà dei tuoi file e avresti due copie dell'altra metà.

La combinazione di un volume replicato e distribuito ti offre un po' di velocità in più e più spazio in cambio della sicurezza dei dati.

Una combinazione di volumi con striping e replicati è consigliata solo quando hai file più grandi di un mattone o molti file di grandi dimensioni che stanno subendo molte operazioni di I/O.

Visualizza lo stato dei server

I seguenti comandi ti aiutano a scoprire di più su cosa sta succedendo nel tuo cluster. Utilizzerai questi comandi nei successivi articoli di GlusterFS.

stato del peer

Se esegui il seguente comando da qualsiasi server, mostra tutti i server peer di cui è a conoscenza:

root@web01:~# gluster peer status
Number of Peers: 2

Hostname: 192.168.0.3
Uuid: ba502dc2-447f-466a-a732-df989e71b551
State: Peer in Cluster (Connected)

Hostname: 192.168.0.2
Uuid: 56e02356-d2c3-4787-ae25-6b46e867751a
State: Peer in Cluster (Connected)

stato del volume

Il comando seguente è un utile comando per la risoluzione dei problemi. Fornisce informazioni su tutti i volumi GlusterFS e le attività in coda e in corso.

root@web03:~# gluster volume status
Status of volume: www
Gluster process						Port	Online	Pid
------------------------------------------------------------------------------
Brick 192.168.0.2:/srv/.bricks/www			49152	Y	13673
Brick 192.168.0.1:/srv/.bricks/www			49152	Y	10249
Brick 192.168.0.3:/srv/.bricks/www			49153	Y	13783
NFS Server on localhost					2049	Y	13793
Self-heal Daemon on localhost				N/A	Y	13800
NFS Server on 192.168.0.2				2049	Y	13900
Self-heal Daemon on 192.168.0.2				N/A	Y	13907
NFS Server on 192.168.0.1				2049	Y	10286
Self-heal Daemon on 192.168.0.1				N/A	Y	10293

There are no active volume tasks

Rimuovi un mattone

È possibile ridurre i volumi in base alle esigenze mentre il cluster è online e disponibile. Usa il seguente comando per rimuovere un mattone:

# gluster volume remove-brick <volName> <brickName> start

Esecuzione di remove-brick con l'start l'opzione attiva automaticamente un'operazione di ribilanciamento per migrare i dati dai mattoni rimossi al resto del volume.

L'esempio seguente rimuove il mattone 2:

root@web01:~# gluster volume remove-brick www replica 2 192.168.0.2:/srv/.bricks/www start
Removing brick(s) can result in data loss. Do you want to Continue? (y/n) y
volume remove-brick commit force: success

Questo comando dice a GlusterFS che www volume conserverà ora solo 2 copie di ogni file. Ti avverte che potresti perdere dati e ti chiede di continuare.

Se vuoi rimuovere un mattone su un volume distribuito, dovresti invece eseguire il seguente comando:

root@web01:~# gluster volume remove-brick www 192.168.0.2:/srv/.bricks/www start

Puoi visualizzare lo stato del remove-brick operazione utilizzando il seguente comando:

root@web01:~# watch gluster volume remove-brick www replica 2 192.168.0.2:/srv/.bricks/www status

Aggiungi nuovamente un mattone

Questa sezione spiega come aggiungere nuovamente un mattone.

Prova ad aggiungere nuovamente web02 al volume, come segue:

root@web02:~# gluster volume add-brick www replica 3 192.168.0.2:/srv/.bricks/www
volume add-brick: failed:

E 'fallito. Guarda i log su web02 per vedere perché il comando non è riuscito:

root@web02:/srv/.bricks# tail /var/log/glusterfs/*log -f | grep E
[2014-05-25 00:19:04.954410] I [input.c:36:cli_batch] 0-: Exiting with: 0
[2014-05-25 00:19:12.958620] I [input.c:36:cli_batch] 0-: Exiting with: 0
[2014-05-25 00:40:46.923747] E [glusterd-utils.c:5377:glusterd_is_path_in_use] 0-management: /srv/.bricks/www or a prefix of it is already part of a volume
[2014-05-25 00:40:46.923789] E [glusterd-op-sm.c:3719:glusterd_op_ac_stage_op] 0-management: Stage failed on operation 'Volume Add brick', Status : -1

Il problema è che /srv/.bricks/www contiene ancora i dati dell'epoca in cui web02 era un membro del volume.

Hai bisogno di un posto pulito dove archiviare i dati. Il modo più semplice per ripulire è rimuovere tutti i dati utilizzando il seguente comando:

root@web02:~# rm -rf /srv/.bricks/www

Avviso :fare attenzione a eseguire questa azione sull'host corretto (web02, che al momento è fuori volume). Se commetti un errore, il prossimo articolo ti mostra come recuperare. Le azioni alternative sono spostare il www directory fuori mano, o per aggiungere il mattone usando un'altra directory, come www2 .

Ora che hai una posizione pulita in cui riporre il mattone, l'aggiunta del mattone è riuscita:

root@web01:/srv# gluster volume add-brick www replica 3 192.168.0.2:/srv/.bricks/www
volume add-brick: success

Passaggi successivi

  • Come eseguire il ripristino da un server guasto in un array GlusterFS

Linux
  1. Xorg, X11, Wayland? Spiegazione di protocolli e server di visualizzazione Linux

  2. Come aggiungere e rimuovere domini in Plesk

  3. Aggiungi e rimuovi ruoli e funzionalità su Windows Server

  4. Domande frequenti sui server cloud

  5. Nuove funzionalità in General Purpose e Cloud Server ottimizzati per il lavoro

Come aggiungere e rimuovere record A in cPanel?

Come aggiungere e rimuovere record MX in cPanel?

Come aggiungere e rimuovere record TXT in cPanel?

30 strumenti e servizi interessanti per monitorare i tuoi server Linux

Come aggiungere un sito Web in cPanel e WHM su CentOS 6.7

Come aggiungere il supporto PHP-FPM su Apache e Nginx Web Server su Ubuntu 18.04