αναστρέψιμα πειράματα στο σύστημα με χρήση LVM snapshots (How To)

Γιώργος Πάλλας gpall at ccf.auth.gr
Thu Dec 10 16:22:24 EET 2009


ένας μικρός συνοπτικός οδηγός που έφτιαξα χθες βράδυ παίζοντας με LVM 
snapshots:

Σενάριο: Θέλω να κάνω ένα upgrade στο σύστημα που μπορεί να καταστρέψει 
τα πάντα και μετά να επαναφέρω το σύστημα σαν να μην έγινε τίποτα. 
Προϋπόθεση ότι χρησιμοποιώ LVΜ για το root FS μου.

Βήματα στα γρήγορα:
δημιουργώ ένα snapshot του root FS
μπουτάρω από αυτό
κάνω εκεί τα upgrades/πειράματα/etc, καταστρέφω τα πάντα
γυρνώ το σύστημα να μπουτάρει από το αρχικό FS
όλα ΟΚ!

Αναλυτικότερα:

   1. δημιουργία snapshot (RTFM: lvcreate -L... -n ...rootSNAP .../root)
   2. αλλαγή στο fstab του snapshot να κάνει mount το / στο SNAP
   3. αλλαγή στο /etc/fstab να  κάνει mount το / στο SNAP
   4. backup το initrd image στο /root/
   5. update-initramfs -u
   6. reboot και όταν σηκωθεί, στο grub -> edit το root=... να δείχνει
      στο SNAP

Χαλάω τον ταλαίπωρο server περνώντας του τις libc βιβλιοθήκες του debian 
potato, και τον κάνω reboot. Δεν μπουτάρει πλέον. Οι αλλαγές όμως όλες 
έγιναν στο snapshot, οπότε ώρα να τον επαναφέρω (ουσιαστικά δηλαδή, να 
τον βάλω να μπουτάρει από το κανονικό root LV).

1. Βοοt με ένα debian ISO, επιλογή για rescue mode
2. Eπιλογή του κανονικού root LV ως /   και άνοιγμα shell
3. mount του /boot, το οποίο τώρα έχει το initrd που δείχνει στο 
snapshot root FS
4. Αντικατάσταση του initrd image με αυτό που κρατήσαμε πριν στο βήμα 4 
(cp /root/initrd... /boot/)
5. Διόρθωση του fstab να δείχνει στο κανονικό root LV
6. (sync?)
7. reboot
8. κάντε κι ένα update-initramfs -u -t   γιατί θα γκρινιάξει σε κάποιο 
επόμενο kernel upgrade και δεν θα θυμάστε γιατί

...και ούτε γάτα ούτε ζημιά.

Επίσης, από αυτά που διάβασα περί snapshots, δεν υπάρχει ακόμα η 
δυνατότητα merging των αλλαγών στο snapshot. Δηλαδή αν το 
upgrade/πείραμα οδήγησε σε κατάσταση που τη θέλω, τότε δεν μπορώ μαγικά 
να αντικαταστήσω το κανονικό root LV με το snapshoted. To πιο εύκολο 
ίσως είναι να αναιρέσω τις αλλαγές όπως στην παραπάνω διαδικασία, και να 
τις ξανακάνω στο κανονικό root LV (απλά πλέον με τη βεβαιότητα ότι δεν 
θα χαλάσουν το σύστημα).

Γ.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/x-pkcs7-signature
Size: 9597 bytes
Desc: S/MIME Cryptographic Signature
URL: <http://lists.hellug.gr/pipermail/linux-greek-users/attachments/20091210/4069eeea/attachment.bin>


More information about the Linux-greek-users mailing list