Sous Linux, comment créer / restaurer un instantané d'image de tout mon lecteur?

14

Je suis trop gâté par les utilitaires Windows qui prennent un instantané numérique de l'intégralité de votre disque, que vous pouvez ensuite restaurer en cas de panne de disque. (par exemple, comme Time Machine pour Mac OS X).

Existe-t-il une manière similaire de procéder sous Linux?

user35997
la source
1
Je suppose que vous êtes gâté dans Windows de la même manière que les utilisateurs Linux sont gâtés en ayant des utilitaires système. :)

Réponses:

13

L'outil souhaité (qui ressemble le plus à Time Machine) s'appelle rsnapshot . Contrairement aux outils de sauvegarde normaux, il copie uniquement les éléments qui ont changé et vous permet de voyager facilement à de nombreux moments. Vous pouvez lui indiquer l'espace disque dont il est autorisé et il ajuste le nombre d'instantanés conservés pour rester dans cette limite. Un très bel outil.

Norman Ramsey
la source
6

PartImage s'exécute à partir de la ligne de commande ou sous forme d'interface graphique texte. Il a un avantage important sur dd:

Partimage copiera uniquement les données des parties utilisées de la partition. Pour plus de rapidité et d'efficacité, les blocs libres ne sont pas écrits dans le fichier image. C'est différent de la commande 'dd', qui copie également les blocs vides.

StuffMaster
la source
6

Vous pouvez simplement faire " dd if=/dev/sda of=/path/to/target/backup" si vous savez que vous avez la pièce où vous essayez de la mettre. Vous pouvez également faire " dd if=/dev/sda | bzip2 > /path/to/target/backup" pour compresser à la volée. Cela peut cependant prendre un certain temps.

Vous pouvez également faire " tar --preserve-permissions -cjf backup.tar.bz2 /what/to/backup" en tant qu'utilisateur disposant de toutes les autorisations de lecture nécessaires. Faites votre choix.

Addendum: J'ai récemment acheté un nouvel ordinateur portable, préinstallé avec Vista. J'ai pensé que je voulais préserver Vista quelque part, au cas où je voudrais l'essayer à un moment donné, donc la première fois que j'ai démarré l'ordinateur (avec un livecd linux), j'ai fait ceci:

dd if=/dev/sda | ssh 10.0.0.1 "bzip2 > ~/vistadrive.bz2"

C'était sur un réseau local rapide, bien sûr. Sinon, il aurait été plus prudent de comprimer avant la transmission:

dd if=/dev/sda | bzip2 | ssh 10.0.0.1 "cat > ~/vistadrive.bz2"

J'espère que vous trouverez cela utile.

Edit: Oups. Changé bben dd...

Pianosaurus
la source
1
Cela n'inclurait pas le secteur de démarrage aussi? Cela m'a toujours gâché lors de l'utilisation de partimage pour sauvegarder un lecteur Windows.
greg, il comprendrait tout, y compris toute table de partition et mbr
Johannes Schaub - litb
4

J'utilise une stratégie en deux temps: # 1 est les instantanés LVM et le numéro deux est rsnapshot , que j'utilise pour effectuer des sauvegardes ponctuelles sur un disque dur externe dédié. Le disque dur externe est placé de manière à ce que je puisse facilement le retirer en sortant de la porte en cas de problème. Je n'utilise pas (encore) un mécanisme hors site autre que la gravure périodique d'un instantané sur une série de disques DVD cryptés et leur expédition chez un ami dans une autre ville pour le stockage.

Je recommande fortement rsnapshot en raison de la façon dont il fait les instantanés, en utilisant des liens durs pour les choses qui n'ont pas changé. Si votre répertoire personnel devient bonkers, vous pouvez simplement prendre une copie rsnapshot et une bâche ou la resynchroniser vers votre nouvelle partition home après la réinstallation ou la récupération après une panne de disque.

Michael Trausch
la source
3

Nombreuses. Il y a l'ancien dd (1) , qui est un peu arcanique; il y a dump (8) et restore (8) ; il existe plusieurs produits open source, comme Amanda ; et si vous le souhaitez, vous pouvez installer ZFS et utiliser un script cron pour prendre des instantanés périodiques, vous donnant quelque chose effectivement identique à Time Machine (voir le blog de Tim Foster).

Wikipedia a un article avec une liste de nombreuses options .

Charlie Martin
la source
2

Si vous voulez une sauvegarde de niveau fichier comme Time Machine, je recommande fortement rsnapshot comme Norman l'a suggéré.

Si vous souhaitez une solution de sauvegarde et de restauration d'image complète, comme Norton Ghost, j'ai trouvé que CloneZilla fonctionnait assez bien. Je démarre le CD live, puis j'utilise une autre machine comme serveur SSH pour sauvegarder / restaurer les images vers / depuis.

