Juste mv
ce. C'est la méthode recommandée dans la documentation de la communauté Ubuntu.
Et pour mieux comprendre pourquoi c'est la bonne façon de procéder, voici une citation du guide d'administration système de btrfs :
Instantanés
Un instantané est simplement un sous-volume qui partage ses données (et métadonnées) avec un autre sous-volume, en utilisant les capacités COW de btrfs. Une fois qu'un instantané [inscriptible] est créé, il n'y a aucune différence d'état entre le sous-volume d'origine et le nouveau sous-volume d'instantané. Pour revenir à un instantané, démontez le sous-volume d'origine modifié et montez l'instantané à sa place. A ce stade, le sous-volume d'origine peut être supprimé si vous le souhaitez. Puisqu'un instantané est un sous-volume, des instantanés d'instantanés sont également possibles.
il y a peu de choses importantes à noter. Les dénominations :
btrfs Subvolume - conteneur de données indépendant inside
système de fichiers. Il est représenté sous la forme d'un répertoire du FS existant. Si vous créez un nouveau sous-volume, il sera vide, prêt à utiliser le bloc de données logique à l'intérieur du système de fichiers. Très pratique à utiliser lorsque les données doivent être logiquement séparées, par ex. différentes machines virtuelles ou différents clients sur différents sous-volumes. Cela permet very fast
suppression de tous bloc de données logique avec juste la commande de suppression de sous-volume.
btrfs Snapshot - une copie de existing
sous-volume avec toutes ses données au moment où l'instantané est fait. Peut être utilisé comme sauvegarde opérationnelle pour annuler les paramètres ou les modifications, par ex. créer un instantané de sous-volume, apporter des modifications (VM ou données), tester si tout va bien, après une certaine période de grâce, supprimer l'instantané. Important :les instantanés peuvent être en lecture seule (-r
switch) et peuvent donc être utilisés comme blocs d'incrémentation de modifications FS et éventuellement transférés vers un autre BTRFS !
Limitations BTRFS actuelles (2016-12-30) :
Copier ou déplacer des données entre des sous-volumes, par ex. mv dir1/dataset1 dir_subvolume1/
produit tous les io réels pour copier les données vers un autre sous-volume et en cas de déplacement, les supprimer de l'original.Et très copie efficace de tonnes de données simplement en faisant des références et en utilisant ainsi la fonction COW de BTRFS :
cp -a --reflink=always dir1/dataset1 dir_subvolume1/
et si besoin :
rm -rf dir1/dataset1
L'instantané de sous-volume en lecture seule peut être renommé (déplacé avec mv
) au niveau du répertoire existant, mais ne peut pas être renommé/déplacé vers un autre niveau de sous-répertoire. par exemple. mv /btrfs/subvol_snap1 /btrfs/.snaphots
n'est pas possible, produit une erreur peu expliquée :mv: cannot move 'subvol_snap1' to '.snapshots/subvol_snap1': Read-only file system
.Pour pouvoir déplacer un tel instantané, vous devez créer un nouvel instantané en lecture seule d'un instantané en lecture seule existant vers le nouvel emplacement préféré, puis supprimer l'ancien :
btrfs sub snap -r /btrfs/subvol_snap1 /btrfs/.snaphots/subvol_snap1
btrfs sub del /btrfs/subvol_snap1
Juste pour plus de facilité en direct :
btrfs sub list /btrfs
J'espère que cela fera gagner beaucoup de temps à tous les nouveaux fans de btrfs :)
Si vous vouliez renommer le volume racine en un sous-volume imbriqué, vous auriez besoin d'en faire un instantané, puis de faire un find $ROOT_VOL -xdev -delete
pour supprimer le contenu précédent du volume racine. La manipulation inverse (renommer un sous-volume en volume racine) ne semble pas possible.