J'ai récemment construit un système avec une btrfs
partition racine. La raison la plus convaincante pour adopter btrfs
par rapport à ext4
, dans mon cas, était les instantanés de copie sur écriture en direct, avec une latence proche de zéro. Comparé à ext4
, lorsqu'une sauvegarde complète du système impliquait la suppression du système, le montage à partir d'une distribution en direct et la création d'une partclone
image sur un support amovible, la promesse des instantanés est que l'instantané puisse être capturé sur le support de sauvegarde pendant que le système est en direct.
À mon grand étonnement, il n'existe aucun outil capable de capturer l'intégralité de la capture instantanée dans un seul fichier sur un support externe. Ainsi, si le système est restauré à partir de ce fichier, toutes les applications auront la même vue du système de fichiers qu'avant le blocage ( sauf que les autres instantanés ou sous-volumes sont manquants).
La documentation suggère de refléter l'arborescence de répertoires à l'aide d'un outil tel que rsync ou d'utiliser btrfs-send
/ btrfs-receive
pour capturer les modifications incrémentielles sur un autre système. Dans le premier cas, j'ai toujours trouvé qu'il était presque impossible de recréer toutes les métadonnées d'une arborescence de fichiers en reflétant exactement l'arborescence de fichiers plutôt que de créer une image du système de fichiers, et je suis peu optimiste quant à l'efficacité d'une restauration. Je constate toujours que certaines métadonnées, qu’il s’agisse d’autorisations, d’horodatages, de fichiers cachés, etc., ne sont pas correctement capturées. Le problème est aggravé lorsque le transfert a lieu entre des systèmes de fichiers de types différents. L'autre suggestion suppose qu'un autre btrfs
système de fichiers est disponible, ce qui n'est pas toujours le cas.
Des suggestions sont-elles disponibles pour enregistrer ou restaurer une image au niveau du volume, similaires à un fichier partclone, mais ne représentant qu'un sous-volume sélectionné?
Réponses:
btrfs send
etbtrfs receive
sont exactement les outils dont vous avez besoin.Avez-vous essayé les outils? Je n'ai pas eu de tels problèmes avec
btrfs
.btrfs send
etbtrfs receive
ne travaillent pas avec des fichiers, ils travaillent avec des sous-volumes entiers, en ayant accès à toutes les métadonnées Btrfs de manière native .Vous aurez besoin d'un autre système de fichiers Btrfs uniquement si vous souhaitez y répliquer le sous-volume. C'est souvent souhaitable, vous pouvez donc le monter et accéder à ses fichiers. Et cela est inévitable si vous souhaitez sauvegarder vos sous-volumes de manière incrémentielle. Vous avez besoin du ou des instantanés précédents exacts aux deux endroits pour envoyer progressivement le suivant.
Avec le vidage complet, cependant, vous obtenez un flux autonome, qui est exactement une image (mais pas une sauvegarde parcourable, à moins que vous ne l'ayez
btrfs restore
). Travaillez avec comme avec n'importe quel autre flux:Où
/some/btrfs/directory
peut appartenir au même système de fichiers Btrfs que/source
.la source
send
commande car j'ai compris que ce n'est utile que pour l'échange entre deuxbtrfs
partitions actives. Voulez-vous dire que je peux utiliser la commande comme dans votre exemple pour capturer un vidage minimal mais complet de toutes les données et métadonnées d'un seul sous-volume?Are you saying that I can use the command as in your example to capture a minimal but full dump of all data and metadata for a single subvolume?
- Je crois que oui. Oui.btrfs
n’ya pas de solution pour les sauvegardes et que d’autres outilsrsync
sont recommandés. Je souhaite qu'ils indiquent plutôt qu'ilsbtrfs
ont un excellent système de sauvegarde. Pour créer une sauvegarde, commencez simplement par créer un instantané, puis transférez-le dans un fichier à l'aide debtrfs send
. Pour tester cette approche en ligne, je suppose que je pourrais très facilement transférer un instantané dans un fichier, puis le restaurer dans un sous-volume vide de ce fichier?btrfs send
semble bien lorsqu'il s'agit de la copie complète d'un seul sous-volume, mais pour la plupart d'entre eux partageant des blocs de données et pour les sauvegardes incrémentielles, la situation se complique. Voir cette réponse . Dans ce cas, le stockage des sauvegardes sous forme de fichiers entraîne des problèmes: (1) La restauration doit être effectuée dans le bon ordre. (2) Les sauvegardes incrémentielles vous obligent à stocker de nouveaux fichiers, alors que vous ne pouvez pas réellement supprimer les anciens. (3) La sauvegarde non incrémentielle transfère à nouveau certaines données. // Sauf si le fichier contient un système de fichiers Btrfs que vous montez et que vous montezbtrfs restore
à la volée.