Ich habe ein BTRFS-Dateisystem mit einer Reihe von Subvolumes. So weit, ist es gut. Ich muss den Namen eines Subvolumes ändern, leider btrfs
erlaubt mir das Programm nicht, ein Subvolume umzubenennen. Die Suche mit Google hat einige Ergebnisse erbracht, von denen einer sagte, ich könne nur mv
, der andere sagte, ich könne nur snapshot
einen neuen Namen vergeben und das alte Subvolume löschen. Bevor ich meine Partition zum Absturz bringe und sie von der Sicherung neu laden muss (sie ist ziemlich groß), lautet meine Frage:
- Wie kann ein Subvolume derzeit am besten umbenannt werden?
- Ist es in Ordnung, es einfach zu
mv
machen, oder werden einige interne Strukturen ungültig? - Ist das Erstellen eines neuen Schnappschusses und das Entfernen des alten Subvolumes der richtige Weg, oder hat dies einige Nachteile?
Ich weiß, dass alles noch experimentell ist, aber für meine Zwecke hat es recht gut funktioniert (und ich habe für jeden Tag inkrementelle Backups).
linux
backup
filesystems
btrfs
hochl
quelle
quelle
Antworten:
Einfach
mv
so. Dies ist die empfohlene Vorgehensweise in der Dokumentation der Ubuntu-Community .Und um weiter zu verdeutlichen, warum dies der richtige Weg ist, finden Sie hier ein Zitat aus dem Sysadmin-Handbuch von btrfs:
quelle
Es gibt einige wichtige Dinge zu beachten. Die Benennungen:
btrfs Subvolume - unabhängiges
inside
Dateisystem für Datencontainer . Es wird als Verzeichnis des vorhandenen FS dargestellt. Wenn Sie ein neues Subvolume erstellen, ist dieses leer und kann den logischen Datenblock im Dateisystem verwenden. Sehr praktisch, wenn Daten logisch getrennt werden sollen, z. B. verschiedene VMs oder verschiedene Clients auf verschiedenen Subvolumes. Dies ermöglicht dasvery fast
Entfernen aller logischen Datenblöcke mit nur einem Subvolume-Löschbefehl.btrfs Snapshot - eine Kopie des
existing
Subvolumes mit all seinen Daten, die sich im Moment des Snapshots befinden. Kann als Betriebssicherung zum Zurücksetzen von Einstellungen oder Änderungen verwendet werden, z. B. Erstellen eines Subvolume-Snapshots, Vornehmen von Änderungen (VM oder Daten), Prüfen, ob alles in Ordnung ist. Entfernen Sie den Snapshot nach einer gewissen Nachfrist. Wichtig zu beachten: Snapshots können nur gelesen (-r
switch) und somit als Inkrementblöcke von FS-Änderungen verwendet und möglicherweise auf ein absolut anderes BTRFS übertragen werden!Aktuelle (30.12.2016) BTRFS-Einschränkungen:
Das Kopieren oder Verschieben von Daten zwischen Subvolumes, z. B.,
mv dir1/dataset1 dir_subvolume1/
erzeugt alle realen Daten, um Daten auf ein anderes Subvolume zu kopieren und im Falle eines Verschiebens von dem ursprünglichen zu entfernen. Und sehr effizientes Kopieren von Tonnen von Daten nur durch Referenzieren und damit Verwenden der COW-Funktion von BTRFS:und wenn nötig:
Ein schreibgeschützter Subvolume-Snapshot kann
mv
auf der vorhandenen Verzeichnisebene umbenannt (mit verschoben ) werden, kann jedoch nicht auf eine andere Unterverzeichnisebene umbenannt / verschoben werden. zBmv /btrfs/subvol_snap1 /btrfs/.snaphots
nicht möglich ist , erzeugt nicht viel erklärt Fehler:mv: cannot move 'subvol_snap1' to '.snapshots/subvol_snap1': Read-only file system
. Um einen solchen Schnappschuss verschieben zu können, müssen Sie einen neuen schreibgeschützten Schnappschuss eines vorhandenen schreibgeschützten Schnappschusses an den neuen bevorzugten Speicherort erstellen und dann den alten entfernen:Nur um das Leben einfacher zu machen:
Ich hoffe, das spart allen neuen btrfs-Fans jede Menge Zeit :)
quelle
Wenn Sie das Stammvolume in ein verschachteltes Subvolume umbenennen möchten, müssen Sie einen Snapshot erstellen und anschließend a ausführen,
find $ROOT_VOL -xdev -delete
um den vorherigen Inhalt des Stammvolumes zu entfernen. Die umgekehrte Manipulation (Umbenennen eines Subvolumes in das Root-Volume) scheint nicht möglich zu sein.quelle