Ma partition / home se compose d'un disque physique entier. Il est formaté en btrfs. Je veux un instantané. Je suis confus en ce qui concerne le nommage des sous-volumes, en particulier.
Je suis conscient qu'il y a des questions similaires, mais chaque question similaire semble demander quelque chose de différent de ce que je demande (et elles sont plus anciennes, ce qui signifie probablement obsolètes, étant donné le développement rapide de btrfs). Par exemple, la réponse à cette question n'est apparemment pas la réponse à ma question car ma partition / home est un volume séparé et la page de manuel de btrfs affiche une commande différente pour créer des instantanés maintenant.
un autre problème similaire, pas de solution solide .
quelqu'un d'autre aussi confus que moi sur les problèmes de nommage
Ma question:
Commencer simplement: est-ce la bonne commande pour prendre un instantané simple de ma partition domestique?
btrfs subvolume snapshot /home/@home /home/@home_snapshot_20120421
Je suis vraiment courageuse et je l'ai testé et cela ne fonctionne pas. L'erreur est error accessing /home/@home
. Comme indiqué ci-dessous, @home est répertorié.
Je suis évidemment confus sur les noms de sous-volume. Dois-je les utiliser pour créer des instantanés? Certains exemples montrent la prise d'instantanés de la maison en utilisant /home
comme paramètre source, mais sur la base d'exemples de volumes racine, il me semble que je dois utiliser /home/@home
.
Cette commande fonctionnerait-elle? Et sinon, pourquoi?
btrfs subvolume snapshot /home /home/@home_snapshot_20120421
Est-ce @
juste une convention de dénomination? Est-ce que cela a du sens?
Voici quelques résultats qui peuvent être pertinents:
btrfs subvolume list /home
ID 256 top level 5 path @home
Je ne sais pas exactement ce que cela signifie. Lorsque j'essaye, btrfs device scan
cela donne une erreur (par exemple, impossible de scanner le périphérique / dev / sda1). Mon système de fichiers ne contient aucune erreur. Tout va bien.
Voici mes partitions. En réponse à une réponse, no / home n'est pas ma seule partition btrfs.
/dev/sda1: (boot partition) TYPE="ext2"
/dev/sda2: (root partition) TYPE="btrfs"
/dev/sdb1: (home partition) TYPE="btrfs"
/dev/sdc1: (shared partition) TYPE="btrfs"
/dev/sdc2: TYPE="swap"
Réponses:
Quelle est la commande correcte pour créer un instantané de ma partition domestique sur Ubuntu 12.04?
Étant donné que home est sur une partition btrfs et qu'il est monté en tant que / home, la commande correcte est:
Voici mes résultats:
Avant d'exécuter la commande aujourd'hui:
La commande:
Après avoir exécuté la commande aujourd'hui:
Le seul problème avec cette méthode est que les instantanés apparaissent lorsque vous ls (liste) / home.
Le wiki de la communauté Ubuntu a été mis à jour avec une solution pour cela. C'est ici:
Comment travailler avec des instantanés dans la mise en page d'Ubuntu
Afin de travailler avec des instantanés de / ou / home dans la disposition Ubuntu, il est très pratique de monter le système de fichiers btrfs à un emplacement séparé et de travailler depuis le haut de l'arborescence btrfs, plutôt que depuis les sous-volumes montés. <- c'est la solution. Malheureusement, ce n'est pas pratique .
Pour créer un instantané, utilisez la même syntaxe que celle utilisée ci-dessus:
Cela créera un instantané du @ sous-volume nommé @_snapshot situé également en haut de l'arborescence btrfs. Comme il se trouve en haut de l'arborescence, il n'apparaîtra pas lors de la liste des fichiers dans un volume monté.
Pour revenir à un instantané, il vous suffit de remplacer son nom par le nom que Ubuntu monte et redémarre. Voici comment changer le nom:
Pour supprimer un instantané, utilisez:
Les instantanés btrfs sont des sous-volumes en eux-mêmes, et autonomes, la suppression de l'ancien sous-volume @ comme cela est très bien, à condition que nous ayons un remplacement.
REMARQUE: La commande btrfs-tools
set-default
rompra la disposition d'Ubuntu.la source
D'accord d'abord:
Le nom du sous-volume que vous regardez est
@home
indiqué parbtrfs subvolume list /home
. Il est monté dedans/home
. @home est le nom du sous-volume, il a également l'ID 256, donc très probablement seul votre / home est formaté en btrfs.Maintenant, pour créer un instantané de @home, vous devez émettre:
sudo btrfs subvolume snapshot /home/ /home/@home_snapshot_20120421
Le sous-volume peut avoir n'importe quel nom. Le @ est la convention d'Ubuntu au moment de l'installation. (Si vous utilisez
apt-btrfs-snapshot
le sous-volume root, il faut le nommer@
btw.) Le wiki de la communauté recommande fortement de conserver en@
tant que root et@home
home car il est monté de cette façon. Ceci est particulièrement important si vous souhaitez revenir en arrière: vous ne devez PAS utiliser le sous-volume btrfs set-default (pas la syntaxe mise en évidence par le but).Pour
btrfs device scan
vous devez utilisersudo
.Pour supprimer un sous-volume, vous pouvez utiliser
sudo btrfs subvolume delete @home_snapshot_20120421
Toutes les commandes btrfs peuvent être abrégées aussi longtemps qu'ils sont sans ambiguïté, donc par exemple
sudo btrfs device scan
peut être tronquésudo btrfs d s
,sudo btrfs dev sc
ou quoi que ce soit entre les deux.J'espère que cela a répondu à vos questions. Il existe des outils pour effectuer des sauvegardes régulières, btrfs-snapshot-rotation en est un exemple. Utilisez-les avec prudence car aucun d'entre eux n'est vraiment mature ou n'a acquis suffisamment de traction, c'est-à-dire qu'ils peuvent très bien contenir des bogues.
la source
$ sudo btrfs subvolume snapshot @home home/@snapshot_20120611_1257 ERROR: error accessing '@home'
btrfs device scan
. Toute variante, y compris l'utilisation,sudo
donne l'erreur "ERREUR: impossible de scanner le périphérique '/ dev / sdX'" où X est un nom valide tel que a, a1, b, etc.btrfs sub snap @ /mnt/random
et cela a fonctionné pour moi. Là encore, j'étais dans / mnt où @ était monté. Désolé pour la confusionInstallez le
apt-btrfs-snapshot
package, et utiliser ses sous - commandeslist
,snapshot
,delete
etset-default
.Il s'agit d'un script qui encapsule les
btrfs
commandes de niveau inférieur . Cela fonctionne en montant d'abord le système de fichiers racine btrfs quelque part. J'entends par là la vraie racine, par opposition au/@
sous-volume qui est normalement monté comme/
. En d' autres termes, vous devez exécutermount /dev/sda1 /mnt
afin que vous puissiez voir les sous - volumes qui seront répertoriés comme/mnt/@
,/mnt/@home
et tous les autres que vous avez créé. De là, vous pouvezbtrfs subvolume snapshot /mnt/@home @snapshot-today
, ce qui créera un instantané de/@home
named/@snapshot-today
. Comparez cela avec l'exécutionbtrfs subvolume snapshot /home /home/@snapshot_today
, qui crée à la place l'instantané en tant qu'enfant/@home
, d'où il apparaît lorsque vousls /home
et son vrai nom/@home/@snapshot-today
.Restauration d' un instantané est juste une simple opération de changement de nom:
mv /mnt/@home @backup ; mv /mnt/@snapshot-today @home
. La prochaine fois que vous démarrez, quand il va monter/@home
dans/home
, il trouvera l'instantané.Il est un peu difficile de faire le tour de la tête, car vous devez garder à l'esprit la différence entre la façon dont btrfs voit les choses et la façon dont le noyau voit les choses, qui est influencée par les options de montage (l'argument subvol = en particulier).
la source