Configurare LVM Snapshot come punto di backup / ripristino in Ubuntu


29

Configurare LVM Snapshot come punto di backup / ripristino in Ubuntu.

Perché?

Bene, a mio modo di vedere, con tutta la grande utilità di Linux, il suo più grande svantaggio è con il suo modo confuso di installare app. Tutte le DLL vanno in una directory. Tutti i file di configurazione su un altro. E anche i binari sono messi in un mucchio. Sì, Windows funziona più o meno allo stesso modo, ma con la natura del software di sistema / server installato su Linux, dato che la maggior parte del software installato è maturo solo per il 95% in un dato momento, rovinare il sistema due volte al mese è molto probabile ..

Naturalmente, possiamo eseguire il backup del sistema prima e dopo ogni installazione, ma ciò richiede un milione di anni. I backup di sistema (anziché solo il backup di dati / file) richiedono lo spegnimento del computer e l'utilizzo di una qualche forma di CD live avviabile e di un supporto di backup. E, se l'unità è piena per oltre il 15%, il backup potrebbe richiedere molto tempo, anche con hardware moderno.

Quindi, come si può fare?


3
Questa non è una domanda ... anche io immagino che tu non sembri molto difficile; un rapido google per "ubuntu lvm snapshot" e la prima cosa che viene fuori è wiki.ubuntu.com/Lvm
psusi

1
Niente a che fare con ... l'hai letto? Copre tutto ciò che hai detto qui.
psusi,

5
Ovviamente puoi porre una domanda e poi rispondere tu stesso - ma tieni presente che questo sito funziona come domande e risposte - non destinato a tutorial in forma libera.
Guntbert,

3
Questa è la cosa. AskUbuntu fornisce tutorial, ma non sono riuscito a trovare un modo semplice per metterne uno. E poiché volevo condividere il mio duro lavoro con chiunque potesse trarne beneficio, ho deciso di pubblicarlo qui.
strofina il

4
Votando per riaprire in modo da poterlo dividere in domande e
risposte

Risposte:


11

L'alternativa - Istantanee LVM - Puoi leggere le istantanee LVM qui: http://www.tutonics.com/2012/12/lvm-guide-part-2-snapshots.html

In breve: le istantanee sono un modo per congelare i settori utilizzati sul disco rigido, dicendo al sistema di scrivere qualsiasi modifica / eliminazione / aggiunta su una parte riservata del disco rigido, chiamata volume dell'istantanea, quindi rimandare la decisione di conservare / scartare le modifiche sull'unità per qualche tempo futuro, per quanto lo spazio del volume dell'istantanea fornisce. E così, una volta che decidi di eseguire il rollback delle modifiche (o di conservarle), puoi farlo con una riga.

All'inizio può sembrare complesso, ma posso assicurarti che dopo il primo tentativo, tutto ciò che è necessario per utilizzare il meccanismo di snapshot sono solo 2 righe di script (download forniti!)

Garanzia - Nessuna garanzia quanto mai concesso per le istruzioni seguenti. Utilizzare a proprio rischio!

Come?

