Ich habe eine tragbare 1-TB-Festplatte, die ich für Backups verwende. Das gesamte Laufwerk ( /dev/sdb
) wurde als ext4
Dateisystem formatiert .
Ich habe über die Vorteile von btrfs
Backups (Prüfsummen, Selbstheilung usw.) gelesen und erwäge, diese Festplatte von auf ext4
zu konvertieren btrfs
.
Ich bin mir ziemlich sicher, dass ich die Größe der Festplatte ( e2fsck -f /dev/sdb && resize2fs /dev/sdb 500G && fdisk /dev/sdb
oder ungefähr) noch ändern kann . Ich bin mir jedoch nicht sicher, wie ich Partitionen in ein Gerät "einführen" soll, das zunächst keine Partitionen hatte.
Kann das gemacht werden und wenn ja, wie?
(Beachten Sie, dass die Dateisysteme selbst - ext4
, btrfs
usw. - sind so ziemlich irrelevant - die Frage ist lediglich über eine Vorrichtung Partitionierung , die zunächst ohne Partition erstellt wurde -. Und dies ohne das bestehende Dateisystem zu verlieren)
pvmove
Datenverlagerung nachträglich hinzuzufügenAntworten:
Partitionstabellen (zumindest im MBR- oder GPT-Stil) befinden sich am Anfang und / oder Ende von Festplatten, sodass Sie sie einführen können, wenn Sie den erforderlichen Speicherplatz freigeben können.
Wenn ich mit einer Terabyte-Festplatte arbeite, gehe ich wie folgt vor.
dd
einem ähnlichen Werkzeug in die zweite Hälfte der Festplatte .dd
oder ähnliches. Sie müssen die Offsets und Größen basierend auf dem, was Sie in Schritt 2 getan haben, berechnen, aber das Ziel ist einfach (/dev/sdX1
).Mit einem Tool wie dem,
ddrescue
das umgekehrt kopieren kann, können Sie dies leicht vereinfachen:Angesichts des Kopieraufwands wäre es einfacher, die Daten an einem anderen Ort zu sichern und wiederherzustellen! Sie können den Kopieraufwand begrenzen, indem Sie den Start des ext4-Dateisystems speichern und den Rest der Daten wiederherstellen. Dies erfordert jedoch eine sorgfältigere Buchführung.
quelle
btrfs-convert
, kann es also nicht versuchen, aber ich habe in der Vergangenheit Partitionstabellen manuell zusammengefügt, damit dies funktionieren kann.dd
Dienstprogramm (oder etwas anderes) Blöcke ab dem Ende verschieben? Verschieben Sie beispielsweise Block 8 nach 9, 7 nach 8, 6 nach 7 usw. Dies kann dazu führen, dass nur ein einzigerdd
Aufruf erforderlich ist.ddrescue
kann das, also habe ich eine "einfachere" Variante hinzugefügt , die diese Fähigkeit nutzt.Ich habe ein 2-TB-Laufwerk ohne Datenverlust erfolgreich neu partitioniert. Ich wollte Backups von einer GNU / Linux-Box und einer Windows-Box durchführen, also habe ich die EXT4-Partition auf 1 TB verkleinert und eine neue 1-TB-Partition erstellt, die ich als NTFS-Dateisystem formatiert habe.
Ich musste lediglich die GUI Disks App in Ubuntu verwenden. Andere Distributionen sollten eine ähnliche GUI-App zum Verwalten von Partitionen haben. Ich stelle mir vor, dass die Verwendung von BTRFS anstelle von NTFS genauso gut funktionieren würde.
Natürlich sollten Sie auch in der Lage sein, die Neupartitionierung vom Terminal aus durchzuführen.
quelle
Ich bin verwirrt.
Sie sagten, die Festplatte sei als ext4 formatiert, Sie haben also eine Partition. Möglicherweise zeigt fdisk es nicht an, weil die Partitionstabelle der Festplatte gpt ist und Ihre fdisk es nicht unterstützt. In diesem Fall können Sie parted verwenden
Außerdem können Sie ext4 in btrfs konvertieren, wie in diesem Arch Linux-Handbuch beschrieben .
quelle
dd if=/dev/zero of=/tmp/my.ext4 bs=$((1024 * 1024)) count=1 && mkfs.ext4 -F /tmp/my.ext4 && mkdir /tmp/my.ext4.mounted && sudo mount -t ext4 /tmp/my.ext4 /tmp/my.ext4.mounted && ls -l /tmp/my.ext4.mounted
. Sie sollten ein Verzeichnis "Lost + Found" sehen. Wenn eine reguläre Datei ein Dateisystem sein kann, kann dies auch ein ganzes Blockgerät.