silico.biotoul.fr
 

Clone system

From silico.biotoul.fr

Jump to: navigation, search

Commandes supplémentaires à l'Atelier système pour cloner ou sauvegarder/restaurer l'état d'un système

Backup de tout le système pour le cloner sur une autre machine

Sauvegardes du contenu des partitions :

$root mkdir -p /root/backup 
$root cd /root/backup
$root mkdir boot.efi boot rootfs home
$root rsync --dry-run --archive --hard-links --delete --acls --xattrs --one-file-system --itemize-changes --stats -h /boot/efi/ /root/backup/boot.efi/
$root rsync --dry-run --archive --hard-links --delete --acls --xattrs --one-file-system --itemize-changes --stats -h /boot/     /root/backup/boot/
$root rsync --dry-run --archive --hard-links --delete --acls --xattrs --one-file-system --itemize-changes --stats -h --exclude /root/backup /          /root/backup/rootfs/
$root rsync --dry-run --archive --hard-links --delete --acls --xattrs --one-file-system --itemize-changes --stats -h --exclude archive* --exclude Trash /home/ --exclude .cache         /root/backup/home/

Au démarrage, le bootloader (grub) et le système utilise les UUID des partitions pour les monter et démmarrer le système. Pour cet exercice, par facilité pour le transfert, nous allons imposer les mêmes UUID sur les partitions du clone (sinon après restauration, il s'agit d'aller éditer certains fichiers de configuration pour positionner les UUID des partitions du clone).

Sauvegardes des identifiants des partitions :

$ ls -l /dev/disk/by-uuid/| grep sda > /root/backup/uuids.txt

Restauration du clone sur une autre machine

Etapes :

  1. Création des partitions avec les mêmes UUID (sauf EFI et swap qui ne sont pas en ext4)
  2. Copies des fichiers (rsync)
  3. Installation du bootloader
  4. Redémarrage

Une étape supplémentaire sera nécessaire ici, car nous allons transférer pc2 sur pc15. Il faudra donc renommer la machine (hostname) et paramétrer le réseau.

Pour les différentes étapes, nous allons utiliser une clé USB-live.

Pour la création des partitions, on démarre sur la clé USB, on installe gparted et on créé les partitions sur le disque de la nouvelle machine :

  • nouvelle table de partition de type gpt
  • /dev/sda1 FAT16 200Mo avec les flags boot et esp (/boot/efi)
  • /dev/sda2 ext4 2Go (/boot)
  • /dev/sda3 ext4 75Go /
  • /dev/sda4 swap 9Go
  • /dev/sda5 ext4 le reste (/home)

Ensuite, on monte les partitions temporairement et on copie les fichiers

$root mkdir /a
$root mount /dev/sda1 /a    # montage de /boot/efi
$root mount /dev/sdc1 /mnt  # montage de la clé
$root rsync --dry-run --archive --hard-links --acls --xattrs --itemize-changes --stats -h /mnt/boot.efi/ /a/
$root umount /a
$root mount /dev/sda2 /a # montage de /boot
$root rsync --dry-run --archive --hard-links --acls --xattrs --itemize-changes --stats -h /mnt/boot/ /a/
$root umount /a
$root umount /mnt
$root mount /dev/sda3 /a # montage de /
$root mount /dev/sdc1 /mnt  # montage de la clé
$root rsync --dry-run --archive --hard-links --acls --xattrs --itemize-changes --stats -h /mnt/rootfs/ /a/
$root umount /a
$root umount /mnt
$root mount /dev/sda5 /a # montage de /home
$root mount /dev/sdc1 /mnt  # montage de la clé
$root rsync --dry-run --archive --hard-links --acls --xattrs --itemize-changes --stats -h /mnt/home/ /a/
$root umount /a
$root umount /mnt

Tout est copié, il s'agit maintenant de faire les modification pour l'UUID du swap et de la partition EFI, le nom de la machine et d'installer le bootloader.

Montage du système de fichier :

mount /dev/sda3 /a
mount /dev/sda2 /a/boot
mount /dev/sda1 /a/boot/efi
mount /dev/sda5 /a/home

Avec un éditeur de texte, il faut modifier le fichier fstab qui iondique où monter quelles partitions. Il faut aussi modifier /etc/hostname qui contient le nom de la machine.

L'installation du bootloader nécessite de changer la racine du système de fichier, il faut donc aussi monter les répertoires particuliers dev, proc et sys :

mount --bind /dev  /a/dev
mount --bind /proc /a/proc
mount --bind /sys  /a/sys

Changement de racine, génération du fichier de config de grub et installation du bootloader :

chroot /a
grub2-mkinit -o /boot/efi/EFI/fedora/grub.cfg