[gelöst] btrfs mit Subvolumes verkleinern / vergrößern?

Warum Debian und/oder eine seiner Spielarten? Was muss ich vorher wissen? Wo geht es nach der Installation weiter?
Antworten
AxelMD
Beiträge: 1382
Registriert: 15.03.2009 08:02:11

[gelöst] btrfs mit Subvolumes verkleinern / vergrößern?

Beitrag von AxelMD » 12.12.2019 16:09:24

Hallo Forum,

wie kann ich eine btrfs Partition mit Subvolumes verkleinern oder auch vergrößern?

https://wiki.debianforum.de/Btrfs

Gparted scheint das nicht zu können.

MfG

Axel
Zuletzt geändert von AxelMD am 14.12.2019 10:42:25, insgesamt 1-mal geändert.

wanne
Moderator
Beiträge: 7465
Registriert: 24.05.2010 12:39:42

Re: btrfs mit Subvolumes verkleinern / vergrößern?

Beitrag von wanne » 12.12.2019 22:57:18

Die Idee die Vergrößerungen von Dateisystemen und Partitionen in einem Schritt zu machen führte schon immer regelmäßig zu Problemen, weil die Entwickler des Tools immer etwas hinterher hinken.
Partitionen vergrößern/verändern kannst du mit cgdisk, cfdisk, gdisk, fdisk, sfdisk, sgdisk...
immer mit dem Parameter der Platte.
Also z.B.

Code: Alles auswählen

cfdisk /dev/sda
Falls das Tool vergrößern nicht anbietet kannst du auch einfach löschen und eine Partition, die an der gleichen Stelle anfängt wieder anlegen.
Der Workflow ist eher unergonomisch hat sich aber irgend wie durchgesetzt. Früher konnte fdisk auch mal direkt vergrößern.
Alle genannten Tools wenden die Änderungen erst an, wenn du auf schreiben drückst.
daneben empfiehlt es sich nach dem Ändern ein partprobe abzuschicken.

Ein btrfs-Dateisystem das nur auf einer Partition liegt kannst du damit auf die volle Größe der Partition vergrößern:

Code: Alles auswählen

btrfs filesystem resize max /home
Wichtig: Im Gegensatz zu anderen Dateisystemen will btrfs (wie für fast alles) dass man die passende Partition gemountet hat.
Du hast mit btrfs aber auch diverse Möglichkeiten das selbe Dateisystem über mehrere Partitionen zu verteilen.
Dann vergrößerst du unter Angabe der Device-ID.

Code: Alles auswählen

btrfs filesystem resize 1:max /home
Zweite Anmerkung: Hast du keine eigene /home-Partition vergrößert btrfs automatisch die root-Partition auf der /home liegt.
Ersetzt du max durch ein Größe wie 5G wird auf 5 GiB etc. vergrößert.
rot: Moderator wanne spricht, default: User wanne spricht.

AxelMD
Beiträge: 1382
Registriert: 15.03.2009 08:02:11

Re: btrfs mit Subvolumes verkleinern / vergrößern?

Beitrag von AxelMD » 13.12.2019 08:28:49

weil die Entwickler des Tools immer etwas hinterher hinken.
Hallo wanne,

welche(s) Tool(s) meinst Du damit?

Eigentlich wollte ich nur fdisk und btrfs-progs verwenden.
fdisk arbeitet doch nur mit nicht gemounteten Partitionen.

So richtig klar ist mir der Zusammenhang noch nicht.

Ich habe eine btrfs Partition mit mehreren Subvolumes, home ist ein Subvolume.

Wie schaffe ich Platz für ein weiteres ext4 Linux, d. h. ich muss die Partition verkleinern.

Wie kann ich mir den freien Speicherplatz auf dem btrfs System anzeigen lassen?

https://wiki.debianforum.de/Btrfs#Freie ... z_anzeigen

4 Befehle sind für eine Analyse des freien Speicherplatz erforderlich?

Welche Live-CD empfiehlt sich, ist hier auch gparted die Empfehlung?

Der genau Ablauf für ein Vorhaben ist mir bis jetzt nicht klar, das erst Problem ist das Mounten der btrfs Partition.
Welche Mount-Optionen wähle ich da?

Welche "aktuelle" Anleitung, Manual ist zu empfehlen, hat jemand einen "selbstgetesteten" Link für mich?

https://wiki.ubuntuusers.de/Befehle_Btr ... tem-resize

Wie habe ich die Subvolumes zu berücksichtigen?

Dann noch das:
https://access.redhat.com/documentation ... 06s03.html
It is not possible to resize a btrfs file system but it is possible to resize each of the devices it uses. If there is only one device in use then this works the same as resizing the file system. If there are multiple devices in use then they must be manually resized to achieve the desired result.
Ist das ok? Das Debian System bleibt startfähig?
https://geraldonit.com/2019/10/19/how-t ... cle-linux/


MfG

Axel
Zuletzt geändert von AxelMD am 13.12.2019 22:49:38, insgesamt 2-mal geändert.

wanne
Moderator
Beiträge: 7465
Registriert: 24.05.2010 12:39:42

Re: btrfs mit Subvolumes verkleinern / vergrößern?

Beitrag von wanne » 13.12.2019 17:29:52

