Archivio

Posts Tagged ‘YUM fs-snapshot’

YUM plug-in : FS-SNAPSHOT

fs-snapshot (yum-plugin-fs-snapshot) è un plug-in che estende le funzionalità di yum permettendogli di creare uno snapshot del sistema nel momento in cui vengono eseguiti degli Update o vengono rimossi dei pacchetti .
Se qualcosa dovesse andar storto durante la rimozione di un pacchetto perchè vengono eliminate delle dipendeze che servono ad altri software o dopo un aggiornamento ci si accorge che qualcosa non funziona correttamente , grazie a questo plug-in è possibile tornare ialla situazione precedente.

Per funzionare il filesystem root ( / ) deve essere un volume LVM o Btrfs . Per utilizzare fs-snapshot su un volume LVM si deve :

N.B. = La seguente procedura è stata provata su un server virtuale , per tale motivo aggiungere un disco è un gioco da ragazzi . Le cose potrebbero essere più complicate se si tratta di un server fisico , in quanto occorre installare un disco fisico .

1. Assicurarsi che il Volume Group in cui risiede il file system / abbia abbastanza extent liberi . Lo spazio necessario dovrebbe essere il 50-80% delle dimensioni del volume originale. Questo valore dipende comunque da quanti cambiamenti vengono apportati .
Per vedere le informazioni dettagliate di un volume group , usare il comando vgdisplay come utente root

#vgdisplay nome_volume_group

Il numero degli extents liberi è visibile alla voce Free PE/Size .

2. Se il volume group in cui risiede il file system / non ha abbastanza spazio è necessario aggiungere un volume:

A. come utente root , utilizzate il comando pvcreate per inizializzarlo come volume da utilizzare con LVM:
#pvcreate nome-device

B. Usiamo poi vgextend per aggiungere il volume fisico al volume group :

#vgextend volume-group volume

3. Ora dobbiamo modificare il file di configurazione del plugin situato in /etc/yum/pluginconf.d/fs-snapshot.conf facendo le seguenti modifiche nella sezione [lvm] :

A. Cambiamo il valore dell’opzione enabled a 1 :

enabled = 1

B. Rimuoviamo il carattere # all’inizio della linea lvcreate_size_args e configuriamo la percentuale di spazio che verrà allocata per lo snapshot :

lvcreate_size_args = -l 80%ORIGIN

4. A questo punto possiamo provare l’installazione di un’pacchetto , ad esmpio proviamo ad installare nmap :

#yum install nmap

Ci accorgeremo che dopo aver scaricato i pacchetti necessari comparirà una voce del tipo :

snapshotting file_system (/dev/volume_group/logical_volume): logical_volume_yum_timestamp
fs-snapshot: snapshotting / (/dev/VolGroup/lv_root): lv_root_yum_20120403112435

Se diamo il comando lvdisplay vedremo un nuovo volume chiamato lv_root_yum_20120403112435 (questo nome dipende da come si chiama il vostro volume root di cosenguenza può essere diverso)

Ora abbiamo due possibilià per gestire questo snapshot :

1. Dopo aver verificato che il sistema funzioni correttamente e nel modo in cui ce lo aspettavamo possiamo eliminare lo snapshot . Come utente root diamo il comando :

lvremove /dev/volume_group/logical_volume_yum_timestamp

N.B. : Fate molta attenzione perchè YUM non elimina gli snapshot , bisogna quindi ricordarsi di farlo a mano

2. Decidiamo che le modfiche apportate dagli aggiornamenti o dal software installato non vanno bene quindi dobbiamo tornare alla situazione precedente :

N.B. : E’ importante tenere presente che se nel server stanno girando servizi come DB o cose del genere e stanno eseguendo delle transazioni, nel momento in cui torneremo allo stato precedente perderemo le ultime transazioni eseguite .

A. Come utente root diamo il seguente comando per eseguire il merge dello snapshot con il sistema

#lvconvert --merge /dev/volume_group/logical_volume_yum_timestamp
#lvconvert --merge /dev/VolGroup/lv_root_yum_20120403112435

L’utility ci avviserà che sarà necessario eseguire un riavvio perchè le modifiche abbiano effetto .

B. reboot

Dopo il riavvio il server sarà esattamente come era prima dello snapshot .

Annunci