Copie disque SSD vers SSD via VM Linux

Bonjour à tous,
Je suis en jeedom 4.3.17 sous linux Debian 10 Buster sur un RPI 4 (4G RAM).

Je fais de temps en temps des sauvegarde de disque à disque de mes ssd (de 120 G) via une VM sur PC avec Debian 9.X Rasbian Strectch.

Mon souci est que les copies prennent de plus en plus de temps à se faire ! Avant j’étais sur 2400 secondes, maintenant il me faut entre 2 et 3 heures et je ne sais pas pourquoi.
Pour info mes disques sont rempli à 5% (donnée de Monitoring).

Voici ma procédure Linux :
Je branche en USB mon premier disque source.
=> Udisksctl status
Il voie mon disque sdb
Je branche mon deuxième disque cible
=> Udisksctl status
Il voie mes deux disque sda (source) puis sdc (cible)
Puis je copie les disque avec cette instruction de commande:
=> sudo dd conv=sync,noerror status=progress if=/dev/sdb of=/dev/sdc bs=4096

Pour info ma VM que j’utilise est WMware workstation 17 player (non commerciale).

Merci à vous.

Il me semble que dd fait de la copie bit à bit de tout le disque, même la partie "vide" du disque.

1 « J'aime »
  • dd est une commande unix permettant de copier un fichier (avec ou sans conversion au passage) notamment sur des périphériques blocs tel que des disques durs ou des lecteurs CD-ROM ou inversement.
  • Contrairement à cp, la commande dd copie des portions de données brutes d’un périphérique. Par conséquent, dd préserve le système de fichier sous-jacent. cp se contente de traiter des données et les transfère d’un système de fichier à un autre.

Salut,
pour ma part ,je fais avec la commande dd aussi qui comme dit Yves ,ça fait du bloc à bloc et donc conserve les attribut de boot… J’ai déjà restauré une sauvegarde dd , mon disque est bien reparti une fois restauré.
Je fais avec le plugin script de jeedom , j’ai récupéré un script , qui arrête la base jeedom, fait une sauvegarde sur un disque réseau ( en l’occurrence ma freebox) .
voici le script en question de sauvegarde :

#!/bin/bash
### Script Sauvegarde 

SIZE=$(sudo du /mnt/freebox/jeedom | awk '{print $1}')
if [ $SIZE -gt 90000000 ] 
 then 
 echo "taille limite du dossier dépassé" && exit 3
fi
#arret des services
sudo systemctl stop cron.service
sudo systemctl stop apache2.service
sudo systemctl stop mysql.service

#Backup du disque SD
sudo dd if=/dev/sda of=/mnt/freebox/jeedom/bck-SDrspi$(date +%Y%m%d).img bs=1M count=32000 iflag=fullblock
if [ $? -eq 0 ]
 then
 #start des services
 sudo systemctl start cron.service
 sudo systemctl start apache2.service
 sudo systemctl start mysql.service
 # Purge les fichiers trop vieux : 40 jours
 sudo find /mnt/freebox/jeedom/bck-SD* -ctime +40 -exec rm -fr "{}" \;
else
 echo "erreur de sauvegarde" && exit 4
 #start des services
 sudo systemctl start cron.service
 sudo systemctl start apache2.service
 sudo systemctl start mysql.service
fi 

ensuite j’ai un script qui le lance pour executer via scenario

sudo at -f /var/www/html/plugins/script/data/backup-sd.sh now + 1 minute

ça prend 10 mns par le réseau environ pour 250 go

Bonjour et merci pour vos commantaires,

@xav31190 @Yves19
Pour ma pars n’étant pas un dieu en informatique et comme ma procédure que j’ai décrite en haut de ce post m’a été décrite par un amis ayant plus de connaissances que moi, je voudrais conserver cette méthode de copie de disque à disque depuis une VM
Si il n’y a pas de solution (ligne de commande plus performante) en terme de temps.
Je serai plus patient lors des copies.
Merci à vous

la copie réseau évite de tout démonter , c’est plus pratique , à la fin ça revient au meme .
Bonne soirée

Bonjour,

Rpi-clone ne répond pas à ton besoin ?

Hello,
Pourrais tu détailler tes scripts ? Voir des copies d’écran si tu as le temps :slight_smile:
Ca m’intéresse mais je ne suis pas un champion.
Je suppose avoir compris que /mnt/freebox/jeedom c’est le chemin réseau ou tu poses le backup.
Donc chez moi sur mon Nas ce serait : /SAVJEEDOM/Jeedom1 mais je ne comprends pas comment sans l’ip du Nas il va le trouver ?

1 « J'aime »

Je pense que c’est plutôt le disque distant qui est monté sur la machine locale sur le point de montage /mnt/freebox/jeedom.

logique puisqu’il est monté là il n’est plus nécessaire de mettre l’ip.
Bon je vais laisser ça pour l’instant car je ne sais pas faire, monter un disque distant sur mon debian. Je reprendrais ça un jour.

1 « J'aime »

Bonjour,

tu peux préciser ?

merci

C’est un paquet qui sert à cloner ton système.

La première sauvegarde est longue mais pour les suivantes il ne copie que les fichiers qui ont évolué.

Regarde ici :

Bonjour et merci,
Je viens de lire une partie des échanges sur l’ancien forum, ça à l’air intéressant mais je ne suis pas rassuré pour me lancer.
@bronche si tu passes par là possible d’avoir de l’aide ?
Ma première première question comment faire pour voir le disque source (celui qui tourne avec jeedon actuellement) en ssh ? Et surtout comment ne pas se tromper ! entre la cible et la source ?
Vous aurrez compris je ne suis pas trés sur de moi ! Je suis une bille sur linux
Pour info je suis en RPI4 avec un disque ssd de 120G rempli à 5% et je veux cloner sur un disque de même taille.
Merci à vous