Solo mv
esso. Questo è il modo consigliato nella documentazione della comunità di Ubuntu.
E per chiarire ulteriormente perché questo è il modo giusto per farlo, ecco una citazione dalla guida dell'amministratore di sistema di btrfs:
Istantanee
Uno snapshot è semplicemente un sottovolume che condivide i suoi dati (e metadati) con qualche altro sottovolume, utilizzando le funzionalità COW di btrfs. Una volta creata un'istantanea [scrivibile], non vi è alcuna differenza di stato tra il sottovolume originale e il nuovo sottovolume dell'istantanea. Per tornare a un'istantanea, smontare il volume secondario originale modificato e montare l'istantanea al suo posto. A questo punto, se lo si desidera, è possibile eliminare il sottovolume originale. Poiché un'istantanea è un sottovolume, sono possibili anche istantanee di istantanee.
ci sono alcune cose importanti da notare. I nomi:
btrfs Subvolume - contenitore dati indipendente inside
sistema di file. È rappresentato come directory delle attuali FS. Se crei un nuovo sottovolume, sarà vuoto, pronto per l'uso del blocco di dati logici all'interno del filesystem. Molto comodo da usare dove i dati devono essere separati logicamente, ad es. VM diverse o client diversi su volumi secondari diversi. Ciò consente very fast
rimozione di tutti blocco di dati logici con solo il comando di eliminazione del sottovolume.
btrfs Snapshot - una copia di existing
sottovolume con tutti i suoi dati al momento dell'esecuzione dell'istantanea. Può essere utilizzato come backup operativo per ripristinare impostazioni o modifiche, ad es. creare istantanee di sottovolume, apportare modifiche (VM o dati), testare se tutto è a posto, dopo un certo periodo di tolleranza rimuovere l'istantanea. Importante da notare:le istantanee possono essere di sola lettura (-r
switch) e quindi possono essere utilizzati come blocchi di incremento delle modifiche FS e possibilmente trasferiti a assolutamente un altro BTRFS!
Limiti BTRFS attuali (2016-12-30):
Copia o spostamento di dati tra sottovolumi, ad es. mv dir1/dataset1 dir_subvolume1/
produce tutto il vero io per copiare i dati in un altro sottovolume e, in caso di spostamento, rimuoverli da quello originale.E molto copia efficiente di tonnellate di dati semplicemente facendo riferimenti e quindi utilizzando la funzione COW di BTRFS:
cp -a --reflink=always dir1/dataset1 dir_subvolume1/
e se necessario:
rm -rf dir1/dataset1
Sola lettura Lo snapshot del volume secondario può essere rinominato (spostato con mv
) a livello di directory esistente, ma non può essere rinominato/spostato in un livello di sottodirectory diverso. per esempio. mv /btrfs/subvol_snap1 /btrfs/.snaphots
non è possibile, produce un errore poco spiegato:mv: cannot move 'subvol_snap1' to '.snapshots/subvol_snap1': Read-only file system
.Per poter spostare un'istantanea di questo tipo, devi creare una nuova istantanea di sola lettura dell'istantanea di sola lettura esistente nella nuova posizione preferita, quindi rimuovere quella vecchia:
btrfs sub snap -r /btrfs/subvol_snap1 /btrfs/.snaphots/subvol_snap1
btrfs sub del /btrfs/subvol_snap1
Solo per vivere più facilmente:
btrfs sub list /btrfs
Spero che questo farà risparmiare un sacco di tempo a tutti i nuovi fan di btrfs :)
Se volessi rinominare il volume root in un sottovolume nidificato, dovresti crearne uno snapshot e poi fare un find $ROOT_VOL -xdev -delete
per rimuovere il contenuto precedente del volume root. La manipolazione inversa (ridenominazione di un sottovolume nel volume radice) non sembra possibile.