AxelMD hat geschrieben: ↑ zum Beitrag ↑
13.12.2019 08:28:49
welches Tools meine Du damit?
Die von gparted und Co.
fdisk arbeitet doch nur mit nicht gemounteten Partitionen.
fdisk ist das Wurst. Zumindest früher war das ausreichend dumm, dass gar nicht feststellen konnte, ob die Partition gemountet ist oder nicht. Ich hätte trotzdem etwas Skrupel das partprobe gemounteten Zustand zu machen.
Ich habe eine btrfs Partition mit mehreren Subvolumes, home ist ein Subvolume.
Fürs Vergrößern sind subvolumes im Normalfall Wurst. Alle Subvolumes teilen sich ja den verfügbaren Platz. (Solange man keine Quotas hat.) Die Frage ist ob du mehrere Devices hast. (Du kannst ein btrfs-Dateisystem über mehrere Partitionen verteilen. Ich nehme an, dass du das nicht gemacht hast.)
Ist /home ein subvolume von / wird automatisch / (und alle Subolumes darin also auch /home) vergrößert. Das finde ich verwirrend.
Wie schaffe ich Platz für ein weiteres ext4 Linux, d. h. ich muss die Partition verkleinern.
Damit verkleinerst du das Dateisystem in /home auf 3Gib. (Danach kannst du mit fdisk auch problemlos die Partition verkleinern.)

Code: Alles auswählen

btrfs filesystem resize 3G /home
Wie kann ich mir den freien Speicherplatz auf dem btrfs System anzeigen lassen?

https://wiki.debianforum.de/Btrfs#Freie ... z_anzeigen

4 Befehle sind für eine Analyse des freien Speicherplatz erforderlich?
ImZweifelsfall ist das mit den Subvolumes halt nicht mehr so einfach. Hast du 1GiB frei kannst du das ja sowohl in /home wie auch auf / nutzen. Gleichzeitig kannst du durch Kopression zwei 1GiB große Dateien in ein 1.5GiB großes Subvolume legen. Und hast du die gleiche Datei in / und /home braucht sie den Platz nur ein mal. Entsprechend kann man den "Belegten" platz unterschiedlich berechnen. Daneben kannst du mit Quotas Platz ausschließlich in /home reservieren. Dann fehlt er in / Machst du das nicht hast du den Freien platz "doppelt" in / und /home... Für dich dürfte df -h / die relevante Größe sein.
Welche Live-CD empfiehlt sich, ist hier auch gparted die Empfehlung?
Fast egal. fdisk und so hat fast jeder an Bord. Ich hab meine eigene Debian-Live CD. Wichtig ist dass das die btrfs-progs darauf neuer sind als die btrfs-progs, mit dem formatiert wurde. (Das selbe gilt für e2fsprogs für ext4.) Ich empfehle deswegen meistens Ubuntu. Die haben meist recht aktuelle Pakete. Das Ding braucht aber ewig zum Starten.
Der genau Ablauf für ein Vorhaben ist mir bis jetzt nicht klar, das erst Problem ist das Mounten der btrfs Partition.
ich würde es dir fürs vergrößern das empfehlen:
1. Starte ne live-CD vergrößere die Partition mit fdisk/gdisk/cfdisk oder was dir sonst so behagt.
2. Reboot.
3. btrfs filesystem resize max /
Du kannst auch direkt aus dem System im gemounteten Zustand vergrößern und dann partprobe aufrufen. Mir wäre das aber unheimlich.

Zum verkleinern (auf 5GiB bei ner Partition auf der weniger als 4 GiB belegt sind):
1. btrfs filesystem resize 4G /
2. Starte ne live-CD verkleinere die partition auf 5GiB die Partition mit fdisk/gdisk/cfdisk oder was dir sonst so behagt.
3. Reboot.
4. btrfs filesystem resize max /

Welche Mount-Optionen wähle ich da?[/code]defaults
Wie habe ich die Subvolumes zu berücksichtigen?
Wie gesagt: Wenn du keine Quotas hast sind die fürs resizen Wurst. Wie gesagt: Du resizest immer das device.
It is not possible to resize a btrfs file system but it is possible to resize each of the devices it uses. If there is only one device in use then this works the same as resizing the file system. If there are multiple devices in use then they must be manually resized to achieve the desired result.
Für dich vermutlich irrelevant: Relvant wird das Dateisysteme, die sich über mehrere Devices (Meist Partitionen oder LVM-Volumes) erstrecken. Dann sind Dateisystem und Device plötzlich zwei unterschiedliche Sachen. Auf jeder Partition liegt dann ein Device. Die Größe des Dateisystem resultiert logischerweise aus den Devices und kann entsprechend nicht manuell angepasst werden. (Völlig logisch du kannst kein 3GiB Dateisystem auf 2 1GiB Devices haben...) Das stiftet bei dir glaube ich gerade Verwirrung.
Nochmal von der Idee her:
Dateien liegen in (sub)vlumes.
subvolumes liegen in volumes.
volumes liegen auf dem Datiesystem,
Ein Dateisystem liegt auf Devices.
Devices liegen in Partitionen.
Auf den beiden untersten Ebenen willst du arbeiten.
Ist das ok? Das Debian System bleibt startfähig?
Ja.
rot: Moderator wanne spricht, default: User wanne spricht.

Antworten