Se non si dispone di un gruppo di volumi preconfigurato, sarà probabilmente necessario installare un nuovo Ubuntu pulito. Quindi, dovrai impegnarti a configurare correttamente il sistema per la prima volta, ma da questo punto in poi l'istantanea diventerà senza sforzo . E per sforzo intendo i comandi di una riga, usando script preconfigurati.

  1. Avvia il cd live di Ubuntu (nessuna installazione ancora .. solo il cd live)
  2. Apri Accessori -> Terminale
  3. Cancelleremo il disco rigido! Si prega di eseguire il backup di qualsiasi cosa importante prima di passare attraverso questa fase.

    Innanzitutto, rimuoviamo le partizioni esistenti:

    # fdisk /dev/sda
      Enter 'd' to delete - enter for as many partitions you have 
    > d   
    > <enter>
      ...
      Enter 'w' to write down changes
    > w
    
  4. Creare la partizione di avvio e il resto dell'unità come l'altra partizione

    # fdisk /dev/sda
    > n
      To create a new partition.
    > p
      For Boot Primary partition.
    > 1
      Press <enter> to accept the default start sector.
      Enter:
    > +512M
      To give the boot partition a size of 512MB
    > n
      To create (another) new partition.
    > p
      Should be Primary too.
    > <enter> 
      To accept the default value of 2 (the second partition)
    > <enter>
      To accept the default start sector
    > <enter>
      To accept the whole disk
    > t
      To change the type of the second partition to LVM
    > 2
      To choose the second partition
    > 8e
      To set the type to 'LVM Linux'
    > w
      To write changes and exit.
    

    Per verificare che le modifiche abbiano funzionato correttamente:

    # fdisk --list
    

    Dovresti ottenere qualcosa del genere:

      Device     Boot   Start    End        Blocks     Id   System
      /dev/sda1         2048     524287     261120     83   Linux
      /dev/sda2         524288   488397167  243936440  8e   Linux LVM
    
  5. Rimuovere eventuali gruppi di volumi / volumi logici precedenti:

    # lvdisplay 
    

    Visualizzerà i volumi logici che potresti avere sul sistema

    # lvremove <existing_logical_volume_name>
    

    Se è necessario rimuovere un'installazione di volume che potrebbe interferire con questa installazione.

    # vgdisplay 
    

    Mostrerà qualsiasi gruppo di volumi esistente sul sistema

    # vgremove <existing_volume_group>
    

    Come per i gruppi di volumi ..

  6. Crea il gruppo di volumi 'vgsnap'

    # vgcreate vgsnap /dev/sda2
    

    Dovrebbe risultare con:

      Volume group "vgsnap" successfully created
    
  7. Crea il volume logico

    # lvcreate --extents 100%FREE --name lvroot vgsnap
    

    Il volume logico di root, a partire dal 100% del dispositivo.

    # lvresize --size -30G /dev/mapper/vgsnap-lvroot
    

    Questo toglierà 30G per i volumi di swap & snapshot. Ovviamente, puoi scegliere dimensioni più piccole per lo scambio / istantanea.

    > 'y'
      for the warning shown.
    

    E crea il volume di scambio:

    # lvcreate --size 15G --name lvswap vgsnap
    

    Nota: lasciamo ora 15G di spazio su disco inutilizzato, riservato per lo snapshot futuro.

  8. Installazione di Ubuntu

    Chiudi il terimnal e avvia il programma di installazione.

    Scegli "Usa LVM ..." (Puoi anche scegliere di abilitare la crittografia dell'intero disco, ma non l'ho provato ..)

    Seleziona "Qualcos'altro" e premi continua. In questa fase troverai i volumi / dev / mapper / ... definiti. Alcuni di questi sono generati automaticamente (lvsnap- *) - per ora puoi ignorarli.

    Selezionare: / dev / mapper / volume vgsnap-lvroot. Scegli "ext4" come formato e monta come '/'

    Seleziona: / dev / mapper / volume vgsnap-lvswap e scegli "area di scambio"

    Se devi creare un disco crittografato (non ho idea se funzionerebbe con le istantanee?), Probabilmente vorrai selezionare / dev / sda2 e contrassegnare il "volume per la crittografia". Non l'ho provato però ..

    Nota: i 15G non utilizzati vengono lasciati liberi per il volume dell'istantanea.

    Selezionare: / dev / sda1 partition. Formattalo come "ext2" e montalo come "/ boot"

    Sotto - scegli: / dev / sda1 partizione come boot

    Installare!

Utilizzando l'istantanea

