btrfs und mehrere Partitionen -> Anzahl verringern

Warum Debian und/oder eine seiner Spielarten? Was muss ich vorher wissen? Wo geht es nach der Installation weiter?
Antworten
scientific
Beiträge: 3022
Registriert: 03.11.2009 13:45:23
Lizenz eigener Beiträge: Artistic Lizenz
Kontaktdaten:

btrfs und mehrere Partitionen -> Anzahl verringern

Beitrag von scientific » 14.11.2014 18:42:16

Hi Leute!

Nachdem ich mich mit btrfs ein wenig auseinanderzusetzen begonnen habe, hab ich gleich mall einen Schnellschuß gemacht und natürlich gleich mal Mist gebaut...

Außerdem hab ich auf meiner HD eine GPT-Partitionstabelle installiert.

Code: Alles auswählen

root@debian: # gdisk -l /dev/sda
GPT fdisk (gdisk) version 0.8.10

Partition table scan:
  MBR: protective
  BSD: not present
  APM: not present
  GPT: present

Found valid GPT with protective MBR; using GPT.
Disk /dev/sda: 976773168 sectors, 465.8 GiB
Logical sector size: 512 bytes
Disk identifier (GUID): XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Partition table holds up to 128 entries
First usable sector is 34, last usable sector is 976773134
Partitions will be aligned on 2048-sector boundaries
Total free space is 325310445 sectors (155.1 GiB)

Number  Start (sector)    End (sector)  Size       Code  Name
   1         1032192         5126143   2.0 GiB     8200  
   2        40968192        81928191   19.5 GiB    8300  
   3       968581120       976773119   3.9 GiB     8300  
   4       960192512       968581119   4.0 GiB     8200  
   5        81928192       184328191   48.8 GiB    8300  
   6       184328192       593928191   195.3 GiB   8300  
   7       919232512       960192511   19.5 GiB    8300  
   8            6144            8191   1024.0 KiB  EF02  
   9            8192         1032191   500.0 MiB   EF00  
  10         5126144        40968191   17.1 GiB    8300  
Ich habe DANN erst gelesen, dass btrfs am besten in einer einzigen großen Partition die gesamte Festplatte verwalltet... Aber mein System läuft da schon drauf, und ich will nicht neu installieren...

Ein funktionierendes Backup besteht auch.

Ich habe korrekterweise einen Partition grub_bios dann folgt eine Swap-Partition, dann kommt eine leere, dann mehrere btrfs-Partitionen, die ich alle zu einem btrfs-Filesystem verbunden habe (mit btrfs device add)...

Code: Alles auswählen

root@debian: # btrfs filesystem show
Label: 'SYSTEM'  uuid: 6eacbed9-466c-400a-a7af-afd371036b78
	Total devices 4 FS bytes used 265.79GiB
	devid    1 size 19.53GiB used 19.50GiB path /dev/sda2
	devid    2 size 48.83GiB used 48.83GiB path /dev/sda5
	devid    3 size 19.53GiB used 19.53GiB path /dev/sda7
	devid    4 size 195.31GiB used 195.31GiB path /dev/sda6
Wie würdet ihr hier sinnvollerweise vorgehen, das System so zu transformieren, dass am Ende nach der Swap-Partition eine einzige Partition bis zum Ende mit btrfs bespielt entstanden ist?

Ich hab mir das in etwa so vorgestellt...

Als erstes mounte ich die btrfs-Partition

Code: Alles auswählen

mount -t btrfs /dev/sda2 /mnt
Da ich subvolumes darauf habe und die für /, /home und /var bestehen und ins Dateisystem gemountet werden, muss ich ja die "rohe" Partition mounten.

Die erste leere Partition formatiere ich mit btrfs und füge sie dem btrfs hinzu.

Code: Alles auswählen

btrfs device add /dev/sda10 /mnt
Dann entferne ich /dev/sda2 (die folgt auf /dev/sda10) aus dem btrfs

Code: Alles auswählen

btrfs device delete /dev/sda2 /mnt
anschließend wird /dev/sda2 gelöscht und die Partition /dev/sda10 um diesen Platz vergrößert.
Als nächster Schritt muss ich btrfs auf /dev/sda10 vergrößern mit

Code: Alles auswählen

btrfs filesystem resize max /mnt
Allerdings bin ich mir bei diesem Befehl nicht sicher, ob der stimmt, und dann wirklich nur der freie Platz auf der vergrößerten Partition /dev/sda10 zugewiesen wird...

Anschließend wiederhole ich diesen Vorgang so oft, bis nur mehr eine einzige btrfs-Partition übrig ist.

Stimmt das so? Und kann ich das auch im laufenden Betrieb machen, oder muss ich das von einer Live-CD aus tun?

lg scientific
dann putze ich hier mal nur...

Eine Auswahl meiner Skripte und systemd-units.
https://github.com/xundeenergie

auch als Debian-Repo für Testing einbindbar:
deb http://debian.xundeenergie.at/xundeenergie testing main

Benutzeravatar
smutbert
Beiträge: 8350
Registriert: 24.07.2011 13:27:39
Wohnort: Graz

Re: btrfs und mehrere Partitionen -> Anzahl verringern

Beitrag von smutbert » 14.11.2014 20:29:59

Alles auf eine externe Festplatte oder dergleichen zu kopieren und neu zu partitionieren ist keine Option? Meiner Erfahrung nach ist das das schmerzfreiste Vorgehen, wenn man mit der Grub-Kommandozeile einigermaßen zurecht kommt,


Bei deinem Setup wundert mich so einiges, du hast offensichtlich 2 Swap-Partitionen, die Partitionsnummern stimmen so überhaupt nicht mit der Andordnung auf dem Datenträger überein, die erste Partition beginnt bei Sektor 6144 (üblich wäre 2048),…

…da fallen mir konkrete Vorschläge schwer, aber deine grundsätzliche Idee ist schon richtig. Ich würde mich einmal aller SWAP-Partionen entledigen, die EFI Systempartition als Nummer 1 beginnend mit Sektor 2048 anlegen und dann (falls notwendig) die BIOS-Boot Partition.
Sonst könntest du auch von der vordersten btrfs-Partition ausgehen die nachfolgenden Partitionen aus dem Dateisystem entfernen, löschen, diese vordeste btrfs-Partition um den frei gewordenen Platz vergrößern und auch btrfs vergrößern. Je nach freiem/belegtem Speicherplatz müsstest du das Schrittweise machen…

Der Befehl

Code: Alles auswählen

btrfs filesystem resize max /mnt
wird das Dateisystem wohl auf allen zugehörigen Geräten/Partitionen vergrößern, ich denke du kannst aber auch eine bestimmte Partition/Gerätedatei angeben

Code: Alles auswählen

btrfs filesystem resize [<devid>:]max <path>
Die Geräte/Partitions-ID (<devid>) findest du mit

Code: Alles auswählen

btrfs filesystem show <path>
heraus.

Antworten