(J'ai même réussi à faire fonctionner la version en direct via le démarrage PXE pour un ancien ordinateur portable pour tablette que j'avais sans lecteur de CD et sans démarrage USB, mais c'était beaucoup de bidouillage.)

Et vous pouvez également l'utiliser pour les machines Windows.

Evan
la source
1

Je me suis toujours inquiété d'utiliser dd lorsque les disques étaient de tailles différentes. Ou avait un nombre différent de têtes / secteurs / pistes / etc.

dd est très utile pour prendre des instantanés et reflasher le même lecteur. Particulièrement les clés USB ou les partitions Windows. Mais en passant d'un 500Meg à un 1500Meg, je m'inquiète.

En outre, lorsque mon disque tombe en panne, j'aime pouvoir l'utiliser comme excuse pour passer à un système d'exploitation plus récent.


Cela dit, le bon vieux goudron fait du bon travail! GNU-tar inclut des options diff-tar-contre-fichiers , uniquement-mise-à-jour-fichiers-qui ont changé , et uniquement-archive-fichiers-plus récents que la date .

(Je dois mentionner: j'ai rencontré un bogue il y a quelques années qui m'a obligé à télécharger et installer une version plus récente de GNU-tar . (Quelque chose à voir avec des noms de chemin très longs et plusieurs volumes.) Pas grand-chose. c'est toujours une option.)

Vous devriez probablement exclure / proc , / sys et peut - être / var / log / lastlog ou / mnt . (Je sauvegarde généralement sur un disque externe monté sous / mnt . Sauvegarde de la sauvegarde - pas si bonne!)

L'inclusion de / dev peut être utile. gnu-tar gérera les périphériques correctement ( mknod ). Bien que vous n'utiliserez probablement pas le fichier / dev sauvegardé lors d'une restauration. (Parfois, il est agréable de voir les autorisations ou les liens que vous avez définis auparavant.)

, Vous pouvez également jeter fdisk & rpm information avant la sauvegarde. Par exemple

/sbin/sfdisk -l /dev/sda > /....../info_sda
rpm -qa | sort > /...../info_rpms
rpm -qa --qf "%{ARCH} \t %{NAME}-%{VERSION}-%{RELEASE}\n" | sort -k2,2 > /........./info_rpms_arch

En plus de monter tous les systèmes de fichiers montés par l'utilisateur "en option" .


la source
1

Voici les étapes complètes d'une autre méthode, fonctionne pour passer d'un disque dur à un autre, et même cloner une machine si le matériel est similaire.

Tout d'abord, créez une image d'un bon système de travail. Faites-le en tant que root.

# cd / 
# tar cpzf hostname.tgz / --exclude=hostname.tgz --exclude=proc --exclude=lost+found --exclude=mnt --exclude=sys --exclude=home --exclude=usr/src

Sauvegarder les images du noyau

# mount /boot
# cd /boot
# tar cpzf boot.tgz *

Démarrez la machine sur laquelle l'image doit être déployée avec un cd live / gentoo cd. Montez ce disque dur et partitionnez-le de manière appropriée:

# fdisk /dev/hda
/dev/hda1  /boot
/dev/hda2  swap
/dev/hda3  /tmp
/dev/hda4  /

Ajouter des systèmes de fichiers

# mke2fs /dev/hda1
# mkswap /dev/hda2
# mke2fs -j /dev/hda3
# mke2fs -j /dev/hda4

Monter les lecteurs:

# mount /dev/hda4 /mnt/new_root
# mkdir /mnt/new_root/tmp
# mkdir /mnt/new_root/boot
# mkdir /mnt/new_root/proc
# mkdir /mnt/new_root/sys
# mount /dev/hda3 /mnt/new_root/tmp
# mount /dev/hda1 /mnt/new_root/boot
# swapon /dev/hda2
# mount -t proc proc /mnt/new_root/proc

Copiez le fichier hostname.tgz sur cette machine.

Extrayez-le à la racine de la nouvelle machine / mnt / new_root

# tar -xzf hostname.tgz

Entrez dans le nouvel environnement.

# chroot /mnt/new_root /bin/bash
# env-update && source /etc/profile

Vérifiez /boot/grub/grub.conf et / etc / fstab

Configurer grub sur le disque dur:

# grep -v rootfs /proc/mounts > /etc/mtab
# grub-install /dev/hda

Quittez et démontez les lecteurs, redémarrez la machine.

puits profond
la source
0

Vous pouvez avoir des instantanés sous Linux à l'aide de LVM, le gestionnaire de volumes logiques.


la source
1
Si vous utilisez LVM, ce n'est pas nécessairement le cas. Si oui, alors oui, ce serait une bonne option howtoforge.com/linux_lvm_snapshots
Gavin H