I seguenti passaggi mostreranno come utilizzare l'istantanea in qualsiasi momento:

  1. Montaggio dell'istantanea:

    Crea il volume dell'istantanea

    # lvcreate --size 15G --snapshot --name lvsnap /dev/mapper/vgsnap-lvroot
    

    Crea la directory di montaggio

    # mkdir /mnt/vgsnap-lvsnap
    

    Montare l'istantanea come montaggio di sola lettura

    # mount -o ro /dev/vgsnap/lvsnap  /mnt/vgsnap-lvsnap
    

    Lo snapshot è attivo!

    A questo punto potresti iniziare a rovinare il tuo sistema, installare i driver beta e persino (No! È solo inappropriato).

    D'ora in poi puoi tornare in qualsiasi momento (per quanto riguarda le dimensioni dell'istantanea ..) allo stato precedente oppure, se sei soddisfatto del nuovo look, conservarlo.

  2. Monitoraggio automatico dello spazio su disco per il volume dello snapshot: utilizzando una versione ottimizzata dello script fornita qui: http://blog.rimuhosting.com/2012/02/20/cron-script-for-checking-disk-space/ Ho creato lo script monitor_snapshot .

    Come usarlo / installarlo? - Praticamente come con il link sopra:

    # cd /etc/cron.hourly
    # copy /home/<user>/Downloads/monitor_snapshot
    # chmod +x monitor_snapshot
    

    Prima di eseguirlo per la prima volta, è meglio modificare i valori in esso contenuti, come l'indirizzo e-mail (dove devono essere inviate le notifiche, ecc.) Se configurato correttamente, il demone cron eseguirà lo script ogni X ore / giorni - come decidi tu e avvisarti quando l'istantanea sta per essere piena.

    Per testare l'esecuzione dello script:

    # sh /etc/cron.hourly/monitor_snapshot
    

    Stampa la percentuale (numero) di spazio libero nell'istantanea.

    Importante! Una volta terminati i test / le installazioni - rollback o mantieni le modifiche - e smonta l'istantanea!

  3. Rollback delle modifiche: (vedi lo script rollback_snapshot , con le seguenti istruzioni, link alla fine del documento)

    # lvconvert --merge /dev/vgsnap/lvsnap
    

    Questo smonta anche l'istantanea, ma scarterà qualsiasi modifica. Inoltre - Verrà visualizzato un avviso che suggerisce che il ripristino avverrà solo alla successiva attivazione, quindi:

    # reboot
    

    Nota: se si salta l'unione, le modifiche verranno eseguite una volta smontato lo snapshot.

  4. Commettere modifiche - smontare lo snapshot: (Vedi lo script commit_snapshot , con le seguenti istruzioni in esso - collegamento alla fine del documento)

    # umount /mnt/vgsnap-lvsnap
      Will unmount (commit0 the snapshot
    
    # lvremove /dev/mapper/vgsnap-lvsnap
    # rm -rf /mnt/vgsnap-lvsnap/
    
    # rm /etc/cron.hourly/monitor_snapshot
      Remove the cron daemon script (that is unused)
    
  5. Ri-montare l'istantanea: (Vedi script di rimontaggio , con le seguenti istruzioni in esso - collegamento alla fine del documento) Praticamente come prima:

    # lvcreate --size 15G --snapshot --name lvsnap /dev/mapper/vgsnap-lvroot
    # mkdir /mnt/vgsnap-lvsnap
    # mount -o ro /dev/vgsnap/lvsnap /mnt/vgsnap-lvsnap
    

    Se hai salvato monitor_snapshot nella tua home directory puoi ripristinarlo:

    # cp /home/<user>/monitor_snapshot /etc/cron.hourly/
    # chmod +x /etc/cron.hourly/monitor_snapshot
    

È tutto gente! Le seguenti istruzioni sono solo per chi esce;)

  1. Eliminare il volume dell'istantanea (se non è più necessario)

    # rmdir /mnt/vgsnap-lvsnap
    # lvremove /dev/vgsnap/lvsnap
    

    (Potresti anche voler ridimensionare la partizione di root o scambiare per occupare il 15G mancante riservato per lo scambio)

  2. Scartare il gruppo di volumi - Possibile solo rimuovendo i volumi del gruppo di volumi, il che probabilmente significa eliminare l'installazione del sistema operativo. Ma ovviamente, non è necessario rimuovere il gruppo di volumi ...

    Per rimuovere il gruppo di volumi:

    # vgremove vgsnap
    

Nota importante! - la formattazione / esecuzione di fdisk e la rimozione di tutte le partizioni NON rimuoverà i volumi né il gruppo, poiché questi sono scritti su una parte diversa dell'unità ... Quindi, basta usare le istruzioni di rimozione fornite sopra e rimuovere i volumi e il gruppo, se necessario.


Grazie mille per queste istruzioni dettagliate ... wow.
Adriano Lucas,

2

Creare un cronjob per fare il backup usando il lvcreate -s -L <size> -n <snapshot_name> <volume_name>

Qui il nome del volume è il nome del volume di cui si desidera eseguire l'istantanea. Per ulteriori dettagli puoi anche seguire questo tutorial


1
Bella guida! Si noti tuttavia che le mie intenzioni su dove fornire un mezzo per eseguire il backup senza un supporto di backup . Come una forma di backup pigro. Ai vecchi tempi questo era un salvavita, con Norton GoBack e Windows 2000 :) Ero davvero incasinato con i sistemi su cui ho lavorato, ed essere in grado di contare sul fatto che posso ripristinare i miei errori in pochissimo tempo è stato un gioco da ragazzi ! I backup sono probabilmente il modo giusto di andare su un vero server, ma per una workstation non inserita in un VMWare / VirtualBox (che fornisce istantanee all'esterno) credo che le istantanee siano la strada da percorrere.
strofina il
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.