En bref - les instantanés sont un moyen de geler les secteurs utilisés sur le disque dur, en disant au système d'écrire toute modification / suppression / ajout sur une partie réservée du disque dur, appelée volume d'instantané, différant ainsi la décision de conserver / rejeter les modifications sur le lecteur à une heure future, dans la mesure où l'espace de volume de capture instantanée fournit. Et donc, une fois que vous décidez d'annuler les modifications (ou de les conserver), vous pouvez le faire avec une seule ligne.
Si vous n'avez pas de groupe de volumes préconfiguré, vous devrez probablement installer un Ubuntu propre et frais. Ensuite, vous devrez faire des efforts pour configurer correctement le système pour la première fois, mais à partir de ce moment, l'instantané deviendra sans effort . Et par effort, je veux dire une commande liner, en utilisant des scripts préconfigurés.
- Démarrez sur le live cd d'ubuntu (pas encore d'installation .. juste le live cd)
- Accessoires ouverts -> Terminal
Nous allons vider le disque dur! Veuillez sauvegarder tout ce qui est important avant de passer par cette étape.
Tout d'abord, supprimons les partitions existantes:
# fdisk /dev/sda
Enter 'd' to delete - enter for as many partitions you have
> d
> <enter>
...
Enter 'w' to write down changes
> w
Créez la partition de démarrage et le reste du lecteur comme l'autre partition
# 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.
Pour vérifier que les modifications ont bien fonctionné:
# fdisk --list
Vous devriez obtenir quelque chose comme ceci:
Device Boot Start End Blocks Id System
/dev/sda1 2048 524287 261120 83 Linux
/dev/sda2 524288 488397167 243936440 8e Linux LVM
Supprimez tous les groupes de volumes / volumes logiques précédents:
# lvdisplay
Affiche les volumes logiques que vous pouvez avoir sur le système
# lvremove <existing_logical_volume_name>
Si une installation de volume susceptible d'interférer avec cette installation doit être supprimée.
# vgdisplay
Affiche tout groupe de volumes existant sur le système
# vgremove <existing_volume_group>
Identique aux groupes de volumes.
Créer le groupe de volumes 'vgsnap'
# vgcreate vgsnap /dev/sda2
Doit résulter avec:
Volume group "vgsnap" successfully created
Créer le volume logique
# lvcreate --extents 100%FREE --name lvroot vgsnap
Le volume logique racine, en commençant par 100% du périphérique.
# lvresize --size -30G /dev/mapper/vgsnap-lvroot
Cela enlèvera 30G pour les volumes de swap & snapshot. Bien sûr, vous pouvez choisir des tailles plus petites pour le swap / snapshot.
> 'y'
for the warning shown.
Et créez le volume d'échange:
# lvcreate --size 15G --name lvswap vgsnap
Remarque: nous laissons maintenant 15G d'espace disque inutilisé, réservé pour le futur instantané.
Installer Ubuntu
Fermez le terminal et démarrez l'installateur.
Choisissez "Utiliser LVM ..." (Vous pouvez également choisir d'activer le chiffrement du disque entier - mais je ne l'ai pas testé ..)
Sélectionnez "Quelque chose d'autre" et appuyez sur Continuer. À ce stade, vous trouverez un ensemble de volumes / dev / mapper / ... définis. Certains d'entre eux sont générés automatiquement (lvsnap- *) - vous pouvez les ignorer pour l'instant.
Sélectionnez: / dev / mapper / vgsnap-lvroot volume. Choisissez "ext4" comme format et montez comme '/'
Sélectionnez: / dev / mapper / vgsnap-lvswap volume, et choisissez "swap area"
Si vous devez créer un lecteur chiffré (je n'ai aucune idée si cela fonctionnerait avec les instantanés?), Vous voudrez probablement sélectionner le / dev / sda2 et marquer le "volume pour le chiffrement". Je ne l'ai pas testé cependant ..
Remarque: Les 15G inutilisés sont laissés libres pour le volume de cliché.
Sélectionnez: / dev / sda1 partition. Formatez-le comme «ext2» et montez-le comme «/ boot»
Ci-dessous - choisissez: / dev / sda1 partition as boot
Installer!
Montage de l'instantané:
Créer le volume d'instantanés
# lvcreate --size 15G --snapshot --name lvsnap /dev/mapper/vgsnap-lvroot
Créez le répertoire de montage
# mkdir /mnt/vgsnap-lvsnap
Montez l'instantané comme montage en lecture seule
# mount -o ro /dev/vgsnap/lvsnap /mnt/vgsnap-lvsnap
Le cliché est activé!
À ce stade, vous pouvez commencer à gâcher votre système, à installer des pilotes bêta et même (Non! C'est tout simplement inapproprié).
À partir de maintenant, vous pouvez à tout moment (dans la mesure où la taille de l'instantané le prévoit ..) revenir à l'état précédent ou, si vous êtes satisfait du nouveau look, conservez-le.
Surveillance automatique de l'espace disque libre du volume d'instantanés: à l'aide d'une version modifiée du script fourni ici:
http://blog.rimuhosting.com/2012/02/20/cron-script-for-checking-disk-space/
J'ai créé le script monitor_snapshot .
Comment l'utiliser / l'installer? - À peu près comme avec le lien ci-dessus:
# cd /etc/cron.hourly
# copy /home/<user>/Downloads/monitor_snapshot
# chmod +x monitor_snapshot
Avant de l'exécuter pour la première fois, vous feriez mieux de modifier les valeurs qu'il contient, telles que votre adresse e-mail (où les notifications doivent être envoyées, etc.). S'il est correctement configuré, le démon cron exécutera le script toutes les X heures / jours - que vous décidez - et vous avertir une fois que l'instantané est sur le point d'être plein.
Pour tester l'exécution du script:
# sh /etc/cron.hourly/monitor_snapshot
Il imprimera le pourcentage (nombre) d'espace libre dans l'instantané.
Important! Une fois que vous avez terminé vos tests / installations - annulez ou conservez les modifications - et montez l'instantané!
Annulation des modifications: (Voir le script rollback_snapshot , avec les instructions suivantes, lien à la fin du document)
# lvconvert --merge /dev/vgsnap/lvsnap
Cela démontera également l'instantané, mais supprimera toutes vos modifications. Aussi - Vous verrez un avertissement suggérant que le retour ne se produira que lors de la prochaine activation, donc:
# reboot
Remarque: Si vous sautez la fusion, vos modifications seront validées une fois que vous aurez démonté l'instantané.
Validation des modifications - démontage de l'instantané: (Voir le script commit_snapshot , avec les instructions suivantes - lien à la fin du document)
# 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)
Remontage de l'instantané: (Voir le script de remontage , avec les instructions suivantes - lien à la fin du document) À peu près comme avant:
# lvcreate --size 15G --snapshot --name lvsnap /dev/mapper/vgsnap-lvroot
# mkdir /mnt/vgsnap-lvsnap
# mount -o ro /dev/vgsnap/lvsnap /mnt/vgsnap-lvsnap
Si vous avez enregistré le monitor_snapshot dans votre répertoire personnel, vous pouvez le restaurer:
# cp /home/<user>/monitor_snapshot /etc/cron.hourly/
# chmod +x /etc/cron.hourly/monitor_snapshot